Hi Michal,

On 2/15/24 14:53, John Ernberg wrote:
> Hi Michal,
> 
> On 2/15/24 10:02, Michal Orzel wrote:
>> Hi,
>>
>> On 14/02/2024 17:06, John Ernberg wrote:
>>>
>>>
>>> When using Linux for dom0 there are a bunch of drivers that need to 
>>> do SMC
>>> SIP calls into the firmware to enable certain hardware bits like the
>>> watchdog.
>>>
>>> Provide a basic platform glue that implements the needed SMC forwarding.
>>>
>>> The format of these calls are as follows:
>>>   - reg 0: service ID
>>>   - reg 1: function ID
>>>   remaining regs: args
>>>
>>> For now we only allow Dom0 to make these calls as they are all managing
>>> hardware. There is no specification for these SIP calls, the IDs and 
>>> names
>>> have been extracted from the upstream linux kernel and the vendor 
>>> kernel.
>>>
>>> Most of the SIP calls are only available for the iMX8M series of 
>>> SoCs, so
>>> they are easy to reject and they need to be revisited when iMX8M series
>>> support is added.
>> Given that you named your driver *qm and you search for dt compatible 
>> *qm, *qxp, does it really
>> make sense to add SIP calls for iMX8M?
> 
> The idea was to be explicit about why it makes no sense to support those 
> SIPs on a qm/qxp implementation.
> 
> I can take it out if that's not argument enough to have them.

[ ... ]

>>> +#define IMX_SIP_GET_SOC_INFO 0xC2000006
>>> +#define IMX_SIP_NOC          0xC2000008
>>> +#define IMX_SIP_WAKEUP_SRC   0xC2000009
>>> +#define IMX_SIP_OTP_WRITE    0xC200000B
>> Looking at ATF, for QM,QXP there are also:
>> BUILDINFO 0xC2000003
>> OTP_READ  0xC200000A
>> SET_TEMP  0xC200000C
> 
> I can't find them in the current Linux code, perhaps deprecated.
> I can add them and deny them if it makes sense.
>>
>>> +
>>> +#define IMX_SIP_TIME_F_RTC_SET_TIME     0x00
>>> +#define IMX_SIP_TIME_F_WDOG_START       0x01
>>> +#define IMX_SIP_TIME_F_WDOG_STOP        0x02
>>> +#define IMX_SIP_TIME_F_WDOG_SET_ACT     0x03
>>> +#define IMX_SIP_TIME_F_WDOG_PING        0x04
>>> +#define IMX_SIP_TIME_F_WDOG_SET_TIMEOUT 0x05
>>> +#define IMX_SIP_TIME_F_WDOG_GET_STAT    0x06
>>> +#define IMX_SIP_TIME_F_WDOG_SET_PRETIME 0x07
>>> +

Ping.

Thanks! // John Ernberg

Reply via email to