Loading...
1// SPDX-License-Identifier: GPL-2.0
2/* The pxa3xx skeleton simply augments the 2xx version */
3#include "pxa2xx.dtsi"
4#include "dt-bindings/clock/pxa-clock.h"
5
6/ {
7 model = "Marvell PXA27x familiy SoC";
8 compatible = "marvell,pxa27x";
9
10 pxabus {
11 pdma: dma-controller@40000000 {
12 compatible = "marvell,pdma-1.0";
13 reg = <0x40000000 0x10000>;
14 interrupts = <25>;
15 #dma-cells = <2>;
16 /* For backwards compatibility: */
17 #dma-channels = <32>;
18 dma-channels = <32>;
19 #dma-requests = <75>;
20 dma-requests = <75>;
21 status = "okay";
22 };
23
24 pxairq: interrupt-controller@40d00000 {
25 marvell,intc-priority;
26 marvell,intc-nr-irqs = <34>;
27 };
28
29 pinctrl: pinctrl@40e00000 {
30 reg = <0x40e00054 0x20 0x40e0000c 0xc 0x40e0010c 4
31 0x40f00020 0x10>;
32 compatible = "marvell,pxa27x-pinctrl";
33 };
34
35 gpio: gpio@40e00000 {
36 compatible = "intel,pxa27x-gpio";
37 gpio-ranges = <&pinctrl 0 0 128>;
38 clocks = <&clks CLK_NONE>;
39 };
40
41 usb0: usb@4c000000 {
42 compatible = "marvell,pxa-ohci";
43 reg = <0x4c000000 0x10000>;
44 interrupts = <3>;
45 clocks = <&clks CLK_USBHOST>;
46 status = "disabled";
47 };
48
49 pwm0: pwm@40b00000 {
50 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
51 reg = <0x40b00000 0x10>;
52 #pwm-cells = <1>;
53 clocks = <&clks CLK_PWM0>;
54 };
55
56 pwm1: pwm@40b00010 {
57 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
58 reg = <0x40b00010 0x10>;
59 #pwm-cells = <1>;
60 clocks = <&clks CLK_PWM1>;
61 };
62
63 pwm2: pwm@40c00000 {
64 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
65 reg = <0x40c00000 0x10>;
66 #pwm-cells = <1>;
67 clocks = <&clks CLK_PWM0>;
68 };
69
70 pwm3: pwm@40c00010 {
71 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
72 reg = <0x40c00010 0x10>;
73 #pwm-cells = <1>;
74 clocks = <&clks CLK_PWM1>;
75 };
76
77 pwri2c: i2c@40f00180 {
78 compatible = "mrvl,pxa-i2c";
79 reg = <0x40f00180 0x24>;
80 interrupts = <6>;
81 clocks = <&clks CLK_PWRI2C>;
82 #address-cells = <0x1>;
83 #size-cells = <0>;
84 status = "disabled";
85 };
86
87 pxa27x_udc: udc@40600000 {
88 compatible = "marvell,pxa270-udc";
89 reg = <0x40600000 0x10000>;
90 interrupts = <11>;
91 clocks = <&clks CLK_USB>;
92 status = "disabled";
93 };
94
95 keypad: keypad@41500000 {
96 compatible = "marvell,pxa27x-keypad";
97 reg = <0x41500000 0x4c>;
98 interrupts = <4>;
99 clocks = <&clks CLK_KEYPAD>;
100 status = "disabled";
101 };
102
103 pxa_camera: imaging@50000000 {
104 compatible = "marvell,pxa270-qci";
105 reg = <0x50000000 0x1000>;
106 interrupts = <33>;
107 dmas = <&pdma 68 0 /* Y channel */
108 &pdma 69 0 /* U channel */
109 &pdma 70 0>; /* V channel */
110 dma-names = "CI_Y", "CI_U", "CI_V";
111
112 clocks = <&clks CLK_CAMERA>;
113 clock-names = "ciclk";
114 clock-frequency = <5000000>;
115 clock-output-names = "qci_mclk";
116
117 status = "disabled";
118 };
119
120 rtc@40900000 {
121 clocks = <&clks CLK_OSC32k768>;
122 };
123 };
124
125 clocks {
126 /*
127 * The muxing of external clocks/internal dividers for osc* clock
128 * sources has been hidden under the carpet by now.
129 */
130 #address-cells = <1>;
131 #size-cells = <1>;
132 ranges;
133
134 clks: pxa2xx_clks@41300004 {
135 compatible = "marvell,pxa270-clocks";
136 #clock-cells = <1>;
137 status = "okay";
138 };
139 };
140
141 timer@40a00000 {
142 compatible = "marvell,pxa-timer";
143 reg = <0x40a00000 0x20>;
144 interrupts = <26>;
145 clocks = <&clks CLK_OSTIMER>;
146 status = "okay";
147 };
148
149 pxa270_opp_table: opp_table0 {
150 compatible = "operating-points-v2";
151
152 opp-104000000 {
153 opp-hz = /bits/ 64 <104000000>;
154 opp-microvolt = <900000 900000 1705000>;
155 clock-latency-ns = <20>;
156 };
157 opp-156000000 {
158 opp-hz = /bits/ 64 <156000000>;
159 opp-microvolt = <1000000 1000000 1705000>;
160 clock-latency-ns = <20>;
161 };
162 opp-208000000 {
163 opp-hz = /bits/ 64 <208000000>;
164 opp-microvolt = <1180000 1180000 1705000>;
165 clock-latency-ns = <20>;
166 };
167 opp-312000000 {
168 opp-hz = /bits/ 64 <312000000>;
169 opp-microvolt = <1250000 1250000 1705000>;
170 clock-latency-ns = <20>;
171 };
172 opp-416000000 {
173 opp-hz = /bits/ 64 <416000000>;
174 opp-microvolt = <1350000 1350000 1705000>;
175 clock-latency-ns = <20>;
176 };
177 opp-520000000 {
178 opp-hz = /bits/ 64 <520000000>;
179 opp-microvolt = <1450000 1450000 1705000>;
180 clock-latency-ns = <20>;
181 };
182 opp-624000000 {
183 opp-hz = /bits/ 64 <624000000>;
184 opp-microvolt = <1550000 1550000 1705000>;
185 clock-latency-ns = <20>;
186 };
187 };
188};
1// SPDX-License-Identifier: GPL-2.0
2/* The pxa3xx skeleton simply augments the 2xx version */
3#include "pxa2xx.dtsi"
4#include "dt-bindings/clock/pxa-clock.h"
5
6/ {
7 model = "Marvell PXA27x familiy SoC";
8 compatible = "marvell,pxa27x";
9
10 pxabus {
11 pdma: dma-controller@40000000 {
12 compatible = "marvell,pdma-1.0";
13 reg = <0x40000000 0x10000>;
14 interrupts = <25>;
15 #dma-channels = <32>;
16 #dma-cells = <2>;
17 #dma-requests = <75>;
18 status = "okay";
19 };
20
21 pxairq: interrupt-controller@40d00000 {
22 marvell,intc-priority;
23 marvell,intc-nr-irqs = <34>;
24 };
25
26 pinctrl: pinctrl@40e00000 {
27 reg = <0x40e00054 0x20 0x40e0000c 0xc 0x40e0010c 4
28 0x40f00020 0x10>;
29 compatible = "marvell,pxa27x-pinctrl";
30 };
31
32 gpio: gpio@40e00000 {
33 compatible = "intel,pxa27x-gpio";
34 gpio-ranges = <&pinctrl 0 0 128>;
35 clocks = <&clks CLK_NONE>;
36 };
37
38 usb0: usb@4c000000 {
39 compatible = "marvell,pxa-ohci";
40 reg = <0x4c000000 0x10000>;
41 interrupts = <3>;
42 clocks = <&clks CLK_USBHOST>;
43 status = "disabled";
44 };
45
46 pwm0: pwm@40b00000 {
47 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
48 reg = <0x40b00000 0x10>;
49 #pwm-cells = <1>;
50 clocks = <&clks CLK_PWM0>;
51 };
52
53 pwm1: pwm@40b00010 {
54 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
55 reg = <0x40b00010 0x10>;
56 #pwm-cells = <1>;
57 clocks = <&clks CLK_PWM1>;
58 };
59
60 pwm2: pwm@40c00000 {
61 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
62 reg = <0x40c00000 0x10>;
63 #pwm-cells = <1>;
64 clocks = <&clks CLK_PWM0>;
65 };
66
67 pwm3: pwm@40c00010 {
68 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
69 reg = <0x40c00010 0x10>;
70 #pwm-cells = <1>;
71 clocks = <&clks CLK_PWM1>;
72 };
73
74 pwri2c: i2c@40f00180 {
75 compatible = "mrvl,pxa-i2c";
76 reg = <0x40f00180 0x24>;
77 interrupts = <6>;
78 clocks = <&clks CLK_PWRI2C>;
79 #address-cells = <0x1>;
80 #size-cells = <0>;
81 status = "disabled";
82 };
83
84 pxa27x_udc: udc@40600000 {
85 compatible = "marvell,pxa270-udc";
86 reg = <0x40600000 0x10000>;
87 interrupts = <11>;
88 clocks = <&clks CLK_USB>;
89 status = "disabled";
90 };
91
92 keypad: keypad@41500000 {
93 compatible = "marvell,pxa27x-keypad";
94 reg = <0x41500000 0x4c>;
95 interrupts = <4>;
96 clocks = <&clks CLK_KEYPAD>;
97 status = "disabled";
98 };
99
100 pxa_camera: imaging@50000000 {
101 compatible = "marvell,pxa270-qci";
102 reg = <0x50000000 0x1000>;
103 interrupts = <33>;
104 dmas = <&pdma 68 0 /* Y channel */
105 &pdma 69 0 /* U channel */
106 &pdma 70 0>; /* V channel */
107 dma-names = "CI_Y", "CI_U", "CI_V";
108
109 clocks = <&clks CLK_CAMERA>;
110 clock-names = "ciclk";
111 clock-frequency = <5000000>;
112 clock-output-names = "qci_mclk";
113
114 status = "disabled";
115 };
116
117 rtc@40900000 {
118 clocks = <&clks CLK_OSC32k768>;
119 };
120 };
121
122 clocks {
123 /*
124 * The muxing of external clocks/internal dividers for osc* clock
125 * sources has been hidden under the carpet by now.
126 */
127 #address-cells = <1>;
128 #size-cells = <1>;
129 ranges;
130
131 clks: pxa2xx_clks@41300004 {
132 compatible = "marvell,pxa270-clocks";
133 #clock-cells = <1>;
134 status = "okay";
135 };
136 };
137
138 timer@40a00000 {
139 compatible = "marvell,pxa-timer";
140 reg = <0x40a00000 0x20>;
141 interrupts = <26>;
142 clocks = <&clks CLK_OSTIMER>;
143 status = "okay";
144 };
145
146 pxa270_opp_table: opp_table0 {
147 compatible = "operating-points-v2";
148
149 opp-104000000 {
150 opp-hz = /bits/ 64 <104000000>;
151 opp-microvolt = <900000 900000 1705000>;
152 clock-latency-ns = <20>;
153 };
154 opp-156000000 {
155 opp-hz = /bits/ 64 <156000000>;
156 opp-microvolt = <1000000 1000000 1705000>;
157 clock-latency-ns = <20>;
158 };
159 opp-208000000 {
160 opp-hz = /bits/ 64 <208000000>;
161 opp-microvolt = <1180000 1180000 1705000>;
162 clock-latency-ns = <20>;
163 };
164 opp-312000000 {
165 opp-hz = /bits/ 64 <312000000>;
166 opp-microvolt = <1250000 1250000 1705000>;
167 clock-latency-ns = <20>;
168 };
169 opp-416000000 {
170 opp-hz = /bits/ 64 <416000000>;
171 opp-microvolt = <1350000 1350000 1705000>;
172 clock-latency-ns = <20>;
173 };
174 opp-520000000 {
175 opp-hz = /bits/ 64 <520000000>;
176 opp-microvolt = <1450000 1450000 1705000>;
177 clock-latency-ns = <20>;
178 };
179 opp-624000000 {
180 opp-hz = /bits/ 64 <624000000>;
181 opp-microvolt = <1550000 1550000 1705000>;
182 clock-latency-ns = <20>;
183 };
184 };
185};