[PATCH] board: gateworks: venice: poll I2C lines to wait for GSC firmware
Tim Harvey
tharvey at gateworks.com
Fri Aug 12 18:01:25 CEST 2022
On Thu, Aug 11, 2022 at 5:39 PM Peng Fan <peng.fan at oss.nxp.com> wrote:
>
>
>
> On 8/12/2022 2:59 AM, Tim Harvey wrote:
> > In some situations the GSC firmware where the EEPROM containing the
> > model and DRAM configuration may not be ready by the time the SoC
> > is ready to talk to it over I2C.
> >
> > Instead of a hard delay, poll the I2C lines to wait until they are
> > released to avoid the I2C drivers 'Arbitation lost' error message.
> >
> > Signed-off-by: Tim Harvey <tharvey at gateworks.com>
> > ---
> > arch/arm/dts/imx8mm-venice.dts | 13 +++++++++++-
> > arch/arm/dts/imx8mn-venice.dts | 13 +++++++++++-
> > arch/arm/dts/imx8mp-venice.dts | 13 +++++++++++-
> > board/gateworks/venice/spl.c | 39 ++++++++++++++++++++++------------
> > 4 files changed, 61 insertions(+), 17 deletions(-)
> >
> > diff --git a/arch/arm/dts/imx8mm-venice.dts b/arch/arm/dts/imx8mm-venice.dts
> > index 39b030691e53..a1f292fbd9d3 100644
> > --- a/arch/arm/dts/imx8mm-venice.dts
> > +++ b/arch/arm/dts/imx8mm-venice.dts
> > @@ -23,8 +23,11 @@
> >
> > &i2c1 {
> > clock-frequency = <100000>;
> > - pinctrl-names = "default";
> > + pinctrl-names = "default", "gpio";
> > pinctrl-0 = <&pinctrl_i2c1>;
> > + pinctrl-1 = <&pinctrl_i2c1_gpio>;
> > + scl-gpios = <&gpio5 14 GPIO_ACTIVE_HIGH>;
> > + sda-gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>;
> > status = "okay";
> >
> > gsc: gsc at 20 {
> > @@ -89,6 +92,14 @@
> > >;
> > };
> >
> > + pinctrl_i2c1_gpio: i2c1grp-gpio-grp {
> > + fsl,pins = <
> > + MX8MM_IOMUXC_I2C1_SCL_GPIO5_IO14 0x400001c3
> > + MX8MM_IOMUXC_I2C1_SDA_GPIO5_IO15 0x400001c3
> > + >;
> > + u-boot,dm-spl;
> u-boot,dm-spl should be in xx-u-boot.dtsi
>
Peng,
Thanks for catching this! I will fix this and the others in this patch
and send a new version.
Best Regards,
Tim
More information about the U-Boot
mailing list