blob: 52d377892330a4f8f046518a5881767179344c75 [file] [log] [blame]
.. _OPAL_LPC_READ:
OPAL_LPC_READ
=============
.. code-block:: c
#define OPAL_LPC_READ 67
/*
* Address cycle types for LPC accesses. These also correspond
* to the content of the first cell of the "reg" property for
* device nodes on the LPC bus
*/
enum OpalLPCAddressType {
OPAL_LPC_MEM = 0,
OPAL_LPC_IO = 1,
OPAL_LPC_FW = 2,
};
int64_t opal_lpc_read(uint32_t chip_id, enum OpalLPCAddressType addr_type,
uint32_t addr, uint32_t *data, uint32_t sz);
This function related to Low Pin Count (LPC) bus. This function reads the
data from IDSEL register for ``chip_id``, which has LPC information.
From ``addr`` for ``addr_type`` with read size ``sz`` bytes in to a
variable named ``data``.
Parameters
----------
``chip_id``
The ``chip_id`` parameter contains value of the chip number identified at
boot time.
``addr_type``
The ``addr_type`` is one of the LPC supported address types.
Supported address types are:
- LPC memory,
- LPC IO and
- LPC firmware.
``addr``
The ``addr`` from which the data has to be read.
``data``
The ``data`` will be used to store the read data.
``sz``
How many ``sz`` bytes to be read in to ``data``.
Return Codes
------------
:ref:`OPAL_PARAMETER`
Indicates either ``chip_id`` not found or ``chip_id`` doesnt contain
LPC information.
:ref:`OPAL_SUCCESS`
Indicates Success!
.. _OPAL_LPC_WRITE:
OPAL_LPC_WRITE
==============
.. code-block:: c
#define OPAL_LPC_WRITE 68
/*
* Address cycle types for LPC accesses. These also correspond
* to the content of the first cell of the "reg" property for
* device nodes on the LPC bus
*/
enum OpalLPCAddressType {
OPAL_LPC_MEM = 0,
OPAL_LPC_IO = 1,
OPAL_LPC_FW = 2,
};
int64_t opal_lpc_write(uint32_t chip_id, enum OpalLPCAddressType addr_type,
uint32_t addr, uint32_t data, uint32_t sz);
This function related to Low Pin Count (LPC) bus. This function writes the
``data`` in to ECCB register for ``chip_id``, which has LPC information.
From ``addr`` for ``addr_type`` with write size ``sz`` bytes.
Parameters
----------
``chip_id``
The ``chip_id`` parameter contains value of the chip number identified at
boot time.
``addr_type``
The ``addr_type`` is one of the address types LPC supported.
Supported address types are:
- LPC memory,
- LPC IO and
- LPC firmware.
``addr``
The ``addr`` to where the ``data`` need to be written.
``data``
The ``data`` for writing.
``sz``
How many ``sz`` bytes to write.
Return Codes
------------
:ref:`OPAL_PARAMETER`
Indicates either ``chip_id`` not found or ``chip_id`` doesnt contain LPC
information.
:ref:`OPAL_SUCCESS`
Indicates Success!