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