xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/pxa300-raumfeld-controller.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun/dts-v1/;
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun#include "pxa300-raumfeld-common.dtsi"
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun/ {
8*4882a593Smuzhiyun	model = "Raumfeld Controller (PXA3xx)";
9*4882a593Smuzhiyun	compatible = "raumfeld,raumfeld-controller-pxa303", "marvell,pxa300";
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun	reg_vbatt: regulator-vbatt {
12*4882a593Smuzhiyun		compatible = "regulator-fixed";
13*4882a593Smuzhiyun		regulator-name = "vbatt-fixed-supply";
14*4882a593Smuzhiyun		regulator-min-microvolt = <3700000>;
15*4882a593Smuzhiyun		regulator-max-microvolt = <3700000>;
16*4882a593Smuzhiyun		regulator-always-on;
17*4882a593Smuzhiyun	};
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	lcd_supply: regulator-va-tft {
20*4882a593Smuzhiyun		compatible = "regulator-fixed";
21*4882a593Smuzhiyun		regulator-name = "va-tft-fixed-supply";
22*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
23*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
24*4882a593Smuzhiyun		gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
25*4882a593Smuzhiyun		enable-active-high;
26*4882a593Smuzhiyun	};
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun	onewire {
29*4882a593Smuzhiyun		compatible = "w1-gpio";
30*4882a593Smuzhiyun		pinctrl-names = "default";
31*4882a593Smuzhiyun		pinctrl-0 = <&w1_pins>;
32*4882a593Smuzhiyun		gpios = <
33*4882a593Smuzhiyun			&gpio 126 GPIO_OPEN_DRAIN	/* W1 I/O	*/
34*4882a593Smuzhiyun			&gpio 105 GPIO_ACTIVE_HIGH	/* pullup	*/
35*4882a593Smuzhiyun		>;
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun		w1_ds2760: slave-ds2760 {
38*4882a593Smuzhiyun			compatible = "maxim,ds2760";
39*4882a593Smuzhiyun			power-supplies = <&charger>;
40*4882a593Smuzhiyun		};
41*4882a593Smuzhiyun	};
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun	charger: charger {
44*4882a593Smuzhiyun		pinctrl-names = "default";
45*4882a593Smuzhiyun		pinctrl-0 = <&charger_pins>;
46*4882a593Smuzhiyun		compatible = "gpio-charger";
47*4882a593Smuzhiyun		charger-type = "mains";
48*4882a593Smuzhiyun		gpios = <&gpio 101 GPIO_ACTIVE_LOW>;
49*4882a593Smuzhiyun	};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	/*
52*4882a593Smuzhiyun	 * One of the following two will be set to "okay" by the bootloader,
53*4882a593Smuzhiyun	 * depending on the hardware revision.
54*4882a593Smuzhiyun	 */
55*4882a593Smuzhiyun	backlight-controller-pwm {
56*4882a593Smuzhiyun		compatible = "pwm-backlight";
57*4882a593Smuzhiyun		pinctrl-names = "default";
58*4882a593Smuzhiyun		pinctrl-0 = <&pwm0_pins>;
59*4882a593Smuzhiyun		pwms = <&pwm0 10000>;
60*4882a593Smuzhiyun		power-supply = <&reg_vbatt>;
61*4882a593Smuzhiyun		status = "disabled";
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun		brightness-levels = <
64*4882a593Smuzhiyun			 0  1  2  3  4  5  6  7  8  9
65*4882a593Smuzhiyun			10 11 12 13 14 15 16 17 18 19
66*4882a593Smuzhiyun			20 21 22 23 24 25 26 27 28 29
67*4882a593Smuzhiyun			30 31 32 33 34 35 36 37 38 39
68*4882a593Smuzhiyun			40 41 42 43 44 45 46 47 48 49
69*4882a593Smuzhiyun			50 51 52 53 54 55 56 57 58 59
70*4882a593Smuzhiyun			60 61 62 63 64 65 66 67 68 69
71*4882a593Smuzhiyun			70 71 72 73 74 75 76 77 78 79
72*4882a593Smuzhiyun			80 81 82 83 84 85 86 87 88 89
73*4882a593Smuzhiyun			90 91 92 93 94 95 96 97 98 99
74*4882a593Smuzhiyun			100
75*4882a593Smuzhiyun		>;
76*4882a593Smuzhiyun		default-brightness-level = <100>;
77*4882a593Smuzhiyun	};
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun	backlight-controller {
80*4882a593Smuzhiyun		compatible = "lltc,lt3593";
81*4882a593Smuzhiyun		pinctrl-names = "default";
82*4882a593Smuzhiyun		pinctrl-0 = <&lt3593_pins>;
83*4882a593Smuzhiyun		lltc,ctrl-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
84*4882a593Smuzhiyun		status = "disabled";
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun		led {
87*4882a593Smuzhiyun			label = "backlight";
88*4882a593Smuzhiyun			default-state = "on";
89*4882a593Smuzhiyun		};
90*4882a593Smuzhiyun	};
91*4882a593Smuzhiyun};
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun&reg_va_5v0 {
94*4882a593Smuzhiyun	status = "disabled";
95*4882a593Smuzhiyun};
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun&ethernet {
98*4882a593Smuzhiyun	status = "disabled";
99*4882a593Smuzhiyun};
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun&leds {
102*4882a593Smuzhiyun	status = "disabled";
103*4882a593Smuzhiyun};
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun&dac {
106*4882a593Smuzhiyun	status = "disabled";
107*4882a593Smuzhiyun};
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun&pwm0 {
110*4882a593Smuzhiyun	status = "okay";
111*4882a593Smuzhiyun};
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun&keys {
114*4882a593Smuzhiyun	pinctrl-0 = <&gpio_keys_pins &dock_detect_pins>;
115*4882a593Smuzhiyun	dock-detect {
116*4882a593Smuzhiyun		label = "dock detect";
117*4882a593Smuzhiyun		gpios = <&gpio 116 GPIO_ACTIVE_LOW>;
118*4882a593Smuzhiyun		linux,code = <KEY_F5>;
119*4882a593Smuzhiyun	};
120*4882a593Smuzhiyun};
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun&spi {
123*4882a593Smuzhiyun	accelerometer@1 {
124*4882a593Smuzhiyun		compatible = "st,lis302dl-spi";
125*4882a593Smuzhiyun		pinctrl-names = "default";
126*4882a593Smuzhiyun		pinctrl-0 = <&lis302_pins>;
127*4882a593Smuzhiyun		reg = <1>;
128*4882a593Smuzhiyun		spi-max-frequency = <1000000>;
129*4882a593Smuzhiyun		interrupt-parent = <&gpio>;
130*4882a593Smuzhiyun		interrupts = <104 IRQ_TYPE_EDGE_FALLING>;
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun		st,click-single-x;
133*4882a593Smuzhiyun		st,click-single-y;
134*4882a593Smuzhiyun		st,click-single-z;
135*4882a593Smuzhiyun		st,click-thresh-x = <10>;
136*4882a593Smuzhiyun		st,click-thresh-y = <10>;
137*4882a593Smuzhiyun		st,click-thresh-z = <10>;
138*4882a593Smuzhiyun		st,irq1-click;
139*4882a593Smuzhiyun		st,irq2-click;
140*4882a593Smuzhiyun		st,wakeup-x-lo;
141*4882a593Smuzhiyun		st,wakeup-x-hi;
142*4882a593Smuzhiyun		st,wakeup-y-lo;
143*4882a593Smuzhiyun		st,wakeup-y-hi;
144*4882a593Smuzhiyun		st,wakeup-z-lo;
145*4882a593Smuzhiyun		st,wakeup-z-hi;
146*4882a593Smuzhiyun	};
147*4882a593Smuzhiyun};
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun&lcdc {
150*4882a593Smuzhiyun	status = "okay";
151*4882a593Smuzhiyun	pinctrl-names = "default";
152*4882a593Smuzhiyun	pinctrl-0 = <&lcdc_pins>;
153*4882a593Smuzhiyun	lcd-supply = <&lcd_supply>;
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun	port {
156*4882a593Smuzhiyun		lcdc_out: endpoint {
157*4882a593Smuzhiyun			remote-endpoint = <&panel_in>;
158*4882a593Smuzhiyun			bus-width = <16>;
159*4882a593Smuzhiyun		};
160*4882a593Smuzhiyun	};
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun	panel {
163*4882a593Smuzhiyun		compatible = "sharp,lq043t3dx0-panel";
164*4882a593Smuzhiyun		display-timings {
165*4882a593Smuzhiyun			native-mode = <&timing0>;
166*4882a593Smuzhiyun			timing0: timing {
167*4882a593Smuzhiyun				clock-frequency = <9009000>;
168*4882a593Smuzhiyun				pixelclk-active = <0>;	/* negative edge */
169*4882a593Smuzhiyun				hactive = <480>;
170*4882a593Smuzhiyun				vactive = <272>;
171*4882a593Smuzhiyun				hsync-len = <41>;
172*4882a593Smuzhiyun				hback-porch = <2>;
173*4882a593Smuzhiyun				hfront-porch = <1>;
174*4882a593Smuzhiyun				vsync-len = <10>;
175*4882a593Smuzhiyun				vback-porch = <3>;
176*4882a593Smuzhiyun				vfront-porch = <1>;
177*4882a593Smuzhiyun			};
178*4882a593Smuzhiyun		};
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun		port {
181*4882a593Smuzhiyun			panel_in: endpoint {
182*4882a593Smuzhiyun				remote-endpoint = <&lcdc_out>;
183*4882a593Smuzhiyun			};
184*4882a593Smuzhiyun		};
185*4882a593Smuzhiyun	};
186*4882a593Smuzhiyun};
187*4882a593Smuzhiyun
188*4882a593Smuzhiyun&gcu {
189*4882a593Smuzhiyun	status = "okay";
190*4882a593Smuzhiyun};
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun&pxai2c1 {
193*4882a593Smuzhiyun	touchscreen@a {
194*4882a593Smuzhiyun		compatible = "eeti,exc3000-i2c";
195*4882a593Smuzhiyun		pinctrl-names = "default";
196*4882a593Smuzhiyun		pinctrl-0 = <&eeti_ts_pins>;
197*4882a593Smuzhiyun		reg = <0xa>;
198*4882a593Smuzhiyun		interrupt-parent = <&gpio>;
199*4882a593Smuzhiyun		interrupts = <32 IRQ_TYPE_EDGE_RISING>;
200*4882a593Smuzhiyun		attn-gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
201*4882a593Smuzhiyun		touchscreen-inverted-y;
202*4882a593Smuzhiyun	};
203*4882a593Smuzhiyun};
204*4882a593Smuzhiyun
205*4882a593Smuzhiyun&pinctrl {
206*4882a593Smuzhiyun	lis302_pins: lis302-pins {
207*4882a593Smuzhiyun		pinctrl-single,pins = <
208*4882a593Smuzhiyun			MFP_PIN_PXA300(104) MFP_AF0	/* IRQ	*/
209*4882a593Smuzhiyun		>;
210*4882a593Smuzhiyun		pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
211*4882a593Smuzhiyun	};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun	eeti_ts_pins: eeti-ts-pins {
214*4882a593Smuzhiyun		pinctrl-single,pins = <
215*4882a593Smuzhiyun			MFP_PIN_PXA300(32) MFP_AF0	/* IRQ */
216*4882a593Smuzhiyun		>;
217*4882a593Smuzhiyun		pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
218*4882a593Smuzhiyun	};
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun	lt3593_pins: lt3593-pins {
221*4882a593Smuzhiyun		pinctrl-single,pins = <
222*4882a593Smuzhiyun			MFP_PIN_PXA300(17) MFP_AF0	/* Backlight	*/
223*4882a593Smuzhiyun		>;
224*4882a593Smuzhiyun		pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
225*4882a593Smuzhiyun	};
226*4882a593Smuzhiyun
227*4882a593Smuzhiyun	pwm0_pins: pwm0-pins {
228*4882a593Smuzhiyun		pinctrl-single,pins = <
229*4882a593Smuzhiyun			MFP_PIN_PXA300(17) MFP_AF1	/* PWM	*/
230*4882a593Smuzhiyun		>;
231*4882a593Smuzhiyun		pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
232*4882a593Smuzhiyun	};
233*4882a593Smuzhiyun
234*4882a593Smuzhiyun	w1_pins: w1-pins {
235*4882a593Smuzhiyun		pinctrl-single,pins = <
236*4882a593Smuzhiyun			MFP_PIN_PXA300(126) MFP_AF0	/* PWM	*/
237*4882a593Smuzhiyun			MFP_PIN_PXA300(105) MFP_AF0	/* PWM	*/
238*4882a593Smuzhiyun		>;
239*4882a593Smuzhiyun		pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
240*4882a593Smuzhiyun	};
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun	charger_pins: charger_pins {
243*4882a593Smuzhiyun		pinctrl-single,pins = <
244*4882a593Smuzhiyun			MFP_PIN_PXA300(31) MFP_AF0	/* PEN2	*/
245*4882a593Smuzhiyun		>;
246*4882a593Smuzhiyun		pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_HIGH);
247*4882a593Smuzhiyun		pinctrl-single,bias-pullup = MPF_PULL_UP;
248*4882a593Smuzhiyun	};
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun	dock_detect_pins: dock_detect_pins {
251*4882a593Smuzhiyun		pinctrl-single,pins = <
252*4882a593Smuzhiyun			MFP_PIN_PXA300(116) MFP_AF0	/* DOCK_DETECT	*/
253*4882a593Smuzhiyun		>;
254*4882a593Smuzhiyun		pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_HIGH);
255*4882a593Smuzhiyun		pinctrl-single,bias-pullup = MPF_PULL_UP;
256*4882a593Smuzhiyun	};
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun	lcdc_pins: lcdc-pins {
259*4882a593Smuzhiyun		pinctrl-single,pins = <
260*4882a593Smuzhiyun			MFP_PIN_PXA300(54) MFP_AF1	/* LDD_0	*/
261*4882a593Smuzhiyun			MFP_PIN_PXA300(55) MFP_AF1	/* LDD_1	*/
262*4882a593Smuzhiyun			MFP_PIN_PXA300(56) MFP_AF1	/* LDD_2	*/
263*4882a593Smuzhiyun			MFP_PIN_PXA300(57) MFP_AF1	/* LDD_3	*/
264*4882a593Smuzhiyun			MFP_PIN_PXA300(58) MFP_AF1	/* LDD_4	*/
265*4882a593Smuzhiyun			MFP_PIN_PXA300(59) MFP_AF1	/* LDD_5	*/
266*4882a593Smuzhiyun			MFP_PIN_PXA300(60) MFP_AF1	/* LDD_6	*/
267*4882a593Smuzhiyun			MFP_PIN_PXA300(61) MFP_AF1	/* LDD_7	*/
268*4882a593Smuzhiyun			MFP_PIN_PXA300(62) MFP_AF1	/* LDD_8	*/
269*4882a593Smuzhiyun			MFP_PIN_PXA300(63) MFP_AF1	/* LDD_9	*/
270*4882a593Smuzhiyun			MFP_PIN_PXA300(64) MFP_AF1	/* LDD_10	*/
271*4882a593Smuzhiyun			MFP_PIN_PXA300(65) MFP_AF1	/* LDD_11	*/
272*4882a593Smuzhiyun			MFP_PIN_PXA300(66) MFP_AF1	/* LDD_12	*/
273*4882a593Smuzhiyun			MFP_PIN_PXA300(67) MFP_AF1	/* LDD_13	*/
274*4882a593Smuzhiyun			MFP_PIN_PXA300(68) MFP_AF1	/* LDD_14	*/
275*4882a593Smuzhiyun			MFP_PIN_PXA300(69) MFP_AF1	/* LDD_15	*/
276*4882a593Smuzhiyun			MFP_PIN_PXA300(70) MFP_AF1	/* LDD_16	*/
277*4882a593Smuzhiyun			MFP_PIN_PXA300(71) MFP_AF1	/* LDD_17	*/
278*4882a593Smuzhiyun			MFP_PIN_PXA300(72) MFP_AF1	/* LCD_FCLK	*/
279*4882a593Smuzhiyun			MFP_PIN_PXA300(73) MFP_AF1	/* LCD_LCLK	*/
280*4882a593Smuzhiyun			MFP_PIN_PXA300(74) MFP_AF1	/* LCD_PCLK	*/
281*4882a593Smuzhiyun			MFP_PIN_PXA300(75) MFP_AF1	/* LCD_BIAS	*/
282*4882a593Smuzhiyun		>;
283*4882a593Smuzhiyun		pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
284*4882a593Smuzhiyun	};
285*4882a593Smuzhiyun};
286