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 = <®_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 = <<3593_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®_va_5v0 { 94*4882a593Smuzhiyun status = "disabled"; 95*4882a593Smuzhiyun}; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyunðernet { 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