From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Mon, 28 Dec 2020 20:32:48 -0700 Subject: [PATCH v1 3/3] xea: config: Disable CONFIG_SPL_OF_PLATDATA_PARENT on XEA (imx28) In-Reply-To: <20201226000902.23020-4-lukma@denx.de> References: <20201226000902.23020-1-lukma@denx.de> <20201226000902.23020-4-lukma@denx.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Lukasz, On Fri, 25 Dec 2020 at 17:09, Lukasz Majewski wrote: > > On the XEA board (imx28) one needs in the SPL support for GPIO, MMC and > SPI. Two last ones are necessary for booting the device. The GPIO support > allows deciding which medium will be used. For example the GPIO DTS node > (gpio at 0 at imx28.dtsi) has pinctrl parent (pinctrl at 80018000) for which we > don't need driver asigned for correct operation. > In the spl/dts/dt-platdata.c the gpio at 0 has index 4 and its parent - > pinctrl at 80018000 has index 5. > > In the bind_drivers_pass() function (at drivers/core/lists.c) call to > device_bind_by_name() for `fsl_imx23_pinctrl` returns -2, which is > expected. > > With current setup - when the SPL_OF_PLATDATA_PARENT=y > The gpio at 0 node with index 4 is skipped as its parent with 5 is not yet > bound. It cannot be as we don't need and provide the driver for it. > As a result the gpio at 0 is never bound and we end up with bricked board in > the SPL stage. > > When CONFIG_SPL_OF_PLATDATA_PARENT is NOT set, all entries from > spl/dts/dt-platdata.c are scanned in ascending index order, so gpio at 0 is > properly initialized. For `fsl_imx_pinctrl` we simply check 10 times if > the driver for is available (which is not) and exit. > > As a result the GPIOs are initialized and can be used in early SPL stage. > This commit fixes XEA regression introduced with e41651fffda7da55f6. > > Signed-off-by: Lukasz Majewski > > --- > > configs/imx28_xea_defconfig | 1 + > 1 file changed, 1 insertion(+) Would it not be better to provide the parent driver? With the new of-platdata I don't think this is going to work. Anyway, to fix for this release: Reviewed-by: Simon Glass Regards, Simon