kirkwood.dtsi 3.9 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 40 41 42 43 44 45 46
			interrupts = <35>, <36>, <37>, <38>;
		};

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

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

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

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

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

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

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

103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
		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>;
127
			status = "okay";
128 129 130 131 132 133 134 135 136 137 138 139 140
			clocks = <&gate_clk 16>;

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

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

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

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

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

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