[PATCH 5/6] ARM: sunxi: Add device tree for the A13 and the Olinuxino board
Maxime Ripard
maxime.ripard at free-electrons.com
Fri Nov 16 04:24:00 EST 2012
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 at 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 at 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 at 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 at 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 at 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 at 01c20c00 {
>> + compatible = "allwinner,sunxi-timer";
>> + reg = <0x01c20c00 0x400>;
>> + interrupts = <22>;
>> + };
>> +
>> + intc: interrupt-controller at 01c20400 {
>> + compatible = "allwinner,sunxi-ic";
>> + reg = <0x01c20400 0x400>;
>> + interrupt-controller;
>> + #interrupt-cells = <1>;
>> + };
>> +
>> + uart1: uart at 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!
--
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the linux-arm-kernel
mailing list