Message ID | 1378688408-8689-1-git-send-email-festevam@gmail.com |
---|---|
State | New |
Headers | show |
On Sun, Sep 08, 2013 at 10:00:07PM -0300, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > Allow booting a device tree kernel on mx6solo. > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> > --- > arch/arm/boot/dts/imx6s.dtsi | 82 ++++++++++++++++++++++++++++++++++++++++++ The imx6s is not another SoC but just imx6dl with one core fused out. This is the exactly same case as imx6q and imx6d. See commit dc13ba2 (ARM: imx: do not bring up unavailable cores) for how we handle that in kernel. Are you running into any problem to boot imx6s wandboard with imx6dl-wandboard.dtb? Shawn
On Mon, Sep 9, 2013 at 12:08 PM, Shawn Guo <shawn.guo@linaro.org> wrote: > On Sun, Sep 08, 2013 at 10:00:07PM -0300, Fabio Estevam wrote: >> From: Fabio Estevam <fabio.estevam@freescale.com> >> >> Allow booting a device tree kernel on mx6solo. >> >> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> >> --- >> arch/arm/boot/dts/imx6s.dtsi | 82 ++++++++++++++++++++++++++++++++++++++++++ > > The imx6s is not another SoC but just imx6dl with one core fused out. > This is the exactly same case as imx6q and imx6d. See commit dc13ba2 > (ARM: imx: do not bring up unavailable cores) for how we handle that > in kernel. > > Are you running into any problem to boot imx6s wandboard with > imx6dl-wandboard.dtb? Ok, I made this test and it booted fine. So I will change U-boot so that it searches for imx6dl-wandboard.dtb instead of imx6s-wandboard.dtb.
On Mon, Sep 9, 2013 at 10:59 AM, Fabio Estevam <festevam@gmail.com> wrote: > On Mon, Sep 9, 2013 at 12:08 PM, Shawn Guo <shawn.guo@linaro.org> wrote: >> On Sun, Sep 08, 2013 at 10:00:07PM -0300, Fabio Estevam wrote: >>> From: Fabio Estevam <fabio.estevam@freescale.com> >>> >>> Allow booting a device tree kernel on mx6solo. >>> >>> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> >>> --- >>> arch/arm/boot/dts/imx6s.dtsi | 82 ++++++++++++++++++++++++++++++++++++++++++ >> >> The imx6s is not another SoC but just imx6dl with one core fused out. >> This is the exactly same case as imx6q and imx6d. See commit dc13ba2 >> (ARM: imx: do not bring up unavailable cores) for how we handle that >> in kernel. >> >> Are you running into any problem to boot imx6s wandboard with >> imx6dl-wandboard.dtb? > > Ok, I made this test and it booted fine. > > So I will change U-boot so that it searches for imx6dl-wandboard.dtb > instead of imx6s-wandboard.dtb. Since there is no WiFi/Bluetooth on the "solo" vs the wandboard dual lite, we should really still have a separate solo dtb file.. Regards,
On Mon, Sep 9, 2013 at 1:19 PM, Robert Nelson <robertcnelson@gmail.com> wrote: >> Ok, I made this test and it booted fine. >> >> So I will change U-boot so that it searches for imx6dl-wandboard.dtb >> instead of imx6s-wandboard.dtb. > > Since there is no WiFi/Bluetooth on the "solo" vs the wandboard dual > lite, we should really still have a separate solo dtb file.. I think we could still represent the im6solo-wandboard using the imx6dl-wandboard.dts. In the case of lack of bcm4329 populated on a mx6solo board, the SDHC3 port will just not probe bcm4329 without any negative effect, right?
On Tue, Sep 10, 2013 at 07:42:04AM -0700, Kevin Hilman wrote: > Fabio Estevam <festevam@gmail.com> writes: > > > On Mon, Sep 9, 2013 at 1:19 PM, Robert Nelson <robertcnelson@gmail.com> wrote: > > > >>> Ok, I made this test and it booted fine. > >>> > >>> So I will change U-boot so that it searches for imx6dl-wandboard.dtb > >>> instead of imx6s-wandboard.dtb. > >> > >> Since there is no WiFi/Bluetooth on the "solo" vs the wandboard dual > >> lite, we should really still have a separate solo dtb file.. > > > > I think we could still represent the im6solo-wandboard using the > > imx6dl-wandboard.dts. > > > > In the case of lack of bcm4329 populated on a mx6solo board, the SDHC3 > > port will just not probe bcm4329 without any negative effect, right? > > I've noticed in my auto build/boot[1] that booting a wandboard solo with > imx6dl-wandboard.dtb actually faults[2]. Just disabling usdhc2[3] makes > it boot fine. > > This only happens on current linus/HEAD. v3.11 boots fine as does > linux-next (as of next-20130910.) It may be because commit 2af502c (mmc: sdhci: request irq after sdhci_init() is called) which is on linux-next right now hasn't landed on mainline yet. Shawn
On Tue, Sep 10, 2013 at 8:05 AM, Shawn Guo <shawn.guo@linaro.org> wrote: > On Tue, Sep 10, 2013 at 07:42:04AM -0700, Kevin Hilman wrote: >> Fabio Estevam <festevam@gmail.com> writes: >> >> > On Mon, Sep 9, 2013 at 1:19 PM, Robert Nelson <robertcnelson@gmail.com> wrote: >> > >> >>> Ok, I made this test and it booted fine. >> >>> >> >>> So I will change U-boot so that it searches for imx6dl-wandboard.dtb >> >>> instead of imx6s-wandboard.dtb. >> >> >> >> Since there is no WiFi/Bluetooth on the "solo" vs the wandboard dual >> >> lite, we should really still have a separate solo dtb file.. >> > >> > I think we could still represent the im6solo-wandboard using the >> > imx6dl-wandboard.dts. >> > >> > In the case of lack of bcm4329 populated on a mx6solo board, the SDHC3 >> > port will just not probe bcm4329 without any negative effect, right? >> >> I've noticed in my auto build/boot[1] that booting a wandboard solo with >> imx6dl-wandboard.dtb actually faults[2]. Just disabling usdhc2[3] makes >> it boot fine. >> >> This only happens on current linus/HEAD. v3.11 boots fine as does >> linux-next (as of next-20130910.) > > It may be because commit 2af502c (mmc: sdhci: request irq after > sdhci_init() is called) which is on linux-next right now hasn't landed > on mainline yet. Yup, linus/HEAD + that commit makes things work again. Thanks. Kevin
diff --git a/arch/arm/boot/dts/imx6s.dtsi b/arch/arm/boot/dts/imx6s.dtsi new file mode 100644 index 0000000..461f44c --- /dev/null +++ b/arch/arm/boot/dts/imx6s.dtsi @@ -0,0 +1,82 @@ +/* + * Copyright 2013 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + */ + +#include "imx6dl-pinfunc.h" +#include "imx6qdl.dtsi" + +/ { + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "arm,cortex-a9"; + device_type = "cpu"; + reg = <0>; + next-level-cache = <&L2>; + }; + }; + + soc { + ocram: sram@00900000 { + compatible = "mmio-sram"; + reg = <0x00900000 0x20000>; + clocks = <&clks 142>; + }; + + aips1: aips-bus@02000000 { + iomuxc: iomuxc@020e0000 { + compatible = "fsl,imx6dl-iomuxc"; + }; + + pxp: pxp@020f0000 { + reg = <0x020f0000 0x4000>; + interrupts = <0 98 0x04>; + }; + + epdc: epdc@020f4000 { + reg = <0x020f4000 0x4000>; + interrupts = <0 97 0x04>; + }; + + lcdif: lcdif@020f8000 { + reg = <0x020f8000 0x4000>; + interrupts = <0 39 0x04>; + }; + }; + + aips2: aips-bus@02100000 { + i2c4: i2c@021f8000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "fsl,imx1-i2c"; + reg = <0x021f8000 0x4000>; + interrupts = <0 35 0x04>; + status = "disabled"; + }; + }; + }; +}; + +&ldb { + clocks = <&clks 33>, <&clks 34>, + <&clks 39>, <&clks 40>, + <&clks 135>, <&clks 136>; + clock-names = "di0_pll", "di1_pll", + "di0_sel", "di1_sel", + "di0", "di1"; + + lvds-channel@0 { + crtcs = <&ipu1 0>, <&ipu1 1>; + }; + + lvds-channel@1 { + crtcs = <&ipu1 0>, <&ipu1 1>; + }; +}; diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 29a8af6..9d96be8 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -784,7 +784,7 @@ config SOC_IMX53 This enables support for Freescale i.MX53 processor. config SOC_IMX6Q - bool "i.MX6 Quad/DualLite support" + bool "i.MX6 Quad/DualLite/Solo support" select ARCH_HAS_CPUFREQ select ARCH_HAS_OPP select ARM_ERRATA_754322 @@ -809,7 +809,7 @@ config SOC_IMX6Q select PM_OPP if PM help - This enables support for Freescale i.MX6 Quad processor. + This enables support for Freescale i.MX6 Q/DL/S processors. config SOC_IMX6SL bool "i.MX6 SoloLite support" diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c index 85a1b51..3d22a6c 100644 --- a/arch/arm/mach-imx/mach-imx6q.c +++ b/arch/arm/mach-imx/mach-imx6q.c @@ -299,10 +299,11 @@ static void __init imx6q_timer_init(void) static const char *imx6q_dt_compat[] __initdata = { "fsl,imx6dl", "fsl,imx6q", + "fsl,imx6s", NULL, }; -DT_MACHINE_START(IMX6Q, "Freescale i.MX6 Quad/DualLite (Device Tree)") +DT_MACHINE_START(IMX6Q, "Freescale i.MX6 Q/DL/S (Device Tree)") .smp = smp_ops(imx_smp_ops), .map_io = imx6q_map_io, .init_irq = imx6q_init_irq,