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