summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/pxa27x.dtsi
blob: 1402e234cca4af2adfb4ec3c9a2ae5ec3b6e589e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/* The pxa3xx skeleton simply augments the 2xx version */
#include "pxa2xx.dtsi"
#include "dt-bindings/clock/pxa-clock.h"

/ {
	model = "Marvell PXA27x familiy SoC";
	compatible = "marvell,pxa27x";

	pxabus {
		pdma: dma-controller@40000000 {
			compatible = "marvell,pdma-1.0";
			reg = <0x40000000 0x10000>;
			interrupts = <25>;
			#dma-channels = <32>;
			#dma-cells = <2>;
			status = "okay";
		};

		pxairq: interrupt-controller@40d00000 {
			marvell,intc-priority;
			marvell,intc-nr-irqs = <34>;
		};

		gpio: gpio@40e00000 {
			compatible = "intel,pxa27x-gpio";
			clocks = <&clks CLK_NONE>;
		};

		pwm0: pwm@40b00000 {
			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
			reg = <0x40b00000 0x10>;
			#pwm-cells = <1>;
			clocks = <&clks CLK_PWM0>;
		};

		pwm1: pwm@40b00010 {
			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
			reg = <0x40b00010 0x10>;
			#pwm-cells = <1>;
			clocks = <&clks CLK_PWM1>;
		};

		pwm2: pwm@40c00000 {
			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
			reg = <0x40c00000 0x10>;
			#pwm-cells = <1>;
			clocks = <&clks CLK_PWM0>;
		};

		pwm3: pwm@40c00010 {
			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
			reg = <0x40c00010 0x10>;
			#pwm-cells = <1>;
			clocks = <&clks CLK_PWM1>;
		};

		pwri2c: i2c@40f000180 {
			compatible = "mrvl,pxa-i2c";
			reg = <0x40f00180 0x24>;
			interrupts = <6>;
			clocks = <&clks CLK_PWRI2C>;
			status = "disabled";
		};

		pxa27x_udc: udc@40600000 {
			compatible = "marvell,pxa270-udc";
			reg = <0x40600000 0x10000>;
			interrupts = <11>;
			clocks = <&clks CLK_USB>;
			status = "disabled";
		};

		keypad: keypad@41500000 {
			compatible = "marvell,pxa27x-keypad";
			reg = <0x41500000 0x4c>;
			interrupts = <4>;
			clocks = <&clks CLK_KEYPAD>;
			status = "disabled";
		};

		pxa_camera: imaging@50000000 {
			compatible = "marvell,pxa270-qci";
			reg = <0x50000000 0x1000>;
			interrupts = <33>;
			dmas = <&pdma 68 0	/* Y channel */
				&pdma 69 0	/* U channel */
				&pdma 70 0>;	/* V channel */
			dma-names = "CI_Y", "CI_U", "CI_V";

			clocks = <&clks CLK_CAMERA>;
			clock-names = "ciclk";
			clock-frequency = <5000000>;
			clock-output-names = "qci_mclk";

			status = "disabled";
		};
	};

	clocks {
	       /*
		* The muxing of external clocks/internal dividers for osc* clock
		* sources has been hidden under the carpet by now.
		*/
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		clks: pxa2xx_clks@41300004 {
			compatible = "marvell,pxa270-clocks";
			#clock-cells = <1>;
			status = "okay";
		};
	};

	timer@40a00000 {
		compatible = "marvell,pxa-timer";
		reg = <0x40a00000 0x20>;
		interrupts = <26>;
		clocks = <&clks CLK_OSTIMER>;
		status = "okay";
	};
};