aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-01-29 12:55:20 -0500
committerOlof Johansson <olof@lixom.net>2013-01-29 12:55:28 -0500
commite28c99a85b3e9ab09944fb285c0c035fa997fa33 (patch)
tree0d5ac22a71cf603d360ea322b4e6a2414ac4d2e8
parenta6f243a4d6cbc9d7b0f63dcf7eb1e79f08880553 (diff)
parent9692c191ffffbd5255bec222b8f0f2854932a408 (diff)
Merge tag 'bcm2835-for-3.9-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi into next/dt
From Stephen Warren: ARM: bcm2835: device tree updates The SoC's SDHCI and MMC controllers are added to device tree, and enabled in the Raspberry Pi board device tree. Some fixed clocks are added to the device tree to support these drivers. These could be replaced by real clocks in the future. A hard-coded memreserve is removed from device tree; the bootloader should specify the correct memory node content instead, since the memory layout is dynamic. This branch is based on v3.8-rc3. * tag 'bcm2835-for-3.9-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi: ARM: bcm2835: fix clock node aliasing in device tree ARM: bcm2835: add I2C controllers to DT ARM: bcm2835: add SDHCI node to DT ARM: bcm2835 rpi: remove hard-coded memreserve from DT Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-b.dts16
-rw-r--r--arch/arm/boot/dts/bcm2835.dtsi44
2 files changed, 59 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
index 9b72054a0bc0..aafda174a605 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
@@ -1,5 +1,4 @@
1/dts-v1/; 1/dts-v1/;
2/memreserve/ 0x0c000000 0x04000000;
3/include/ "bcm2835.dtsi" 2/include/ "bcm2835.dtsi"
4 3
5/ { 4/ {
@@ -25,3 +24,18 @@
25 brcm,function = <7>; /* alt3 */ 24 brcm,function = <7>; /* alt3 */
26 }; 25 };
27}; 26};
27
28&i2c0 {
29 status = "okay";
30 clock-frequency = <100000>;
31};
32
33&i2c1 {
34 status = "okay";
35 clock-frequency = <100000>;
36};
37
38&sdhci {
39 status = "okay";
40 bus-width = <4>;
41};
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
index 8917550fd1bb..4bf2a8774aa7 100644
--- a/arch/arm/boot/dts/bcm2835.dtsi
+++ b/arch/arm/boot/dts/bcm2835.dtsi
@@ -63,5 +63,49 @@
63 interrupt-controller; 63 interrupt-controller;
64 #interrupt-cells = <2>; 64 #interrupt-cells = <2>;
65 }; 65 };
66
67 i2c0: i2c@20205000 {
68 compatible = "brcm,bcm2835-i2c";
69 reg = <0x7e205000 0x1000>;
70 interrupts = <2 21>;
71 clocks = <&clk_i2c>;
72 status = "disabled";
73 };
74
75 i2c1: i2c@20804000 {
76 compatible = "brcm,bcm2835-i2c";
77 reg = <0x7e804000 0x1000>;
78 interrupts = <2 21>;
79 clocks = <&clk_i2c>;
80 status = "disabled";
81 };
82
83 sdhci: sdhci {
84 compatible = "brcm,bcm2835-sdhci";
85 reg = <0x7e300000 0x100>;
86 interrupts = <2 30>;
87 clocks = <&clk_mmc>;
88 status = "disabled";
89 };
90 };
91
92 clocks {
93 compatible = "simple-bus";
94 #address-cells = <1>;
95 #size-cells = <0>;
96
97 clk_mmc: mmc {
98 compatible = "fixed-clock";
99 reg = <0>;
100 #clock-cells = <0>;
101 clock-frequency = <100000000>;
102 };
103
104 clk_i2c: i2c {
105 compatible = "fixed-clock";
106 reg = <1>;
107 #clock-cells = <0>;
108 clock-frequency = <150000000>;
109 };
66 }; 110 };
67}; 111};