diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi index 42edda57686c..0d474273877f 100644 --- a/arch/arm/boot/dts/bcm2708.dtsi +++ b/arch/arm/boot/dts/bcm2708.dtsi @@ -1,133 +1,19 @@ -/include/ "skeleton.dtsi" +/include/ "bcm2708_common.dtsi" / { compatible = "brcm,bcm2708"; model = "BCM2708"; - interrupt-parent = <&intc>; - chosen { /* No padding required - the boot loader can do that. */ bootargs = ""; }; - soc: soc { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; + soc { ranges = <0x7e000000 0x20000000 0x01000000>; - dma: dma@7e007000 { - compatible = "brcm,bcm2835-dma"; - #dma-cells = <1>; - }; - - intc: interrupt-controller { - compatible = "brcm,bcm2708-armctrl-ic"; - reg = <0x7e00b200 0x200>; - interrupt-controller; - #interrupt-cells = <2>; - }; - - gpio: gpio { - compatible = "brcm,bcm2835-gpio"; - reg = <0x7e200000 0xb4>; - interrupts = <2 17>, <2 18>; - - gpio-controller; - #gpio-cells = <2>; - - interrupt-controller; - #interrupt-cells = <2>; - }; - - mmc: mmc@7e300000 { - compatible = "brcm,bcm2835-mmc"; - reg = <0x7e300000 0x100>; - interrupts = <2 30>; - clocks = <&clk_mmc>; - dmas = <&dma 11>, - <&dma 11>; - dma-names = "tx", "rx"; - status = "disabled"; - }; - - i2s: i2s@7e203000 { - compatible = "brcm,bcm2708-i2s"; - reg = <0x7e203000 0x20>, - <0x7e101098 0x02>; - - //dmas = <&dma 2>, - // <&dma 3>; - dma-names = "tx", "rx"; - status = "disabled"; - }; - - spi0: spi@7e204000 { - compatible = "brcm,bcm2708-spi"; - reg = <0x7e204000 0x1000>; - interrupts = <2 22>; - clocks = <&clk_spi>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - i2c0: i2c@7e205000 { - compatible = "brcm,bcm2708-i2c"; - reg = <0x7e205000 0x1000>; - interrupts = <2 21>; - clocks = <&clk_i2c>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - i2c1: i2c@7e804000 { - compatible = "brcm,bcm2708-i2c"; - reg = <0x7e804000 0x1000>; - interrupts = <2 21>; - clocks = <&clk_i2c>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - leds: leds { - compatible = "gpio-leds"; - }; - arm-pmu { compatible = "arm,arm1176-pmu"; }; }; - - clocks { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <0>; - - clk_mmc: clock@0 { - compatible = "fixed-clock"; - reg = <0>; - #clock-cells = <0>; - clock-output-names = "mmc"; - clock-frequency = <250000000>; - }; - - clk_i2c: i2c { - compatible = "fixed-clock"; - reg = <1>; - #clock-cells = <0>; - clock-frequency = <250000000>; - }; - - clk_spi: clock@2 { - compatible = "fixed-clock"; - reg = <2>; - #clock-cells = <0>; - clock-output-names = "spi"; - clock-frequency = <250000000>; - }; - }; }; diff --git a/arch/arm/boot/dts/bcm2708_common.dtsi b/arch/arm/boot/dts/bcm2708_common.dtsi new file mode 100644 index 000000000000..ff70c5849f29 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708_common.dtsi @@ -0,0 +1,120 @@ +/include/ "skeleton.dtsi" + +/ { + interrupt-parent = <&intc>; + + soc: soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + + dma: dma@7e007000 { + compatible = "brcm,bcm2835-dma"; + #dma-cells = <1>; + }; + + intc: interrupt-controller { + compatible = "brcm,bcm2708-armctrl-ic"; + reg = <0x7e00b200 0x200>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpio: gpio { + compatible = "brcm,bcm2835-gpio"; + reg = <0x7e200000 0xb4>; + interrupts = <2 17>, <2 18>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + mmc: mmc@7e300000 { + compatible = "brcm,bcm2835-mmc"; + reg = <0x7e300000 0x100>; + interrupts = <2 30>; + clocks = <&clk_mmc>; + dmas = <&dma 11>, + <&dma 11>; + dma-names = "tx", "rx"; + status = "disabled"; + }; + + i2s: i2s@7e203000 { + compatible = "brcm,bcm2708-i2s"; + reg = <0x7e203000 0x20>, + <0x7e101098 0x02>; + + //dmas = <&dma 2>, + // <&dma 3>; + dma-names = "tx", "rx"; + status = "disabled"; + }; + + spi0: spi@7e204000 { + compatible = "brcm,bcm2708-spi"; + reg = <0x7e204000 0x1000>; + interrupts = <2 22>; + clocks = <&clk_spi>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + i2c0: i2c@7e205000 { + compatible = "brcm,bcm2708-i2c"; + reg = <0x7e205000 0x1000>; + interrupts = <2 21>; + clocks = <&clk_i2c>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + i2c1: i2c@7e804000 { + compatible = "brcm,bcm2708-i2c"; + reg = <0x7e804000 0x1000>; + interrupts = <2 21>; + clocks = <&clk_i2c>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + leds: leds { + compatible = "gpio-leds"; + }; + }; + + clocks { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>; + + clk_mmc: clock@0 { + compatible = "fixed-clock"; + reg = <0>; + #clock-cells = <0>; + clock-output-names = "mmc"; + clock-frequency = <250000000>; + }; + + clk_i2c: i2c { + compatible = "fixed-clock"; + reg = <1>; + #clock-cells = <0>; + clock-frequency = <250000000>; + }; + + clk_spi: clock@2 { + compatible = "fixed-clock"; + reg = <2>; + #clock-cells = <0>; + clock-output-names = "spi"; + clock-frequency = <250000000>; + }; + }; +}; diff --git a/arch/arm/boot/dts/bcm2709.dtsi b/arch/arm/boot/dts/bcm2709.dtsi index bd6605d34bc8..5e0b935dd2c6 100644 --- a/arch/arm/boot/dts/bcm2709.dtsi +++ b/arch/arm/boot/dts/bcm2709.dtsi @@ -1,137 +1,23 @@ -/include/ "skeleton.dtsi" +/include/ "bcm2708_common.dtsi" / { compatible = "brcm,bcm2709"; model = "BCM2709"; - interrupt-parent = <&intc>; - chosen { /* No padding required - the boot loader can do that. */ bootargs = ""; }; - soc: soc { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; + soc { ranges = <0x7e000000 0x3f000000 0x01000000>; - dma: dma@7e007000 { - compatible = "brcm,bcm2835-dma"; - #dma-cells = <1>; - }; - - intc: interrupt-controller { - compatible = "brcm,bcm2708-armctrl-ic"; - reg = <0x7e00b200 0x200>; - interrupt-controller; - #interrupt-cells = <2>; - }; - - gpio: gpio { - compatible = "brcm,bcm2835-gpio"; - reg = <0x7e200000 0xb4>; - interrupts = <2 17>, <2 18>; - - gpio-controller; - #gpio-cells = <2>; - - interrupt-controller; - #interrupt-cells = <2>; - }; - - mmc: mmc@7e300000 { - compatible = "brcm,bcm2835-mmc"; - reg = <0x7e300000 0x100>; - interrupts = <2 30>; - clocks = <&clk_mmc>; - dmas = <&dma 11>, - <&dma 11>; - dma-names = "tx", "rx"; - status = "disabled"; - }; - - i2s: i2s@7e203000 { - compatible = "brcm,bcm2708-i2s"; - reg = <0x7e203000 0x20>, - <0x7e101098 0x02>; - - //dmas = <&dma 2>, - // <&dma 3>; - dma-names = "tx", "rx"; - status = "disabled"; - }; - - spi0: spi@7e204000 { - compatible = "brcm,bcm2708-spi"; - reg = <0x7e204000 0x1000>; - interrupts = <2 22>; - clocks = <&clk_spi>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - i2c0: i2c@7e205000 { - compatible = "brcm,bcm2708-i2c"; - reg = <0x7e205000 0x1000>; - interrupts = <2 21>; - clocks = <&clk_i2c>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - i2c1: i2c@7e804000 { - compatible = "brcm,bcm2708-i2c"; - reg = <0x7e804000 0x1000>; - interrupts = <2 21>; - clocks = <&clk_i2c>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - }; - - leds: leds { - compatible = "gpio-leds"; - }; - arm-pmu { compatible = "arm,cortex-a7-pmu"; interrupts = <3 9>; }; }; - clocks { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <0>; - - clk_mmc: clock@0 { - compatible = "fixed-clock"; - reg = <0>; - #clock-cells = <0>; - clock-output-names = "mmc"; - clock-frequency = <250000000>; - }; - - clk_i2c: i2c { - compatible = "fixed-clock"; - reg = <1>; - #clock-cells = <0>; - clock-frequency = <250000000>; - }; - - clk_spi: clock@2 { - compatible = "fixed-clock"; - reg = <2>; - #clock-cells = <0>; - clock-output-names = "spi"; - clock-frequency = <250000000>; - }; - }; - timer { compatible = "arm,armv7-timer"; clock-frequency = <19200000>;