Message ID | 877d0cp6fg.fsf@tarshish |
---|---|
State | RFC |
Delegated to: | Stefano Babic |
Headers | show |
Series | DM_SERIAL for i.MX6 Hummingboard/Cubox-i | expand |
Hi Baruch, On Thu, Nov 3, 2022 at 9:29 AM Baruch Siach <baruch@tkos.co.il> wrote: > > Hi u-boot list, > > I am trying to migrate the Hummingboard platform to DM_SERIAL. See below > what I got so far. Booting this on top of master (as of commit > 8bc87a4c5) shows nothing on the serial console. Next thing I plan to try > is toggle GPIOs in entry code to see how far the code proceeds. > > Any idea where to look before I go down that way? > > Thanks, > baruch > > diff --git a/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi b/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi > index 400b885e4370..8507b818d4cf 100644 > --- a/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi > +++ b/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi > @@ -15,6 +15,10 @@ > }; > }; > > +&uart1 { > + u-boot,dm-pre-reloc; > +}; Here you also need to pass &aips1, &pinctrl_uart1, and &soc. Please look at the following commit for reference: commit 8fbca1a8b9b02fbc40147401d9af764e07dc96af Author: Fabio Estevam <festevam@denx.de> Date: Tue Mar 15 17:47:05 2022 -0300 tbs2910: Convert to DM_SERIAL Conversion to DM_SERIAL is mandatory. Select DM_SERIAL and add a imx6q-tbs2910-u-boot.dtsi file that describes the nodes that require dm-pre-reloc, which allows the DM model to configure the UART pinctrl early. Remove the now unneeded board UART initialization. Signed-off-by: Fabio Estevam <festevam@denx.de> Tested-by: Soeren Moch <smoch@web.de>
Hi Fabio, On Thu, Nov 03 2022, Fabio Estevam wrote: > On Thu, Nov 3, 2022 at 9:29 AM Baruch Siach <baruch@tkos.co.il> wrote: >> I am trying to migrate the Hummingboard platform to DM_SERIAL. See below >> what I got so far. Booting this on top of master (as of commit >> 8bc87a4c5) shows nothing on the serial console. Next thing I plan to try >> is toggle GPIOs in entry code to see how far the code proceeds. >> >> Any idea where to look before I go down that way? >> >> Thanks, >> baruch >> >> diff --git a/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi b/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi >> index 400b885e4370..8507b818d4cf 100644 >> --- a/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi >> +++ b/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi >> @@ -15,6 +15,10 @@ >> }; >> }; >> >> +&uart1 { >> + u-boot,dm-pre-reloc; >> +}; > > Here you also need to pass &aips1, &pinctrl_uart1, and &soc. I tried this (see below) but no luck yet. The tbs2910 appears not to use SPL. I might be missing an SPL driver. Thanks for your help, baruch diff --git a/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi b/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi index 400b885e4370..e1cb9b3e89ec 100644 --- a/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi +++ b/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi @@ -15,6 +15,22 @@ }; }; +&soc { + u-boot,dm-pre-reloc; +}; + +&aips1 { + u-boot,dm-pre-reloc; +}; + +&pinctrl_microsom_uart1 { + u-boot,dm-pre-reloc; +}; + +&uart1 { + u-boot,dm-pre-reloc; +}; + &gpio2 { u-boot,dm-pre-reloc; }; diff --git a/configs/mx6cuboxi_defconfig b/configs/mx6cuboxi_defconfig index 9de5e77c75ad..9d7b2764c969 100644 --- a/configs/mx6cuboxi_defconfig +++ b/configs/mx6cuboxi_defconfig @@ -46,7 +46,6 @@ CONFIG_OF_CONTROL=y CONFIG_SPL_OF_CONTROL=y CONFIG_OF_LIST="imx6dl-hummingboard2-emmc-som-v15 imx6q-hummingboard2-emmc-som-v15" CONFIG_MULTI_DTB_FIT=y -CONFIG_SPL_OF_PLATDATA=y CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y @@ -65,9 +64,11 @@ CONFIG_FEC_MXC=y CONFIG_RGMII=y CONFIG_MII=y CONFIG_PINCTRL=y +CONFIG_SPL_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_DM_REGULATOR=y CONFIG_DM_REGULATOR_FIXED=y +CONFIG_DM_SERIAL=y CONFIG_MXC_UART=y CONFIG_DM_THERMAL=y CONFIG_IMX_THERMAL=y > Please look at the following commit for reference: > > commit 8fbca1a8b9b02fbc40147401d9af764e07dc96af > Author: Fabio Estevam <festevam@denx.de> > Date: Tue Mar 15 17:47:05 2022 -0300 > > tbs2910: Convert to DM_SERIAL > > Conversion to DM_SERIAL is mandatory. > > Select DM_SERIAL and add a imx6q-tbs2910-u-boot.dtsi file > that describes the nodes that require dm-pre-reloc, which allows > the DM model to configure the UART pinctrl early. > > Remove the now unneeded board UART initialization. > > Signed-off-by: Fabio Estevam <festevam@denx.de> > Tested-by: Soeren Moch <smoch@web.de>
Hi Baruch, On Thu, Nov 3, 2022 at 11:06 AM Baruch Siach <baruch@tkos.co.il> wrote: > I tried this (see below) but no luck yet. The tbs2910 appears not to use > SPL. I might be missing an SPL driver. That's a good point. imx8mm_evk_defconfig has been converted to DM_SERIAL and it uses SPL. > +&soc { > + u-boot,dm-pre-reloc; Please try using u-boot,dm-spl for all nodes instead.
Hi Baruch,
On Thu, Nov 3, 2022 at 11:15 AM Fabio Estevam <festevam@gmail.com> wrote:
> Please try using u-boot,dm-spl for all nodes instead.
In addition to using u-boot,dm-spl, please try calling
spl_early_init() like done here:
https://source.denx.de/u-boot/u-boot/-/commit/7cf388fa6977136dd2384bd746d237efc306c829
On Thu, Nov 3, 2022 at 11:28 AM Fabio Estevam <festevam@gmail.com> wrote: > > Hi Baruch, > > On Thu, Nov 3, 2022 at 11:15 AM Fabio Estevam <festevam@gmail.com> wrote: > > > Please try using u-boot,dm-spl for all nodes instead. > > In addition to using u-boot,dm-spl, please try calling > spl_early_init() like done here: > https://source.denx.de/u-boot/u-boot/-/commit/7cf388fa6977136dd2384bd746d237efc306c829 Interestingly, on a wandboard I did: diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig index 70b4cf9ffaa3..33d9db56e1cb 100644 --- a/configs/wandboard_defconfig +++ b/configs/wandboard_defconfig @@ -72,6 +72,7 @@ CONFIG_PINCTRL_IMX6=y CONFIG_DM_PMIC=y CONFIG_DM_PMIC_PFUZE100=y CONFIG_DM_SCSI=y +CONFIG_DM_SERIAL=y CONFIG_MXC_UART=y CONFIG_DM_THERMAL=y CONFIG_USB=y and it boots fine.
Hi Fabio, On Thu, Nov 03 2022, Fabio Estevam wrote: > On Thu, Nov 3, 2022 at 11:15 AM Fabio Estevam <festevam@gmail.com> wrote: > >> Please try using u-boot,dm-spl for all nodes instead. > > In addition to using u-boot,dm-spl, please try calling > spl_early_init() like done here: > https://source.denx.de/u-boot/u-boot/-/commit/7cf388fa6977136dd2384bd746d237efc306c829 That did the trick. Thanks. A patch is forthcoming. baruch
Hi Fabio, On Thu, Nov 03 2022, Fabio Estevam wrote: > On Thu, Nov 3, 2022 at 11:28 AM Fabio Estevam <festevam@gmail.com> wrote: >> On Thu, Nov 3, 2022 at 11:15 AM Fabio Estevam <festevam@gmail.com> wrote: >> >> > Please try using u-boot,dm-spl for all nodes instead. >> >> In addition to using u-boot,dm-spl, please try calling >> spl_early_init() like done here: >> https://source.denx.de/u-boot/u-boot/-/commit/7cf388fa6977136dd2384bd746d237efc306c829 > > Interestingly, on a wandboard I did: > > diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig > index 70b4cf9ffaa3..33d9db56e1cb 100644 > --- a/configs/wandboard_defconfig > +++ b/configs/wandboard_defconfig > @@ -72,6 +72,7 @@ CONFIG_PINCTRL_IMX6=y > CONFIG_DM_PMIC=y > CONFIG_DM_PMIC_PFUZE100=y > CONFIG_DM_SCSI=y > +CONFIG_DM_SERIAL=y > CONFIG_MXC_UART=y > CONFIG_DM_THERMAL=y > CONFIG_USB=y > > and it boots fine. Without any u-boot,dm-pre-reloc or u-boot,dm-spl? I don't see any for wandboard DT files in current master. baruch
Hi Baruch, On Thu, Nov 3, 2022 at 12:33 PM Baruch Siach <baruch@tkos.co.il> wrote: > Without any u-boot,dm-pre-reloc or u-boot,dm-spl? I don't see any for > wandboard DT files in current master. Correct, just passing CONFIG_DM_SERIAL=y boots fine on wandboard. It does not have a imx6qdl-wandboard-u-boot.dtsi currently, so u-boot,dm-spl is not being passed.
diff --git a/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi b/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi index 400b885e4370..8507b818d4cf 100644 --- a/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi +++ b/arch/arm/dts/imx6qdl-hummingboard2-emmc-som-v15-u-boot.dtsi @@ -15,6 +15,10 @@ }; }; +&uart1 { + u-boot,dm-pre-reloc; +}; + &gpio2 { u-boot,dm-pre-reloc; }; diff --git a/configs/mx6cuboxi_defconfig b/configs/mx6cuboxi_defconfig index 9de5e77c75ad..a29e973eccce 100644 --- a/configs/mx6cuboxi_defconfig +++ b/configs/mx6cuboxi_defconfig @@ -46,7 +46,6 @@ CONFIG_OF_CONTROL=y CONFIG_SPL_OF_CONTROL=y CONFIG_OF_LIST="imx6dl-hummingboard2-emmc-som-v15 imx6q-hummingboard2-emmc-som-v15" CONFIG_MULTI_DTB_FIT=y -CONFIG_SPL_OF_PLATDATA=y CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y @@ -68,6 +67,8 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_DM_REGULATOR=y CONFIG_DM_REGULATOR_FIXED=y +CONFIG_SPECIFY_CONSOLE_INDEX=y +CONFIG_DM_SERIAL=y CONFIG_MXC_UART=y CONFIG_DM_THERMAL=y CONFIG_IMX_THERMAL=y