Message ID | 1353019586-21043-6-git-send-email-maxime.ripard@free-electrons.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11/15/2012 11:46 PM, Maxime Ripard wrote: > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/sun5i-olinuxino.dts | 30 +++++++++++++++++ > arch/arm/boot/dts/sun5i.dtsi | 58 +++++++++++++++++++++++++++++++++ > 3 files changed, 89 insertions(+) > create mode 100644 arch/arm/boot/dts/sun5i-olinuxino.dts > create mode 100644 arch/arm/boot/dts/sun5i.dtsi > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index f37cf9f..9b2d3f0 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -84,6 +84,7 @@ dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \ > spear310-evb.dtb \ > spear320-evb.dtb > dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb > +dtb-$(CONFIG_ARCH_SUNXI) += sun5i-olinuxino.dtb > dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ > tegra20-medcom-wide.dtb \ > tegra20-paz00.dtb \ > diff --git a/arch/arm/boot/dts/sun5i-olinuxino.dts b/arch/arm/boot/dts/sun5i-olinuxino.dts > new file mode 100644 > index 0000000..add1e60 > --- /dev/null > +++ b/arch/arm/boot/dts/sun5i-olinuxino.dts > @@ -0,0 +1,30 @@ > +/* > + * Copyright 2012 Maxime Ripard > + * > + * Maxime Ripard <maxime.ripard@free-electrons.com> > + * > + * The code contained herein is licensed under the GNU General Public > + * License. You may obtain a copy of the GNU General Public License > + * Version 2 or later at the following locations: > + * > + * http://www.opensource.org/licenses/gpl-license.html > + * http://www.gnu.org/copyleft/gpl.html > + */ > + > +/dts-v1/; > +/include/ "sun5i.dtsi" > + > +/ { > + model = "Olimex A13-Olinuxino"; > + compatible = "olimex,a13-olinuxino", "allwinner,sun5i"; > + > + memory { > + reg = <0x40000000 0x40000000>; > + }; Sure that the board support 1GiB of RAM? AFAIK A13 only supports 512MiB. Please re-check. > + soc { > + duart: uart@01c28400 { > + status = "okay"; > + }; > + }; > +}; > diff --git a/arch/arm/boot/dts/sun5i.dtsi b/arch/arm/boot/dts/sun5i.dtsi > new file mode 100644 > index 0000000..5797323 > --- /dev/null > +++ b/arch/arm/boot/dts/sun5i.dtsi > @@ -0,0 +1,58 @@ > +/* > + * Copyright 2012 Maxime Ripard > + * > + * Maxime Ripard <maxime.ripard@free-electrons.com> > + * > + * The code contained herein is licensed under the GNU General Public > + * License. You may obtain a copy of the GNU General Public License > + * Version 2 or later at the following locations: > + * > + * http://www.opensource.org/licenses/gpl-license.html > + * http://www.gnu.org/copyleft/gpl.html > + */ > + > +/include/ "skeleton.dtsi" > + > +/ { > + interrupt-parent = <&intc>; > + > + cpus { > + cpu@0 { > + compatible = "arm,cortex-a8"; > + }; > + }; > + > + chosen { > + bootargs = "earlyprintk console=ttyS0,115200"; > + }; No memory node here? My experience is, that the soc.dtsi file should contain a memory node with the max possible memory size of the SoC. Which will be overwritten by the board dts file containing the max memory size of the board. > + soc { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + reg = <0x01c20000 0x300000>; > + ranges; > + > + timer@01c20c00 { > + compatible = "allwinner,sunxi-timer"; > + reg = <0x01c20c00 0x400>; > + interrupts = <22>; > + }; > + > + intc: interrupt-controller@01c20400 { > + compatible = "allwinner,sunxi-ic"; > + reg = <0x01c20400 0x400>; > + interrupt-controller; > + #interrupt-cells = <1>; > + }; > + > + uart1: uart@01c28400 { > + compatible = "ns8250"; > + reg = <0x01c28400 0x400>; > + interrupts = <2>; > + reg-shift = <2>; > + clock-frequency = <24000000>; > + status = "disabled"; > + }; > + }; > +}; Looks good so far. I suggest that with the A10/cubieboard support we move to the following dts/dtsi organization: sunxi.dtsi - Devices common to all Allwinner sunXi SoC's sun4i.dtsi - sun4i Devices, will include sunxi.dtsi sun5i.dtsi - sun5i Devices, will include sunxi.dtsi board.dts - will include either sun4i.dtsi or sun5i.dtsi If we agree on this, then I'll send a patch with this re-organization with the cubieboard patches. Thanks, Stefan
Le 16/11/2012 08:57, Stefan Roese a écrit : > On 11/15/2012 11:46 PM, Maxime Ripard wrote: >> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> >> --- >> arch/arm/boot/dts/Makefile | 1 + >> arch/arm/boot/dts/sun5i-olinuxino.dts | 30 +++++++++++++++++ >> arch/arm/boot/dts/sun5i.dtsi | 58 +++++++++++++++++++++++++++++++++ >> 3 files changed, 89 insertions(+) >> create mode 100644 arch/arm/boot/dts/sun5i-olinuxino.dts >> create mode 100644 arch/arm/boot/dts/sun5i.dtsi >> >> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile >> index f37cf9f..9b2d3f0 100644 >> --- a/arch/arm/boot/dts/Makefile >> +++ b/arch/arm/boot/dts/Makefile >> @@ -84,6 +84,7 @@ dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \ >> spear310-evb.dtb \ >> spear320-evb.dtb >> dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb >> +dtb-$(CONFIG_ARCH_SUNXI) += sun5i-olinuxino.dtb >> dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ >> tegra20-medcom-wide.dtb \ >> tegra20-paz00.dtb \ >> diff --git a/arch/arm/boot/dts/sun5i-olinuxino.dts b/arch/arm/boot/dts/sun5i-olinuxino.dts >> new file mode 100644 >> index 0000000..add1e60 >> --- /dev/null >> +++ b/arch/arm/boot/dts/sun5i-olinuxino.dts >> @@ -0,0 +1,30 @@ >> +/* >> + * Copyright 2012 Maxime Ripard >> + * >> + * Maxime Ripard <maxime.ripard@free-electrons.com> >> + * >> + * The code contained herein is licensed under the GNU General Public >> + * License. You may obtain a copy of the GNU General Public License >> + * Version 2 or later at the following locations: >> + * >> + * http://www.opensource.org/licenses/gpl-license.html >> + * http://www.gnu.org/copyleft/gpl.html >> + */ >> + >> +/dts-v1/; >> +/include/ "sun5i.dtsi" >> + >> +/ { >> + model = "Olimex A13-Olinuxino"; >> + compatible = "olimex,a13-olinuxino", "allwinner,sun5i"; >> + >> + memory { >> + reg = <0x40000000 0x40000000>; >> + }; > > Sure that the board support 1GiB of RAM? AFAIK A13 only supports 512MiB. > Please re-check. Ah, you're right. Good catch. >> + soc { >> + duart: uart@01c28400 { >> + status = "okay"; >> + }; >> + }; >> +}; >> diff --git a/arch/arm/boot/dts/sun5i.dtsi b/arch/arm/boot/dts/sun5i.dtsi >> new file mode 100644 >> index 0000000..5797323 >> --- /dev/null >> +++ b/arch/arm/boot/dts/sun5i.dtsi >> @@ -0,0 +1,58 @@ >> +/* >> + * Copyright 2012 Maxime Ripard >> + * >> + * Maxime Ripard <maxime.ripard@free-electrons.com> >> + * >> + * The code contained herein is licensed under the GNU General Public >> + * License. You may obtain a copy of the GNU General Public License >> + * Version 2 or later at the following locations: >> + * >> + * http://www.opensource.org/licenses/gpl-license.html >> + * http://www.gnu.org/copyleft/gpl.html >> + */ >> + >> +/include/ "skeleton.dtsi" >> + >> +/ { >> + interrupt-parent = <&intc>; >> + >> + cpus { >> + cpu@0 { >> + compatible = "arm,cortex-a8"; >> + }; >> + }; >> + >> + chosen { >> + bootargs = "earlyprintk console=ttyS0,115200"; >> + }; > > No memory node here? My experience is, that the soc.dtsi file should > contain a memory node with the max possible memory size of the SoC. > Which will be overwritten by the board dts file containing the max > memory size of the board. I've worked on boards that were not doing that, so I have a different experience here, but that looks reasonable. > >> + soc { >> + compatible = "simple-bus"; >> + #address-cells = <1>; >> + #size-cells = <1>; >> + reg = <0x01c20000 0x300000>; >> + ranges; >> + >> + timer@01c20c00 { >> + compatible = "allwinner,sunxi-timer"; >> + reg = <0x01c20c00 0x400>; >> + interrupts = <22>; >> + }; >> + >> + intc: interrupt-controller@01c20400 { >> + compatible = "allwinner,sunxi-ic"; >> + reg = <0x01c20400 0x400>; >> + interrupt-controller; >> + #interrupt-cells = <1>; >> + }; >> + >> + uart1: uart@01c28400 { >> + compatible = "ns8250"; >> + reg = <0x01c28400 0x400>; >> + interrupts = <2>; >> + reg-shift = <2>; >> + clock-frequency = <24000000>; >> + status = "disabled"; >> + }; >> + }; >> +}; > > Looks good so far. I suggest that with the A10/cubieboard support we > move to the following dts/dtsi organization: > > sunxi.dtsi - Devices common to all Allwinner sunXi SoC's > sun4i.dtsi - sun4i Devices, will include sunxi.dtsi > sun5i.dtsi - sun5i Devices, will include sunxi.dtsi > board.dts - will include either sun4i.dtsi or sun5i.dtsi > > If we agree on this, then I'll send a patch with this re-organization > with the cubieboard patches. Yes, that would make sense. Thanks!
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index f37cf9f..9b2d3f0 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -84,6 +84,7 @@ dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \ spear310-evb.dtb \ spear320-evb.dtb dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb +dtb-$(CONFIG_ARCH_SUNXI) += sun5i-olinuxino.dtb dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ tegra20-medcom-wide.dtb \ tegra20-paz00.dtb \ diff --git a/arch/arm/boot/dts/sun5i-olinuxino.dts b/arch/arm/boot/dts/sun5i-olinuxino.dts new file mode 100644 index 0000000..add1e60 --- /dev/null +++ b/arch/arm/boot/dts/sun5i-olinuxino.dts @@ -0,0 +1,30 @@ +/* + * Copyright 2012 Maxime Ripard + * + * Maxime Ripard <maxime.ripard@free-electrons.com> + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +/dts-v1/; +/include/ "sun5i.dtsi" + +/ { + model = "Olimex A13-Olinuxino"; + compatible = "olimex,a13-olinuxino", "allwinner,sun5i"; + + memory { + reg = <0x40000000 0x40000000>; + }; + + soc { + duart: uart@01c28400 { + status = "okay"; + }; + }; +}; diff --git a/arch/arm/boot/dts/sun5i.dtsi b/arch/arm/boot/dts/sun5i.dtsi new file mode 100644 index 0000000..5797323 --- /dev/null +++ b/arch/arm/boot/dts/sun5i.dtsi @@ -0,0 +1,58 @@ +/* + * Copyright 2012 Maxime Ripard + * + * Maxime Ripard <maxime.ripard@free-electrons.com> + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +/include/ "skeleton.dtsi" + +/ { + interrupt-parent = <&intc>; + + cpus { + cpu@0 { + compatible = "arm,cortex-a8"; + }; + }; + + chosen { + bootargs = "earlyprintk console=ttyS0,115200"; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x01c20000 0x300000>; + ranges; + + timer@01c20c00 { + compatible = "allwinner,sunxi-timer"; + reg = <0x01c20c00 0x400>; + interrupts = <22>; + }; + + intc: interrupt-controller@01c20400 { + compatible = "allwinner,sunxi-ic"; + reg = <0x01c20400 0x400>; + interrupt-controller; + #interrupt-cells = <1>; + }; + + uart1: uart@01c28400 { + compatible = "ns8250"; + reg = <0x01c28400 0x400>; + interrupts = <2>; + reg-shift = <2>; + clock-frequency = <24000000>; + status = "disabled"; + }; + }; +};
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> --- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/sun5i-olinuxino.dts | 30 +++++++++++++++++ arch/arm/boot/dts/sun5i.dtsi | 58 +++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 arch/arm/boot/dts/sun5i-olinuxino.dts create mode 100644 arch/arm/boot/dts/sun5i.dtsi