Message ID | 20211116125814.2674343-1-alexander.stein@ew.tq-group.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/1] arm64: dts: imx8qm: Add fsl, imx7ulp-lpuart compatible to lpuart | expand |
On Tue, Nov 16, 2021 at 01:58:14PM +0100, Alexander Stein wrote: > After commit b4b844930f27 ("tty: serial: fsl_lpuart: drop earlycon entry > for i.MX8QXP") earlycon support was essentially removed from > imx8qm/imx8qxp due to missing compatible. > The commit message says "i.MX8QXP lpuart is compatible with i.MX7ULP" so > adding a fallback compatible should be fine. > With this change earlycon is supported again on imx8qm/imx8qxp. > > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> > Reviewed-by: Peng Fan <peng.fan@nxp.com> > --- > Changes in v2: > * Fix typo in commit message: 'early' -> 'earlycon' > > arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi b/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > index bbe5f5ecfb92..3486b99ab6eb 100644 > --- a/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > @@ -19,19 +19,19 @@ uart4_lpcg: clock-controller@5a4a0000 { > }; > > &lpuart0 { > - compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart"; > + compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; Then fsl,imx8qxp-lpuart should be dropped? Shawn > }; > > &lpuart1 { > - compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart"; > + compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; > }; > > &lpuart2 { > - compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart"; > + compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; > }; > > &lpuart3 { > - compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart"; > + compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; > }; > > &i2c0 { > -- > 2.25.1 >
Am Montag, dem 22.11.2021 um 09:43 +0800 schrieb Shawn Guo: > On Tue, Nov 16, 2021 at 01:58:14PM +0100, Alexander Stein wrote: > > After commit b4b844930f27 ("tty: serial: fsl_lpuart: drop earlycon > > entry > > for i.MX8QXP") earlycon support was essentially removed from > > imx8qm/imx8qxp due to missing compatible. > > The commit message says "i.MX8QXP lpuart is compatible with > > i.MX7ULP" so > > adding a fallback compatible should be fine. > > With this change earlycon is supported again on imx8qm/imx8qxp. > > > > Signed-off-by: Alexander Stein < > > alexander.stein@ew.tq-group.com > > > > > Reviewed-by: Peng Fan < > > peng.fan@nxp.com > > > > > --- > > Changes in v2: > > * Fix typo in commit message: 'early' -> 'earlycon' > > > > arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > > b/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > > index bbe5f5ecfb92..3486b99ab6eb 100644 > > --- a/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > > +++ b/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > > @@ -19,19 +19,19 @@ uart4_lpcg: clock-controller@5a4a0000 { > > }; > > > > &lpuart0 { > > - compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart"; > > + compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart", > > "fsl,imx7ulp-lpuart"; > > Then fsl,imx8qxp-lpuart should be dropped? If you drop fsl,imx8qxp-lpuart in the compatible list, fsl_lpuart.c needs a new lpuart_soc_data for imx8qm in order to work. "fsl,imx7ulp- lpuart" is not enough for imx8qm, as (among other things) "baud" clk is mising in imx7. IMHO there are 2 ways: 1st Add both fsl,imx8qxp-lpuart and fsl,imx7ulp-lpuart to the compatible list to get both regular serial support (fsl,imx8qxp-lpuart) as well as earlycon (fsl,imx7ulp-lpuart). In this case the bindings need to get fixed as well, see [1] 2nd Remove fsl,imx8qxp-lpuart compatible for imx8qm. But in this case everything done for imx8qxp in fsl_lpuart.c has to be duplicated. fsl,imx7ulp-lpuart is still required for earlycon support. If you want to get rid of fsl,imx7ulp-lpuart compatible for imx8qm/imx8qxp in either case, you need to revert b4b844930f27 ("tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP"). Best regards, Alexander [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2021-November/697507.html
On Mon, Nov 22, 2021 at 08:38:28AM +0100, Alexander Stein wrote: > Am Montag, dem 22.11.2021 um 09:43 +0800 schrieb Shawn Guo: > > On Tue, Nov 16, 2021 at 01:58:14PM +0100, Alexander Stein wrote: > > > After commit b4b844930f27 ("tty: serial: fsl_lpuart: drop earlycon > > > entry > > > for i.MX8QXP") earlycon support was essentially removed from > > > imx8qm/imx8qxp due to missing compatible. > > > The commit message says "i.MX8QXP lpuart is compatible with > > > i.MX7ULP" so > > > adding a fallback compatible should be fine. > > > With this change earlycon is supported again on imx8qm/imx8qxp. > > > > > > Signed-off-by: Alexander Stein < > > > alexander.stein@ew.tq-group.com > > > > > > > Reviewed-by: Peng Fan < > > > peng.fan@nxp.com > > > > > > > --- > > > Changes in v2: > > > * Fix typo in commit message: 'early' -> 'earlycon' > > > > > > arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi | 8 ++++---- > > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > > > diff --git a/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > > > b/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > > > index bbe5f5ecfb92..3486b99ab6eb 100644 > > > --- a/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > > > +++ b/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi > > > @@ -19,19 +19,19 @@ uart4_lpcg: clock-controller@5a4a0000 { > > > }; > > > > > > &lpuart0 { > > > - compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart"; > > > + compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart", > > > "fsl,imx7ulp-lpuart"; > > > > Then fsl,imx8qxp-lpuart should be dropped? > > If you drop fsl,imx8qxp-lpuart in the compatible list, fsl_lpuart.c > needs a new lpuart_soc_data for imx8qm in order to work. "fsl,imx7ulp- > lpuart" is not enough for imx8qm, as (among other things) "baud" clk is > mising in imx7. IMHO there are 2 ways: > > 1st > Add both fsl,imx8qxp-lpuart and fsl,imx7ulp-lpuart to the compatible > list to get both regular serial support (fsl,imx8qxp-lpuart) as well as > earlycon (fsl,imx7ulp-lpuart). In this case the bindings need to get > fixed as well, see [1] > > 2nd > Remove fsl,imx8qxp-lpuart compatible for imx8qm. But in this case > everything done for imx8qxp in fsl_lpuart.c has to be duplicated. > fsl,imx7ulp-lpuart is still required for earlycon support. > > If you want to get rid of fsl,imx7ulp-lpuart compatible for > imx8qm/imx8qxp in either case, you need to revert b4b844930f27 ("tty: > serial: fsl_lpuart: drop earlycon entry for i.MX8QXP"). It looks to me that commit b4b844930f27 caused a regression for imx8qm, so should be reverted. Shawn
diff --git a/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi b/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi index bbe5f5ecfb92..3486b99ab6eb 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi @@ -19,19 +19,19 @@ uart4_lpcg: clock-controller@5a4a0000 { }; &lpuart0 { - compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart"; + compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; }; &lpuart1 { - compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart"; + compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; }; &lpuart2 { - compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart"; + compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; }; &lpuart3 { - compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart"; + compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; }; &i2c0 {