blob: b899e25cbb1be973c60dc8a8d8c220c02cf3c039 [file] [log] [blame]
Haojian Zhuang10d77ec2012-03-01 13:26:15 +08001/*
2 * Copyright (C) 2012 Marvell Technology Group Ltd.
3 * Author: Haojian Zhuang <haojian.zhuang@marvell.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * publishhed by the Free Software Foundation.
8 */
9
Chao Xie51454eb2014-10-31 10:13:52 +080010#include "skeleton.dtsi"
Chao Xied41ef542014-10-31 10:13:53 +080011#include <dt-bindings/clock/marvell,pxa168.h>
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080012
13/ {
14 aliases {
15 serial0 = &uart1;
16 serial1 = &uart2;
17 serial2 = &uart3;
18 i2c0 = &twsi1;
19 i2c1 = &twsi2;
20 };
21
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080022 soc {
23 #address-cells = <1>;
24 #size-cells = <1>;
25 compatible = "simple-bus";
26 interrupt-parent = <&intc>;
27 ranges;
28
Haojian Zhuangff290fc2012-04-19 18:44:50 +080029 axi@d4200000 { /* AXI */
30 compatible = "mrvl,axi-bus", "simple-bus";
31 #address-cells = <1>;
32 #size-cells = <1>;
33 reg = <0xd4200000 0x00200000>;
34 ranges;
35
36 intc: interrupt-controller@d4282000 {
37 compatible = "mrvl,mmp-intc";
38 interrupt-controller;
39 #interrupt-cells = <1>;
40 reg = <0xd4282000 0x1000>;
41 mrvl,intc-nr-irqs = <64>;
42 };
43
44 };
45
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080046 apb@d4000000 { /* APB */
47 compatible = "mrvl,apb-bus", "simple-bus";
48 #address-cells = <1>;
49 #size-cells = <1>;
50 reg = <0xd4000000 0x00200000>;
51 ranges;
52
Haojian Zhuangff290fc2012-04-19 18:44:50 +080053 timer0: timer@d4014000 {
54 compatible = "mrvl,mmp-timer";
55 reg = <0xd4014000 0x100>;
56 interrupts = <13>;
57 };
58
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080059 uart1: uart@d4017000 {
Haojian Zhuangff290fc2012-04-19 18:44:50 +080060 compatible = "mrvl,mmp-uart";
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080061 reg = <0xd4017000 0x1000>;
62 interrupts = <27>;
Chao Xied41ef542014-10-31 10:13:53 +080063 clocks = <&soc_clocks PXA168_CLK_UART0>;
64 resets = <&soc_clocks PXA168_CLK_UART0>;
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080065 status = "disabled";
66 };
67
68 uart2: uart@d4018000 {
Haojian Zhuangff290fc2012-04-19 18:44:50 +080069 compatible = "mrvl,mmp-uart";
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080070 reg = <0xd4018000 0x1000>;
71 interrupts = <28>;
Chao Xied41ef542014-10-31 10:13:53 +080072 clocks = <&soc_clocks PXA168_CLK_UART1>;
73 resets = <&soc_clocks PXA168_CLK_UART1>;
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080074 status = "disabled";
75 };
76
77 uart3: uart@d4026000 {
Haojian Zhuangff290fc2012-04-19 18:44:50 +080078 compatible = "mrvl,mmp-uart";
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080079 reg = <0xd4026000 0x1000>;
80 interrupts = <29>;
Chao Xied41ef542014-10-31 10:13:53 +080081 clocks = <&soc_clocks PXA168_CLK_UART2>;
82 resets = <&soc_clocks PXA168_CLK_UART2>;
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080083 status = "disabled";
84 };
85
Haojian Zhuangff290fc2012-04-19 18:44:50 +080086 gpio@d4019000 {
Haojian Zhuangf8731172013-04-09 22:27:50 +080087 compatible = "marvell,mmp-gpio";
Haojian Zhuangff290fc2012-04-19 18:44:50 +080088 #address-cells = <1>;
89 #size-cells = <1>;
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080090 reg = <0xd4019000 0x1000>;
Haojian Zhuangff290fc2012-04-19 18:44:50 +080091 gpio-controller;
92 #gpio-cells = <2>;
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080093 interrupts = <49>;
Chao Xied41ef542014-10-31 10:13:53 +080094 clocks = <&soc_clocks PXA168_CLK_GPIO>;
95 resets = <&soc_clocks PXA168_CLK_GPIO>;
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080096 interrupt-names = "gpio_mux";
Haojian Zhuang10d77ec2012-03-01 13:26:15 +080097 interrupt-controller;
98 #interrupt-cells = <1>;
Haojian Zhuangff290fc2012-04-19 18:44:50 +080099 ranges;
100
101 gcb0: gpio@d4019000 {
102 reg = <0xd4019000 0x4>;
103 };
104
105 gcb1: gpio@d4019004 {
106 reg = <0xd4019004 0x4>;
107 };
108
109 gcb2: gpio@d4019008 {
110 reg = <0xd4019008 0x4>;
111 };
112
113 gcb3: gpio@d4019100 {
114 reg = <0xd4019100 0x4>;
115 };
Haojian Zhuang10d77ec2012-03-01 13:26:15 +0800116 };
117
118 twsi1: i2c@d4011000 {
Haojian Zhuangff290fc2012-04-19 18:44:50 +0800119 compatible = "mrvl,mmp-twsi";
Haojian Zhuang10d77ec2012-03-01 13:26:15 +0800120 reg = <0xd4011000 0x1000>;
121 interrupts = <7>;
Chao Xied41ef542014-10-31 10:13:53 +0800122 clocks = <&soc_clocks PXA168_CLK_TWSI0>;
123 resets = <&soc_clocks PXA168_CLK_TWSI0>;
Haojian Zhuang10d77ec2012-03-01 13:26:15 +0800124 mrvl,i2c-fast-mode;
125 status = "disabled";
126 };
127
128 twsi2: i2c@d4025000 {
Haojian Zhuangff290fc2012-04-19 18:44:50 +0800129 compatible = "mrvl,mmp-twsi";
Haojian Zhuang10d77ec2012-03-01 13:26:15 +0800130 reg = <0xd4025000 0x1000>;
131 interrupts = <58>;
Chao Xied41ef542014-10-31 10:13:53 +0800132 clocks = <&soc_clocks PXA168_CLK_TWSI1>;
133 resets = <&soc_clocks PXA168_CLK_TWSI1>;
Haojian Zhuang10d77ec2012-03-01 13:26:15 +0800134 status = "disabled";
135 };
136
137 rtc: rtc@d4010000 {
138 compatible = "mrvl,mmp-rtc";
139 reg = <0xd4010000 0x1000>;
140 interrupts = <5 6>;
141 interrupt-names = "rtc 1Hz", "rtc alarm";
Chao Xied41ef542014-10-31 10:13:53 +0800142 clocks = <&soc_clocks PXA168_CLK_RTC>;
143 resets = <&soc_clocks PXA168_CLK_RTC>;
Haojian Zhuang10d77ec2012-03-01 13:26:15 +0800144 status = "disabled";
145 };
146 };
Chao Xied41ef542014-10-31 10:13:53 +0800147
148 soc_clocks: clocks{
149 compatible = "marvell,pxa168-clock";
150 reg = <0xd4050000 0x1000>,
151 <0xd4282800 0x400>,
152 <0xd4015000 0x1000>;
153 reg-names = "mpmu", "apmu", "apbc";
154 #clock-cells = <1>;
155 #reset-cells = <1>;
156 };
Haojian Zhuang10d77ec2012-03-01 13:26:15 +0800157 };
158};