1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 2 /* 3 * Devicetree for the Samsung XCover 2 GT-S771 3 * Devicetree for the Samsung XCover 2 GT-S7710 also known as Skomer. 4 */ 4 */ 5 5 6 /dts-v1/; 6 /dts-v1/; 7 #include "ste-db8500.dtsi" 7 #include "ste-db8500.dtsi" 8 #include "ste-ab8505.dtsi" 8 #include "ste-ab8505.dtsi" 9 #include "ste-dbx5x0-pinctrl.dtsi" 9 #include "ste-dbx5x0-pinctrl.dtsi" 10 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/leds/common.h> 11 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/input/input.h> 13 #include <dt-bindings/interrupt-controller/irq 13 #include <dt-bindings/interrupt-controller/irq.h> 14 14 15 / { 15 / { 16 model = "Samsung XCover 2 (GT-S7710)"; 16 model = "Samsung XCover 2 (GT-S7710)"; 17 compatible = "samsung,skomer", "st-eri 17 compatible = "samsung,skomer", "st-ericsson,u8500"; 18 18 19 chosen { 19 chosen { 20 stdout-path = &serial2; 20 stdout-path = &serial2; 21 }; 21 }; 22 22 23 battery: battery { 23 battery: battery { 24 compatible = "samsung,eb485159 24 compatible = "samsung,eb485159lu"; 25 }; 25 }; 26 26 27 thermal-zones { 27 thermal-zones { 28 battery-thermal { 28 battery-thermal { 29 /* This zone will be p 29 /* This zone will be polled by the battery temperature code */ 30 polling-delay = <0>; 30 polling-delay = <0>; 31 polling-delay-passive 31 polling-delay-passive = <0>; 32 thermal-sensors = <&ba 32 thermal-sensors = <&bat_therm>; 33 33 34 trips { 34 trips { 35 battery-crit-h 35 battery-crit-hi { 36 temper 36 temperature = <70000>; 37 hyster 37 hysteresis = <2000>; 38 type = 38 type = "critical"; 39 }; 39 }; 40 }; 40 }; 41 }; 41 }; 42 }; 42 }; 43 43 44 bat_therm: thermistor { 44 bat_therm: thermistor { 45 compatible = "samsung,1404-001 45 compatible = "samsung,1404-001221"; 46 io-channels = <&gpadc 0x02>; / 46 io-channels = <&gpadc 0x02>; /* BatTemp */ 47 pullup-uv = <1800000>; 47 pullup-uv = <1800000>; 48 pullup-ohm = <230000>; 48 pullup-ohm = <230000>; 49 pulldown-ohm = <0>; 49 pulldown-ohm = <0>; 50 #thermal-sensor-cells = <0>; 50 #thermal-sensor-cells = <0>; 51 }; 51 }; 52 52 53 /* TI TXS0206 level translator for 2.9 53 /* TI TXS0206 level translator for 2.9 V */ 54 sd_level_translator: regulator-gpio { 54 sd_level_translator: regulator-gpio { 55 compatible = "regulator-fixed" 55 compatible = "regulator-fixed"; 56 56 57 /* GPIO87 EN */ 57 /* GPIO87 EN */ 58 gpios = <&gpio2 23 GPIO_ACTIVE 58 gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>; 59 enable-active-high; 59 enable-active-high; 60 60 61 regulator-name = "sd-level-tra 61 regulator-name = "sd-level-translator"; 62 regulator-min-microvolt = <290 62 regulator-min-microvolt = <2900000>; 63 regulator-max-microvolt = <290 63 regulator-max-microvolt = <2900000>; 64 regulator-type = "voltage"; 64 regulator-type = "voltage"; 65 65 66 startup-delay-us = <200>; 66 startup-delay-us = <200>; 67 67 68 pinctrl-names = "default"; 68 pinctrl-names = "default"; 69 pinctrl-0 = <&sd_level_transla 69 pinctrl-0 = <&sd_level_translator_default>; 70 }; 70 }; 71 71 72 /* External LDO MIC5366-3.3YMT for eMM 72 /* External LDO MIC5366-3.3YMT for eMMC */ 73 ldo_3v3_reg: regulator-gpio-ldo-3v3 { 73 ldo_3v3_reg: regulator-gpio-ldo-3v3 { 74 compatible = "regulator-fixed" 74 compatible = "regulator-fixed"; 75 regulator-name = "en-3v3-fixed 75 regulator-name = "en-3v3-fixed-supply"; 76 regulator-min-microvolt = <330 76 regulator-min-microvolt = <3300000>; 77 regulator-max-microvolt = <330 77 regulator-max-microvolt = <3300000>; 78 gpio = <&gpio6 31 GPIO_ACTIVE_ 78 gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>; 79 startup-delay-us = <5000>; 79 startup-delay-us = <5000>; 80 enable-active-high; 80 enable-active-high; 81 pinctrl-names = "default"; 81 pinctrl-names = "default"; 82 pinctrl-0 = <&emmc_ldo_en_defa 82 pinctrl-0 = <&emmc_ldo_en_default_mode>; 83 }; 83 }; 84 84 85 wlan_en: regulator-gpio-wlan-en { 85 wlan_en: regulator-gpio-wlan-en { 86 compatible = "regulator-fixed" 86 compatible = "regulator-fixed"; 87 regulator-name = "wl-reg-on"; 87 regulator-name = "wl-reg-on"; 88 regulator-min-microvolt = <300 88 regulator-min-microvolt = <3000000>; 89 regulator-max-microvolt = <300 89 regulator-max-microvolt = <3000000>; 90 startup-delay-us = <200000>; 90 startup-delay-us = <200000>; 91 /* GPIO215 WLAN_EN */ 91 /* GPIO215 WLAN_EN */ 92 gpio = <&gpio6 23 GPIO_ACTIVE_ 92 gpio = <&gpio6 23 GPIO_ACTIVE_HIGH>; 93 enable-active-high; 93 enable-active-high; 94 pinctrl-names = "default"; 94 pinctrl-names = "default"; 95 pinctrl-0 = <&wlan_en_default_ 95 pinctrl-0 = <&wlan_en_default_mode>; 96 }; 96 }; 97 97 98 vibrator { 98 vibrator { 99 compatible = "gpio-vibrator"; 99 compatible = "gpio-vibrator"; 100 enable-gpios = <&gpio6 3 GPIO_ 100 enable-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; 101 pinctrl-names = "default"; 101 pinctrl-names = "default"; 102 pinctrl-0 = <&vibrator_default 102 pinctrl-0 = <&vibrator_default>; 103 }; 103 }; 104 104 105 gpio-keys { 105 gpio-keys { 106 compatible = "gpio-keys"; 106 compatible = "gpio-keys"; 107 pinctrl-names = "default"; 107 pinctrl-names = "default"; 108 pinctrl-0 = <&gpio_keys_defaul 108 pinctrl-0 = <&gpio_keys_default_mode>; 109 109 110 button-home { 110 button-home { 111 linux,code = <KEY_HOME 111 linux,code = <KEY_HOME>; 112 label = "HOME"; 112 label = "HOME"; 113 /* GPIO91 */ 113 /* GPIO91 */ 114 gpios = <&gpio2 27 GPI 114 gpios = <&gpio2 27 GPIO_ACTIVE_LOW>; 115 }; 115 }; 116 button-volup { 116 button-volup { 117 linux,code = <KEY_VOLU 117 linux,code = <KEY_VOLUMEUP>; 118 label = "VOL+"; 118 label = "VOL+"; 119 /* GPIO67 */ 119 /* GPIO67 */ 120 gpios = <&gpio2 3 GPIO 120 gpios = <&gpio2 3 GPIO_ACTIVE_LOW>; 121 }; 121 }; 122 button-voldown { 122 button-voldown { 123 linux,code = <KEY_VOLU 123 linux,code = <KEY_VOLUMEDOWN>; 124 label = "VOL-"; 124 label = "VOL-"; 125 /* GPIO92 */ 125 /* GPIO92 */ 126 gpios = <&gpio2 28 GPI 126 gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; 127 }; 127 }; 128 button-menu { 128 button-menu { 129 linux,code = <KEY_MENU 129 linux,code = <KEY_MENU>; 130 label = "MENU"; 130 label = "MENU"; 131 /* GPIO204 */ 131 /* GPIO204 */ 132 gpios = <&gpio6 12 GPI 132 gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; 133 }; 133 }; 134 button-back { 134 button-back { 135 linux,code = <KEY_BACK 135 linux,code = <KEY_BACK>; 136 label = "BACK"; 136 label = "BACK"; 137 /* GPIO205 */ 137 /* GPIO205 */ 138 gpios = <&gpio6 13 GPI 138 gpios = <&gpio6 13 GPIO_ACTIVE_LOW>; 139 }; 139 }; 140 }; 140 }; 141 141 142 ktd253: backlight { 142 ktd253: backlight { 143 compatible = "kinetic,ktd253"; 143 compatible = "kinetic,ktd253"; 144 /* GPIO 69 */ 144 /* GPIO 69 */ 145 enable-gpios = <&gpio2 5 GPIO_ 145 enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; 146 /* Default to 13/32 brightness 146 /* Default to 13/32 brightness */ 147 default-brightness = <13>; 147 default-brightness = <13>; 148 pinctrl-names = "default"; 148 pinctrl-names = "default"; 149 pinctrl-0 = <&gpio_backlight_d 149 pinctrl-0 = <&gpio_backlight_default_mode>; 150 }; 150 }; 151 151 152 /* Richtek RT8515GQW Flash LED Driver 152 /* Richtek RT8515GQW Flash LED Driver IC */ 153 flash { 153 flash { 154 compatible = "richtek,rt8515"; 154 compatible = "richtek,rt8515"; 155 /* GPIO 140 */ 155 /* GPIO 140 */ 156 enf-gpios = <&gpio4 12 GPIO_AC 156 enf-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; 157 /* GPIO 141 */ 157 /* GPIO 141 */ 158 ent-gpios = <&gpio4 13 GPIO_AC 158 ent-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>; 159 /* 159 /* 160 * RFS is 16 kOhm and RTS is 1 160 * RFS is 16 kOhm and RTS is 100 kOhm giving 161 * the flash max current 343mA 161 * the flash max current 343mA and torch max 162 * current 55 mA. 162 * current 55 mA. 163 */ 163 */ 164 richtek,rfs-ohms = <16000>; 164 richtek,rfs-ohms = <16000>; 165 richtek,rts-ohms = <100000>; 165 richtek,rts-ohms = <100000>; 166 pinctrl-names = "default"; 166 pinctrl-names = "default"; 167 pinctrl-0 = <&gpio_flash_defau 167 pinctrl-0 = <&gpio_flash_default_mode>; 168 168 169 led { 169 led { 170 function = LED_FUNCTIO 170 function = LED_FUNCTION_FLASH; 171 color = <LED_COLOR_ID_ 171 color = <LED_COLOR_ID_WHITE>; 172 flash-max-timeout-us = 172 flash-max-timeout-us = <250000>; 173 flash-max-microamp = < 173 flash-max-microamp = <343750>; 174 led-max-microamp = <55 174 led-max-microamp = <55000>; 175 }; 175 }; 176 }; 176 }; 177 177 178 i2c-gpio-0 { 178 i2c-gpio-0 { 179 compatible = "i2c-gpio"; 179 compatible = "i2c-gpio"; 180 sda-gpios = <&gpio4 16 (GPIO_A 180 sda-gpios = <&gpio4 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 181 scl-gpios = <&gpio4 15 (GPIO_A 181 scl-gpios = <&gpio4 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 182 pinctrl-names = "default"; 182 pinctrl-names = "default"; 183 pinctrl-0 = <&i2c_gpio_0_defau 183 pinctrl-0 = <&i2c_gpio_0_default>; 184 #address-cells = <1>; 184 #address-cells = <1>; 185 #size-cells = <0>; 185 #size-cells = <0>; 186 /* TODO: this should be used b 186 /* TODO: this should be used by the NCP6914 Camera power management unit */ 187 }; 187 }; 188 188 189 i2c-gpio-1 { 189 i2c-gpio-1 { 190 compatible = "i2c-gpio"; 190 compatible = "i2c-gpio"; 191 sda-gpios = <&gpio4 24 (GPIO_A 191 sda-gpios = <&gpio4 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 192 scl-gpios = <&gpio4 23 (GPIO_A 192 scl-gpios = <&gpio4 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 193 pinctrl-names = "default"; 193 pinctrl-names = "default"; 194 pinctrl-0 = <&i2c_gpio_1_defau 194 pinctrl-0 = <&i2c_gpio_1_default>; 195 #address-cells = <1>; 195 #address-cells = <1>; 196 #size-cells = <0>; 196 #size-cells = <0>; 197 magnetometer@c { 197 magnetometer@c { 198 compatible = "alps,hsc 198 compatible = "alps,hscdtd008a"; 199 reg = <0x0c>; 199 reg = <0x0c>; 200 avdd-supply = <&ab8500 200 avdd-supply = <&ab8500_ldo_aux1_reg>; 201 dvdd-supply = <&ab8500 201 dvdd-supply = <&ab8500_ldo_aux8_reg>; 202 }; 202 }; 203 }; 203 }; 204 204 205 soc { 205 soc { 206 // External Micro SD slot 206 // External Micro SD slot 207 mmc@80126000 { 207 mmc@80126000 { 208 arm,primecell-periphid 208 arm,primecell-periphid = <0x10480180>; 209 max-frequency = <10000 209 max-frequency = <100000000>; 210 bus-width = <4>; 210 bus-width = <4>; 211 cap-sd-highspeed; 211 cap-sd-highspeed; 212 cap-mmc-highspeed; 212 cap-mmc-highspeed; 213 /* All direction contr 213 /* All direction control is used */ 214 st,sig-pin-fbclk; 214 st,sig-pin-fbclk; 215 full-pwr-cycle; 215 full-pwr-cycle; 216 vmmc-supply = <&ab8500 216 vmmc-supply = <&ab8500_ldo_aux3_reg>; 217 vqmmc-supply = <&sd_le 217 vqmmc-supply = <&sd_level_translator>; 218 pinctrl-names = "defau 218 pinctrl-names = "default", "sleep"; 219 pinctrl-0 = <&mc0_a_1_ 219 pinctrl-0 = <&mc0_a_1_default>; 220 pinctrl-1 = <&mc0_a_1_ 220 pinctrl-1 = <&mc0_a_1_sleep>; 221 status = "okay"; 221 status = "okay"; 222 }; 222 }; 223 223 224 // WLAN SDIO channel 224 // WLAN SDIO channel 225 mmc@80118000 { 225 mmc@80118000 { 226 arm,primecell-periphid 226 arm,primecell-periphid = <0x10480180>; 227 max-frequency = <50000 227 max-frequency = <50000000>; 228 bus-width = <4>; 228 bus-width = <4>; 229 non-removable; 229 non-removable; 230 cap-sd-highspeed; 230 cap-sd-highspeed; 231 vmmc-supply = <&wlan_e 231 vmmc-supply = <&wlan_en>; 232 pinctrl-names = "defau 232 pinctrl-names = "default", "sleep"; 233 pinctrl-0 = <&mc1_a_2_ 233 pinctrl-0 = <&mc1_a_2_default>; 234 pinctrl-1 = <&mc1_a_2_ 234 pinctrl-1 = <&mc1_a_2_sleep>; 235 status = "okay"; 235 status = "okay"; 236 #address-cells = <1>; 236 #address-cells = <1>; 237 #size-cells = <0>; 237 #size-cells = <0>; 238 238 239 wifi@1 { 239 wifi@1 { 240 compatible = " 240 compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac"; 241 reg = <1>; 241 reg = <1>; 242 /* GPIO216 WL_ 242 /* GPIO216 WL_HOST_WAKE */ 243 interrupt-pare 243 interrupt-parent = <&gpio6>; 244 interrupts = < 244 interrupts = <24 IRQ_TYPE_EDGE_FALLING>; 245 interrupt-name 245 interrupt-names = "host-wake"; 246 pinctrl-names 246 pinctrl-names = "default"; 247 pinctrl-0 = <& 247 pinctrl-0 = <&wlan_default_mode>; 248 }; 248 }; 249 }; 249 }; 250 250 251 /* 251 /* 252 * eMMC seems to be mostly Sam 252 * eMMC seems to be mostly Samsung KLM4G1YE4C "4YMD1R" 253 */ 253 */ 254 mmc@80005000 { 254 mmc@80005000 { 255 arm,primecell-periphid 255 arm,primecell-periphid = <0x10480180>; 256 max-frequency = <10000 256 max-frequency = <100000000>; 257 bus-width = <8>; 257 bus-width = <8>; 258 non-removable; 258 non-removable; 259 cap-mmc-highspeed; 259 cap-mmc-highspeed; 260 mmc-ddr-1_8v; 260 mmc-ddr-1_8v; 261 no-sdio; 261 no-sdio; 262 no-sd; 262 no-sd; 263 /* From datasheet page 263 /* From datasheet page 26 figure 9: 300 ms set-up time for 4GB */ 264 post-power-on-delay-ms 264 post-power-on-delay-ms = <300>; 265 vmmc-supply = <&ldo_3v 265 vmmc-supply = <&ldo_3v3_reg>; 266 pinctrl-names = "defau 266 pinctrl-names = "default", "sleep"; 267 pinctrl-0 = <&mc2_a_1_ 267 pinctrl-0 = <&mc2_a_1_default>; 268 pinctrl-1 = <&mc2_a_1_ 268 pinctrl-1 = <&mc2_a_1_sleep>; 269 269 270 status = "okay"; 270 status = "okay"; 271 }; 271 }; 272 272 273 /* GBF (Bluetooth) UART */ 273 /* GBF (Bluetooth) UART */ 274 serial@80120000 { 274 serial@80120000 { 275 pinctrl-names = "defau 275 pinctrl-names = "default", "sleep"; 276 pinctrl-0 = <&u0_a_1_d 276 pinctrl-0 = <&u0_a_1_default>; 277 pinctrl-1 = <&u0_a_1_s 277 pinctrl-1 = <&u0_a_1_sleep>; 278 status = "okay"; 278 status = "okay"; 279 279 280 /* FIXME: not quite wo 280 /* FIXME: not quite working yet, probably needs regulators */ 281 bluetooth { 281 bluetooth { 282 /* BCM4334B0 a 282 /* BCM4334B0 actually */ 283 compatible = " 283 compatible = "brcm,bcm4330-bt"; 284 shutdown-gpios 284 shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>; 285 device-wakeup- 285 device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>; 286 host-wakeup-gp 286 host-wakeup-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>; 287 pinctrl-names 287 pinctrl-names = "default"; 288 pinctrl-0 = <& 288 pinctrl-0 = <&bluetooth_default_mode>; 289 }; 289 }; 290 }; 290 }; 291 291 292 /* GPS UART */ 292 /* GPS UART */ 293 serial@80121000 { 293 serial@80121000 { 294 status = "okay"; 294 status = "okay"; 295 pinctrl-names = "defau 295 pinctrl-names = "default", "sleep"; 296 pinctrl-0 = <&u1rxtx_a 296 pinctrl-0 = <&u1rxtx_a_1_default &u1ctsrts_a_1_default>; 297 pinctrl-1 = <&u1rxtx_a 297 pinctrl-1 = <&u1rxtx_a_1_sleep &u1ctsrts_a_1_sleep>; 298 298 299 gnss { 299 gnss { 300 /* The CSRG05T 300 /* The CSRG05TA03-ICJE-R is a SirfStarV 5t chip */ 301 compatible = " 301 compatible = "csr,csrg05ta03-icje-r"; 302 /* GPS_RSTN on 302 /* GPS_RSTN on GPIO209 */ 303 reset-gpios = 303 reset-gpios = <&gpio6 17 GPIO_ACTIVE_LOW>; 304 /* GPS_ON_OFF 304 /* GPS_ON_OFF on GPIO86 */ 305 sirf,onoff-gpi 305 sirf,onoff-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>; 306 /* GPS_1V8 (VS 306 /* GPS_1V8 (VSMPS2) */ 307 vcc-supply = < 307 vcc-supply = <&db8500_vsmps2_reg>; 308 pinctrl-names 308 pinctrl-names = "default"; 309 pinctrl-0 = <& 309 pinctrl-0 = <&g05ta03_skomer_default>; 310 /* According t 310 /* According to /etc/sirfgps.conf */ 311 current-speed 311 current-speed = <460800>; 312 }; 312 }; 313 }; 313 }; 314 314 315 /* Debugging console UART conn 315 /* Debugging console UART connected to AB8505 USB */ 316 serial@80007000 { 316 serial@80007000 { 317 status = "okay"; 317 status = "okay"; 318 pinctrl-names = "defau 318 pinctrl-names = "default", "sleep"; 319 pinctrl-0 = <&u2rxtx_c 319 pinctrl-0 = <&u2rxtx_c_1_default>; 320 pinctrl-1 = <&u2rxtx_c 320 pinctrl-1 = <&u2rxtx_c_1_sleep>; 321 }; 321 }; 322 322 323 prcmu@80157000 { 323 prcmu@80157000 { 324 ab8505 { 324 ab8505 { 325 phy { 325 phy { 326 pinctr 326 pinctrl-names = "default", "sleep"; 327 pinctr 327 pinctrl-0 = <&usb_a_1_default>; 328 pinctr 328 pinctrl-1 = <&usb_a_1_sleep>; 329 }; 329 }; 330 330 331 ab8500_fg { 331 ab8500_fg { 332 line-i 332 line-impedance-micro-ohms = <16000>; 333 }; 333 }; 334 334 335 regulator { 335 regulator { 336 ab8500 336 ab8500_ldo_aux1 { 337 337 /* Used for VDD for sensors */ 338 338 regulator-name = "AUX1"; 339 339 regulator-min-microvolt = <3000000>; 340 340 regulator-max-microvolt = <3300000>; 341 }; 341 }; 342 342 343 ab8500 343 ab8500_ldo_aux2 { 344 344 /* Supplies the Cypress TMA140 touchscreen only with 3.0V */ 345 345 regulator-name = "AUX2"; 346 346 regulator-min-microvolt = <3000000>; 347 347 regulator-max-microvolt = <3000000>; 348 }; 348 }; 349 349 350 ab8500 350 ab8500_ldo_aux3 { 351 351 /* Used for voltage for external MMC/SD card */ 352 352 regulator-name = "AUX3"; 353 353 regulator-min-microvolt = <1100000>; 354 354 regulator-max-microvolt = <3300000>; 355 }; 355 }; 356 356 357 ab8500 357 ab8500_ldo_aux4 { 358 358 regulator-name = "AUX4"; 359 359 /* Hammer to 3.0V for the display */ 360 360 regulator-min-microvolt = <3000000>; 361 361 regulator-max-microvolt = <3000000>; 362 }; 362 }; 363 363 364 ab8500 364 ab8500_ldo_aux5 { 365 365 regulator-name = "AUX5"; 366 366 /* Intended for 1V8 for touchscreen but actually left unused */ 367 367 regulator-min-microvolt = <1050000>; 368 368 regulator-max-microvolt = <2790000>; 369 }; 369 }; 370 370 371 ab8500 371 ab8500_ldo_aux6 { 372 372 regulator-name = "AUX6"; 373 373 /* Hammer to 1.8V for the display */ 374 374 regulator-min-microvolt = <1800000>; 375 375 regulator-max-microvolt = <1800000>; 376 }; 376 }; 377 377 378 ab8500 378 ab8500_ldo_aux8 { 379 379 /* Mostly VIO for sensors */ 380 380 regulator-name = "AUX8"; 381 }; 381 }; 382 }; 382 }; 383 }; 383 }; 384 }; 384 }; 385 385 386 /* I2C0 */ 386 /* I2C0 */ 387 i2c@80004000 { 387 i2c@80004000 { 388 status = "okay"; 388 status = "okay"; 389 389 390 pinctrl-names = "defau 390 pinctrl-names = "default", "sleep"; 391 pinctrl-0 = <&i2c0_a_1 391 pinctrl-0 = <&i2c0_a_1_default>; 392 pinctrl-1 = <&i2c0_a_1 392 pinctrl-1 = <&i2c0_a_1_sleep>; 393 393 394 proximity@44 { 394 proximity@44 { 395 compatible = " 395 compatible = "sharp,gp2ap002s00f"; 396 clock-frequenc 396 clock-frequency = <400000>; 397 reg = <0x44>; 397 reg = <0x44>; 398 398 399 interrupt-pare 399 interrupt-parent = <&gpio4>; 400 interrupts = < 400 interrupts = <18 IRQ_TYPE_EDGE_FALLING>; 401 vdd-supply = < 401 vdd-supply = <&ab8500_ldo_aux1_reg>; 402 vio-supply = < 402 vio-supply = <&ab8500_ldo_aux8_reg>; 403 pinctrl-names 403 pinctrl-names = "default"; 404 pinctrl-0 = <& 404 pinctrl-0 = <&gp2ap002_skomer_default>; 405 sharp,proximit 405 sharp,proximity-far-hysteresis = /bits/ 8 <0x2f>; 406 sharp,proximit 406 sharp,proximity-close-hysteresis = /bits/ 8 <0x0f>; 407 }; 407 }; 408 }; 408 }; 409 409 410 410 411 /* I2C2 */ 411 /* I2C2 */ 412 i2c@80128000 { 412 i2c@80128000 { 413 status = "okay"; 413 status = "okay"; 414 414 415 pinctrl-names = "defau 415 pinctrl-names = "default", "sleep"; 416 pinctrl-0 = <&i2c2_b_2 416 pinctrl-0 = <&i2c2_b_2_default>; 417 pinctrl-1 = <&i2c2_b_2 417 pinctrl-1 = <&i2c2_b_2_sleep>; 418 418 419 accel@18 { 419 accel@18 { 420 compatible = " 420 compatible = "bosch,bma254"; 421 clock-frequenc 421 clock-frequency = <400000>; 422 reg = <0x18>; 422 reg = <0x18>; 423 423 424 /* GPIO224 use 424 /* GPIO224 used as "smart alert" interrupt */ 425 interrupt-pare 425 interrupt-parent = <&gpio7>; 426 interrupts = < 426 interrupts = <0 IRQ_TYPE_EDGE_RISING>; 427 427 428 mount-matrix = 428 mount-matrix = "0", "-1", "0", 429 429 "1", "0", "0", 430 430 "0", "0", "1"; 431 vdd-supply = < 431 vdd-supply = <&ab8500_ldo_aux1_reg>; 432 vddio-supply = 432 vddio-supply = <&ab8500_ldo_aux8_reg>; 433 pinctrl-names 433 pinctrl-names = "default"; 434 pinctrl-0 = <& 434 pinctrl-0 = <&bma254_skomer_default>; 435 }; 435 }; 436 }; 436 }; 437 437 438 /* I2C3 */ 438 /* I2C3 */ 439 i2c@80110000 { 439 i2c@80110000 { 440 status = "okay"; 440 status = "okay"; 441 441 442 pinctrl-names = "defau 442 pinctrl-names = "default", "sleep"; 443 pinctrl-0 = <&i2c3_c_2 443 pinctrl-0 = <&i2c3_c_2_default>; 444 pinctrl-1 = <&i2c3_c_2 444 pinctrl-1 = <&i2c3_c_2_sleep>; 445 445 446 /* Cypress CY8CTMA140 446 /* Cypress CY8CTMA140 touchscreen */ 447 touchscreen@20 { 447 touchscreen@20 { 448 compatible = " 448 compatible = "cypress,cy8ctma140"; 449 clock-frequenc 449 clock-frequency = <400000>; 450 reg = <0x20>; 450 reg = <0x20>; 451 451 452 touchscreen-si 452 touchscreen-size-x = <480>; 453 touchscreen-si 453 touchscreen-size-y = <800>; 454 touchscreen-ma 454 touchscreen-max-pressure = <255>; 455 455 456 /* GPIO218 for 456 /* GPIO218 for IRQ */ 457 interrupt-pare 457 interrupt-parent = <&gpio6>; 458 interrupts = < 458 interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 459 459 460 /* VDD is "dig 460 /* VDD is "digital supply" nominally 1.71-3.6V */ 461 vdd-supply = < 461 vdd-supply = <&ab8500_ldo_aux2_reg>; 462 /* VCPIN is "a 462 /* VCPIN is "analog supply", 2.7-3.6 V */ 463 vcpin-supply = 463 vcpin-supply = <&ab8500_ldo_aux2_reg>; 464 464 465 pinctrl-names 465 pinctrl-names = "default"; 466 pinctrl-0 = <& 466 pinctrl-0 = <&tma140_skomer_default>; 467 }; 467 }; 468 }; 468 }; 469 469 470 mcde@a0350000 { 470 mcde@a0350000 { 471 status = "okay"; 471 status = "okay"; 472 pinctrl-names = "defau 472 pinctrl-names = "default"; 473 pinctrl-0 = <&dsi_defa 473 pinctrl-0 = <&dsi_default_mode>; 474 474 475 dsi@a0351000 { 475 dsi@a0351000 { 476 panel { 476 panel { 477 /* NT3 477 /* NT35510-based Hydis HVA40WV1 */ 478 compat 478 compatible = "hydis,hva40wv1", "novatek,nt35510"; 479 reg = 479 reg = <0>; 480 /* v_l 480 /* v_lcd_3v0 2.3-4.8V */ 481 vdd-su 481 vdd-supply = <&ab8500_ldo_aux4_reg>; 482 /* v_l 482 /* v_lcd_1v8 1.65-3.3V */ 483 vddi-s 483 vddi-supply = <&ab8500_ldo_aux6_reg>; 484 /* GPI 484 /* GPIO 139 */ 485 reset- 485 reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; 486 pinctr 486 pinctrl-names = "default"; 487 pinctr 487 pinctrl-0 = <&display_default_mode>; 488 backli 488 backlight = <&ktd253>; 489 }; 489 }; 490 }; 490 }; 491 }; 491 }; 492 }; 492 }; 493 }; 493 }; 494 494 495 &pinctrl { 495 &pinctrl { 496 sdi0 { 496 sdi0 { 497 mc0_a_1_default { 497 mc0_a_1_default { 498 default_cfg1 { 498 default_cfg1 { 499 /* GPIO18, 19 499 /* GPIO18, 19 & 20 unused so pull down */ 500 ste,config = < 500 ste,config = <&gpio_in_pd>; 501 }; 501 }; 502 }; 502 }; 503 }; 503 }; 504 504 505 /* This is a reset line for the eMMC * 505 /* This is a reset line for the eMMC */ 506 sdi2 { 506 sdi2 { 507 mc2_a_1_default { 507 mc2_a_1_default { 508 default_cfg2 { 508 default_cfg2 { 509 pins = "GPIO13 509 pins = "GPIO130_C8"; /* FBCLK */ 510 ste,config = < 510 ste,config = <&gpio_in_pd>; 511 }; 511 }; 512 }; 512 }; 513 }; 513 }; 514 514 515 mcde { 515 mcde { 516 dsi_default_mode: dsi_default 516 dsi_default_mode: dsi_default { 517 default_mux1 { 517 default_mux1 { 518 /* Mux in VSI0 518 /* Mux in VSI0 used for DSI TE */ 519 function = "lc 519 function = "lcd"; 520 groups = "lcdv 520 groups = "lcdvsi0_a_1"; /* VSI0 for LCD */ 521 }; 521 }; 522 default_cfg1 { 522 default_cfg1 { 523 pins = "GPIO68 523 pins = "GPIO68_E1"; /* VSI0 */ 524 ste,config = < 524 ste,config = <&in_nopull>; 525 }; 525 }; 526 }; 526 }; 527 }; 527 }; 528 528 529 /* Two GPIO lines used by the display 529 /* Two GPIO lines used by the display */ 530 display { 530 display { 531 display_default_mode: display_ 531 display_default_mode: display_default { 532 skomer_cfg1 { 532 skomer_cfg1 { 533 /* 533 /* 534 * OLED DETECT 534 * OLED DETECT or check_pba, this appears to be high 535 * on "PBA" wh 535 * on "PBA" which I guess is "prototype board A". 536 */ 536 */ 537 pins = "GPIO93 537 pins = "GPIO93_B7"; 538 ste,config = < 538 ste,config = <&gpio_in_nopull>; 539 }; 539 }; 540 skomer_cfg2 { 540 skomer_cfg2 { 541 pins = "GPIO13 541 pins = "GPIO139_C9"; 542 /* 542 /* 543 * MIPI_DSI0_R 543 * MIPI_DSI0_RESET_N resets the display, leave high 544 * (de-asserte 544 * (de-asserted) so we only assert reset explicitly 545 * from the di 545 * from the display driver. 546 */ 546 */ 547 ste,config = < 547 ste,config = <&gpio_out_hi>; 548 }; 548 }; 549 }; 549 }; 550 }; 550 }; 551 backlight { 551 backlight { 552 gpio_backlight_default_mode: b 552 gpio_backlight_default_mode: backlight_default { 553 skomer_cfg1 { 553 skomer_cfg1 { 554 pins = "GPIO69 554 pins = "GPIO69_E2"; /* LCD_BL_CTRL */ 555 ste,config = < 555 ste,config = <&gpio_out_lo>; 556 }; 556 }; 557 }; 557 }; 558 }; 558 }; 559 flash { 559 flash { 560 gpio_flash_default_mode: flash 560 gpio_flash_default_mode: flash_default { 561 skomer_cfg1 { 561 skomer_cfg1 { 562 pins = "GPIO14 562 pins = "GPIO140_B11", "GPIO141_C12"; 563 ste,config = < 563 ste,config = <&gpio_out_lo>; 564 }; 564 }; 565 }; 565 }; 566 }; 566 }; 567 /* GPIO that enables the 2.9V SD card 567 /* GPIO that enables the 2.9V SD card level translator */ 568 sd-level-translator { 568 sd-level-translator { 569 sd_level_translator_default: s 569 sd_level_translator_default: sd_level_translator_default { 570 /* level shifter on GP 570 /* level shifter on GPIO87 */ 571 skomer_cfg1 { 571 skomer_cfg1 { 572 pins = "GPIO87 572 pins = "GPIO87_B3"; 573 ste,config = < 573 ste,config = <&gpio_out_hi>; 574 }; 574 }; 575 }; 575 }; 576 }; 576 }; 577 /* GPIO that enables the LDO regulator 577 /* GPIO that enables the LDO regulator for the eMMC */ 578 emmc-ldo { 578 emmc-ldo { 579 emmc_ldo_en_default_mode: emmc 579 emmc_ldo_en_default_mode: emmc_ldo_default { 580 /* LDO enable on GPIO2 580 /* LDO enable on GPIO223 */ 581 skomer_cfg1 { 581 skomer_cfg1 { 582 pins = "GPIO22 582 pins = "GPIO223_AH9"; 583 ste,config = < 583 ste,config = <&gpio_out_hi>; 584 }; 584 }; 585 }; 585 }; 586 }; 586 }; 587 /* GPIO keys */ 587 /* GPIO keys */ 588 gpio-keys { 588 gpio-keys { 589 gpio_keys_default_mode: gpio_k 589 gpio_keys_default_mode: gpio_keys_default { 590 skomer_cfg1 { 590 skomer_cfg1 { 591 pins = "GPIO67 591 pins = "GPIO67_G2", /* VOL UP */ 592 "GPIO91 592 "GPIO91_B6", /* HOME */ 593 "GPIO92 593 "GPIO92_D6", /* VOL DOWN */ 594 "GPIO20 594 "GPIO204_AF23", /* MENU */ 595 "GPIO20 595 "GPIO205_AG23"; /* BACK */ 596 ste,co 596 ste,config = <&gpio_in_pu>; 597 }; 597 }; 598 }; 598 }; 599 }; 599 }; 600 /* Interrupt line for BMA254 */ 600 /* Interrupt line for BMA254 */ 601 bma254 { 601 bma254 { 602 bma254_skomer_default: bma254_ 602 bma254_skomer_default: bma254_skomer { 603 skomer_cfg1 { 603 skomer_cfg1 { 604 pins = "GPIO22 604 pins = "GPIO224_AG9"; 605 ste,config = < 605 ste,config = <&gpio_in_pd>; 606 }; 606 }; 607 }; 607 }; 608 }; 608 }; 609 /* Interrupt line for light/proximity 609 /* Interrupt line for light/proximity sensor GP2AP002 */ 610 gp2ap002 { 610 gp2ap002 { 611 gp2ap002_skomer_default: gp2ap 611 gp2ap002_skomer_default: gp2ap002_skomer { 612 skomer_cfg1 { 612 skomer_cfg1 { 613 pins = "GPIO14 613 pins = "GPIO146_D13"; 614 ste,config = < 614 ste,config = <&gpio_in_nopull>; 615 }; 615 }; 616 }; 616 }; 617 }; 617 }; 618 /* GPIO-based I2C bus for NCP6914 */ 618 /* GPIO-based I2C bus for NCP6914 */ 619 i2c-gpio-0 { 619 i2c-gpio-0 { 620 i2c_gpio_0_default: i2c_gpio_0 620 i2c_gpio_0_default: i2c_gpio_0 { 621 skomer_cfg1 { 621 skomer_cfg1 { 622 pins = "GPIO14 622 pins = "GPIO143_D12", "GPIO144_B13"; 623 ste,config = < 623 ste,config = <&gpio_in_nopull>; 624 }; 624 }; 625 }; 625 }; 626 }; 626 }; 627 /* GPIO-based I2C bus for ALPS HSCD co 627 /* GPIO-based I2C bus for ALPS HSCD compass */ 628 i2c-gpio-1 { 628 i2c-gpio-1 { 629 i2c_gpio_1_default: i2c_gpio_1 629 i2c_gpio_1_default: i2c_gpio_1 { 630 skomer_cfg1 { 630 skomer_cfg1 { 631 pins = "GPIO15 631 pins = "GPIO151_B17", "GPIO152_D16"; 632 ste,config = < 632 ste,config = <&gpio_in_nopull>; 633 }; 633 }; 634 }; 634 }; 635 }; 635 }; 636 wlan { 636 wlan { 637 wlan_default_mode: wlan_defaul 637 wlan_default_mode: wlan_default { 638 skomer_cfg1 { 638 skomer_cfg1 { 639 pins = "GPIO21 639 pins = "GPIO216_AG12"; 640 ste,config = < 640 ste,config = <&gpio_in_pd>; 641 }; 641 }; 642 }; 642 }; 643 wlan_en_default_mode: wlan_en_ 643 wlan_en_default_mode: wlan_en_default { 644 skomer_cfg2 { 644 skomer_cfg2 { 645 pins = "GPIO21 645 pins = "GPIO215_AH13"; 646 ste,config = < 646 ste,config = <&gpio_out_lo>; 647 }; 647 }; 648 }; 648 }; 649 }; 649 }; 650 bluetooth { 650 bluetooth { 651 bluetooth_default_mode: blueto 651 bluetooth_default_mode: bluetooth_default { 652 skomer_cfg1 { 652 skomer_cfg1 { 653 pins = "GPIO19 653 pins = "GPIO199_AH23", "GPIO222_AJ9"; 654 ste,config = < 654 ste,config = <&gpio_out_lo>; 655 }; 655 }; 656 skomer_cfg2 { 656 skomer_cfg2 { 657 pins = "GPIO97 657 pins = "GPIO97_D9"; 658 ste,config = < 658 ste,config = <&gpio_in_nopull>; 659 }; 659 }; 660 }; 660 }; 661 }; 661 }; 662 vibrator { 662 vibrator { 663 vibrator_default: vibrator_def 663 vibrator_default: vibrator_default { 664 skomer_cfg1 { 664 skomer_cfg1 { 665 pins = "GPIO19 665 pins = "GPIO195_AG28"; /* MOT_EN */ 666 ste,config = < 666 ste,config = <&gpio_out_lo>; 667 }; 667 }; 668 }; 668 }; 669 }; 669 }; 670 /* Interrupt line for the Cypress TMA1 670 /* Interrupt line for the Cypress TMA140 touchscreen */ 671 touchscreen { 671 touchscreen { 672 tma140_skomer_default: tma140_ 672 tma140_skomer_default: tma140_skomer { 673 skomer_cfg1 { 673 skomer_cfg1 { 674 pins = "GPIO21 674 pins = "GPIO218_AH11"; 675 ste,config = < 675 ste,config = <&gpio_in_nopull>; 676 }; 676 }; 677 }; 677 }; 678 }; 678 }; 679 g05ta03 { 679 g05ta03 { 680 g05ta03_skomer_default: g05ta0 680 g05ta03_skomer_default: g05ta03 { 681 /* Reset line, start o 681 /* Reset line, start out de-asserted */ 682 skomer_cfg1 { 682 skomer_cfg1 { 683 pins = "GPIO20 683 pins = "GPIO209_AG15"; 684 ste,config = < 684 ste,config = <&gpio_out_hi>; 685 }; 685 }; 686 /* GPS_ON_OFF, start o 686 /* GPS_ON_OFF, start out deasserted (off) */ 687 skomer_cfg2 { 687 skomer_cfg2 { 688 pins = "GPIO86 688 pins = "GPIO86_C6"; 689 ste,config = < 689 ste,config = <&gpio_out_lo>; 690 }; 690 }; 691 }; 691 }; 692 }; 692 }; 693 }; 693 }; 694 694 695 &ab8505_gpio { 695 &ab8505_gpio { 696 /* Hog a few default settings */ 696 /* Hog a few default settings */ 697 pinctrl-names = "default"; 697 pinctrl-names = "default"; 698 pinctrl-0 = <&gpio_default>; 698 pinctrl-0 = <&gpio_default>; 699 699 700 gpio { 700 gpio { 701 gpio_default: gpio_default { 701 gpio_default: gpio_default { 702 skomer_mux { 702 skomer_mux { 703 /* Change unus 703 /* Change unused pins to GPIO mode */ 704 function = "gp 704 function = "gpio"; 705 groups = "gpio 705 groups = "gpio3_a_1", /* default: SysClkReq4 */ 706 "gpio 706 "gpio14_a_1"; /* default: PWMOut1 */ 707 }; 707 }; 708 skomer_cfg1 { 708 skomer_cfg1 { 709 pins = "GPIO11 709 pins = "GPIO11_B17", "GPIO13_D17", "GPIO50_L4"; 710 bias-disable; 710 bias-disable; 711 }; 711 }; 712 }; 712 }; 713 }; 713 }; 714 }; 714 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.