kirkwood.dtsi 4.0 KB
Newer Older
1 2 3
/include/ "skeleton.dtsi"

/ {
4
	compatible = "marvell,kirkwood";
5 6
	interrupt-parent = <&intc>;

7 8 9 10
	aliases {
	       gpio0 = &gpio0;
	       gpio1 = &gpio1;
	};
11 12 13 14 15 16 17
	intc: interrupt-controller {
		compatible = "marvell,orion-intc", "marvell,intc";
		interrupt-controller;
		#interrupt-cells = <1>;
		reg = <0xf1020204 0x04>,
		      <0xf1020214 0x04>;
	};
18

19 20
	ocp@f1000000 {
		compatible = "simple-bus";
21 22
		ranges = <0x00000000 0xf1000000 0x4000000
		          0xf5000000 0xf5000000 0x0000400>;
23 24 25
		#address-cells = <1>;
		#size-cells = <1>;

26 27 28 29 30 31
		core_clk: core-clocks@10030 {
			compatible = "marvell,kirkwood-core-clock";
			reg = <0x10030 0x4>;
	        	#clock-cells = <1>;
		};

32 33 34 35 36
		gpio0: gpio@10100 {
			compatible = "marvell,orion-gpio";
			#gpio-cells = <2>;
			gpio-controller;
			reg = <0x10100 0x40>;
37 38
			ngpios = <32>;
			interrupt-controller;
39
			#interrupt-cells = <2>;
40 41 42 43 44 45 46 47
			interrupts = <35>, <36>, <37>, <38>;
		};

		gpio1: gpio@10140 {
			compatible = "marvell,orion-gpio";
			#gpio-cells = <2>;
			gpio-controller;
			reg = <0x10140 0x40>;
48 49
			ngpios = <18>;
			interrupt-controller;
50
			#interrupt-cells = <2>;
51 52 53
			interrupts = <39>, <40>, <41>;
		};

54 55 56 57 58
		serial@12000 {
			compatible = "ns16550a";
			reg = <0x12000 0x100>;
			reg-shift = <2>;
			interrupts = <33>;
59
			clocks = <&gate_clk 7>;
60 61 62 63 64 65 66 67 68
			/* set clock-frequency in board dts */
			status = "disabled";
		};

		serial@12100 {
			compatible = "ns16550a";
			reg = <0x12100 0x100>;
			reg-shift = <2>;
			interrupts = <34>;
69
			clocks = <&gate_clk 7>;
70 71 72
			/* set clock-frequency in board dts */
			status = "disabled";
		};
73 74

		rtc@10300 {
75
			compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
76 77 78
			reg = <0x10300 0x20>;
			interrupts = <53>;
		};
79

80 81 82 83 84 85 86
		spi@10600 {
			compatible = "marvell,orion-spi";
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <0>;
			interrupts = <23>;
			reg = <0x10600 0x28>;
87
			clocks = <&gate_clk 7>;
88 89 90
			status = "disabled";
		};

91 92 93 94 95 96 97
		gate_clk: clock-gating-control@2011c {
			compatible = "marvell,kirkwood-gating-clock";
			reg = <0x2011c 0x4>;
			clocks = <&core_clk 0>;
			#clock-cells = <1>;
		};

98 99 100
		wdt@20300 {
			compatible = "marvell,orion-wdt";
			reg = <0x20300 0x28>;
101
			clocks = <&gate_clk 7>;
102 103 104
			status = "okay";
		};

105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
		xor@60800 {
			compatible = "marvell,orion-xor";
			reg = <0x60800 0x100
			       0x60A00 0x100>;
			status = "okay";
			clocks = <&gate_clk 8>;

			xor00 {
			      interrupts = <5>;
			      dmacap,memcpy;
			      dmacap,xor;
			};
			xor01 {
			      interrupts = <6>;
			      dmacap,memcpy;
			      dmacap,xor;
			      dmacap,memset;
			};
		};

		xor@60900 {
			compatible = "marvell,orion-xor";
			reg = <0x60900 0x100
			       0xd0B00 0x100>;
129
			status = "okay";
130 131 132 133 134 135 136 137 138 139 140 141 142
			clocks = <&gate_clk 16>;

			xor00 {
			      interrupts = <7>;
			      dmacap,memcpy;
			      dmacap,xor;
			};
			xor01 {
			      interrupts = <8>;
			      dmacap,memcpy;
			      dmacap,xor;
			      dmacap,memset;
			};
143 144
		};

145 146 147 148
		ehci@50000 {
			compatible = "marvell,orion-ehci";
			reg = <0x50000 0x1000>;
			interrupts = <19>;
149
			clocks = <&gate_clk 3>;
150 151 152
			status = "okay";
		};

153 154 155 156
		sata@80000 {
			compatible = "marvell,orion-sata";
			reg = <0x80000 0x5000>;
			interrupts = <21>;
157 158
			clocks = <&gate_clk 14>, <&gate_clk 15>;
			clock-names = "0", "1";
159 160 161
			status = "disabled";
		};

162 163 164 165 166 167
		nand@3000000 {
			#address-cells = <1>;
			#size-cells = <1>;
			cle = <0>;
			ale = <1>;
			bank-width = <1>;
168
			compatible = "marvell,orion-nand";
169 170 171
			reg = <0x3000000 0x400>;
			chip-delay = <25>;
			/* set partition map and/or chip-delay in board dts */
172
			clocks = <&gate_clk 7>;
173 174
			status = "disabled";
		};
175 176 177 178 179 180 181 182

		i2c@11000 {
			compatible = "marvell,mv64xxx-i2c";
			reg = <0x11000 0x20>;
			#address-cells = <1>;
			#size-cells = <0>;
			interrupts = <29>;
			clock-frequency = <100000>;
183
			clocks = <&gate_clk 7>;
184 185
			status = "disabled";
		};
186 187 188 189 190 191 192

		crypto@30000 {
			compatible = "marvell,orion-crypto";
			reg = <0x30000 0x10000>,
			      <0xf5000000 0x800>;
			reg-names = "regs", "sram";
			interrupts = <22>;
193
			clocks = <&gate_clk 17>;
194 195
			status = "okay";
		};
196 197
	};
};