we are using Orin nano(8GB) with custom carrier board, with L4T 36.3.
we are using as I2C IO-expander which we need to access from UEFI bootlaoder for writing some value to reset particular IC.
so please suggest us any possible ways to achieve this.
Which I2C IO-expander module you are using? I suppose that you need the custom driver to work with your IO-expander.
Have you tried to do that in kernel driver?
Do you get UEFI source for R36.3.0 and you can build it successfuly?
hi @KevinFFF ,
w.r.t to i2c slave access in UEFI level, we are following this reference , here we are nit able to identify the bus number. its uses EFI_I2C_IO_PROTOCOL,
hello @KevinFFF , we stuck at GUID for Maxim7313, while following similar implementation for maxim7313 IO expander access from UEFI by referring other imlementaion for maxim IC’s which we shared in previous post,
we may have to add similar kind of support in BpmpI2cDxe.c
We don’t have this module and cannot verify each modules on the market so that I can not give you detailed steps to enable them.
It seems there’s example driver in linux kernel for your expander. Why you don’t just use it and configure it in kernel during boot up?
You can still use common I2C Read/Write API from user space after boot up.
yes we saw a driver for MAXIM7313 IO expander in kernel, but we have requirement in such way that to modify values of particular pin high/low during UEFI stage and then set back in user level.
so we are trying to take control of I2C slave in UEFI.
Sorry that I still don’t know why you have to do it in UEFI instead of kernel.
It seems you open another topic 307551 for the same issue. Let us just discuss there.