aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Huang <eddie.huang@mediatek.com>2015-06-17 11:08:03 -0400
committerMatthias Brugger <matthias.bgg@gmail.com>2015-07-06 12:01:44 -0400
commit091cf59891df5d969525d06a4da44e1a2a0e84d1 (patch)
treefdab4268b1725588383533dc4ddf4a31cba8b0ed
parent13421b3e8a16921dde592e3309cee15f3be1d93b (diff)
arm64: dts: mt8173: Add I2C device node
Add MT8173 I2C device nodes, include I2C controllers and pins. MT8173 has six I2C controllers, from i2c0 to i2c6, exclude i2c5. The 6th I2C controller register base doesn't next to 5th I2C, and there is a hardware between 5th and 6th I2C controller. So SoC designer name 6th controller as "i2c6", not "i2c5". Signed-off-by: Eddie Huang <eddie.huang@mediatek.com> Reviewed-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8173.dtsi147
1 files changed, 143 insertions, 4 deletions
diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
index e880de5ec926..a9fa02b8c1b1 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -153,11 +153,54 @@
153 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 153 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
154 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 154 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
155 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; 155 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
156 };
157 156
158 syscfg_pctl_a: syscfg_pctl_a@10005000 { 157 i2c0_pins_a: i2c0 {
159 compatible = "mediatek,mt8173-pctl-a-syscfg", "syscon"; 158 pins1 {
160 reg = <0 0x10005000 0 0x1000>; 159 pinmux = <MT8173_PIN_45_SDA0__FUNC_SDA0>,
160 <MT8173_PIN_46_SCL0__FUNC_SCL0>;
161 bias-disable;
162 };
163 };
164
165 i2c1_pins_a: i2c1 {
166 pins1 {
167 pinmux = <MT8173_PIN_125_SDA1__FUNC_SDA1>,
168 <MT8173_PIN_126_SCL1__FUNC_SCL1>;
169 bias-disable;
170 };
171 };
172
173 i2c2_pins_a: i2c2 {
174 pins1 {
175 pinmux = <MT8173_PIN_43_SDA2__FUNC_SDA2>,
176 <MT8173_PIN_44_SCL2__FUNC_SCL2>;
177 bias-disable;
178 };
179 };
180
181 i2c3_pins_a: i2c3 {
182 pins1 {
183 pinmux = <MT8173_PIN_106_SDA3__FUNC_SDA3>,
184 <MT8173_PIN_107_SCL3__FUNC_SCL3>;
185 bias-disable;
186 };
187 };
188
189 i2c4_pins_a: i2c4 {
190 pins1 {
191 pinmux = <MT8173_PIN_133_SDA4__FUNC_SDA4>,
192 <MT8173_PIN_134_SCL4__FUNC_SCL4>;
193 bias-disable;
194 };
195 };
196
197 i2c6_pins_a: i2c6 {
198 pins1 {
199 pinmux = <MT8173_PIN_100_MSDC2_DAT0__FUNC_SDA5>,
200 <MT8173_PIN_101_MSDC2_DAT1__FUNC_SCL5>;
201 bias-disable;
202 };
203 };
161 }; 204 };
162 205
163 watchdog: watchdog@10007000 { 206 watchdog: watchdog@10007000 {
@@ -244,6 +287,102 @@
244 clock-names = "baud", "bus"; 287 clock-names = "baud", "bus";
245 status = "disabled"; 288 status = "disabled";
246 }; 289 };
290
291 i2c0: i2c@11007000 {
292 compatible = "mediatek,mt8173-i2c";
293 reg = <0 0x11007000 0 0x70>,
294 <0 0x11000100 0 0x80>;
295 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_LOW>;
296 clock-div = <16>;
297 clocks = <&pericfg CLK_PERI_I2C0>,
298 <&pericfg CLK_PERI_AP_DMA>;
299 clock-names = "main", "dma";
300 pinctrl-names = "default";
301 pinctrl-0 = <&i2c0_pins_a>;
302 #address-cells = <1>;
303 #size-cells = <0>;
304 status = "disabled";
305 };
306
307 i2c1: i2c@11008000 {
308 compatible = "mediatek,mt8173-i2c";
309 reg = <0 0x11008000 0 0x70>,
310 <0 0x11000180 0 0x80>;
311 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
312 clock-div = <16>;
313 clocks = <&pericfg CLK_PERI_I2C1>,
314 <&pericfg CLK_PERI_AP_DMA>;
315 clock-names = "main", "dma";
316 pinctrl-names = "default";
317 pinctrl-0 = <&i2c1_pins_a>;
318 #address-cells = <1>;
319 #size-cells = <0>;
320 status = "disabled";
321 };
322
323 i2c2: i2c@11009000 {
324 compatible = "mediatek,mt8173-i2c";
325 reg = <0 0x11009000 0 0x70>,
326 <0 0x11000200 0 0x80>;
327 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
328 clock-div = <16>;
329 clocks = <&pericfg CLK_PERI_I2C2>,
330 <&pericfg CLK_PERI_AP_DMA>;
331 clock-names = "main", "dma";
332 pinctrl-names = "default";
333 pinctrl-0 = <&i2c2_pins_a>;
334 #address-cells = <1>;
335 #size-cells = <0>;
336 status = "disabled";
337 };
338
339 i2c3: i2c3@11010000 {
340 compatible = "mediatek,mt8173-i2c";
341 reg = <0 0x11010000 0 0x70>,
342 <0 0x11000280 0 0x80>;
343 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>;
344 clock-div = <16>;
345 clocks = <&pericfg CLK_PERI_I2C3>,
346 <&pericfg CLK_PERI_AP_DMA>;
347 clock-names = "main", "dma";
348 pinctrl-names = "default";
349 pinctrl-0 = <&i2c3_pins_a>;
350 #address-cells = <1>;
351 #size-cells = <0>;
352 status = "disabled";
353 };
354
355 i2c4: i2c4@11011000 {
356 compatible = "mediatek,mt8173-i2c";
357 reg = <0 0x11011000 0 0x70>,
358 <0 0x11000300 0 0x80>;
359 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_LOW>;
360 clock-div = <16>;
361 clocks = <&pericfg CLK_PERI_I2C4>,
362 <&pericfg CLK_PERI_AP_DMA>;
363 clock-names = "main", "dma";
364 pinctrl-names = "default";
365 pinctrl-0 = <&i2c4_pins_a>;
366 #address-cells = <1>;
367 #size-cells = <0>;
368 status = "disabled";
369 };
370
371 i2c6: i2c6@11013000 {
372 compatible = "mediatek,mt8173-i2c";
373 reg = <0 0x11013000 0 0x70>,
374 <0 0x11000080 0 0x80>;
375 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>;
376 clock-div = <16>;
377 clocks = <&pericfg CLK_PERI_I2C6>,
378 <&pericfg CLK_PERI_AP_DMA>;
379 clock-names = "main", "dma";
380 pinctrl-names = "default";
381 pinctrl-0 = <&i2c6_pins_a>;
382 #address-cells = <1>;
383 #size-cells = <0>;
384 status = "disabled";
385 };
247 }; 386 };
248}; 387};
249 388