1 // SPDX-License-Identifier: GPL-2.0 2 3 /dts-v1/; 4 #include <dt-bindings/gpio/gpio.h> 5 #include <dt-bindings/input/input.h> 6 #include "s5pv210-aries.dtsi" 7 8 / { 9 model = "Samsung Galaxy S Fascinate 4G (SGH-T959P) based on S5PV210"; 10 compatible = "samsung,fascinate4g", "samsung,aries", "samsung,s5pv210"; 11 chassis-type = "handset"; 12 13 chosen { 14 stdout-path = &uart2; 15 }; 16 17 gpio-keys { 18 compatible = "gpio-keys"; 19 20 key-power { 21 label = "power"; 22 gpios = <&gph2 6 GPIO_ACTIVE_LOW>; 23 linux,code = <KEY_POWER>; 24 wakeup-source; 25 }; 26 27 key-vol-down { 28 label = "volume_down"; 29 gpios = <&gph3 2 GPIO_ACTIVE_LOW>; 30 linux,code = <KEY_VOLUMEDOWN>; 31 }; 32 33 key-vol-up { 34 label = "volume_up"; 35 gpios = <&gph3 1 GPIO_ACTIVE_LOW>; 36 linux,code = <KEY_VOLUMEUP>; 37 }; 38 }; 39 40 headset_micbias_reg: regulator-fixed-3 { 41 compatible = "regulator-fixed"; 42 regulator-name = "Headset_Micbias"; 43 gpio = <&gpj2 5 GPIO_ACTIVE_HIGH>; 44 enable-active-high; 45 46 pinctrl-names = "default"; 47 pinctrl-0 = <&headset_micbias_ena>; 48 }; 49 50 main_micbias_reg: regulator-fixed-4 { 51 compatible = "regulator-fixed"; 52 regulator-name = "Main_Micbias"; 53 gpio = <&gpj4 2 GPIO_ACTIVE_HIGH>; 54 enable-active-high; 55 56 pinctrl-names = "default"; 57 pinctrl-0 = <&main_micbias_ena>; 58 }; 59 60 sound { 61 compatible = "samsung,fascinate4g-wm8994"; 62 63 model = "Fascinate4G"; 64 65 extcon = <&fsa9480>; 66 67 main-micbias-supply = <&main_micbias_reg>; 68 headset-micbias-supply = <&headset_micbias_reg>; 69 70 earpath-sel-gpios = <&gpj2 6 GPIO_ACTIVE_HIGH>; 71 72 io-channels = <&adc 3>; 73 io-channel-names = "headset-detect"; 74 headset-detect-gpios = <&gph0 6 GPIO_ACTIVE_HIGH>; 75 headset-key-gpios = <&gph3 6 GPIO_ACTIVE_HIGH>; 76 77 audio-routing = "HP", "HPOUT1L", 78 "HP", "HPOUT1R", 79 80 "SPK", "SPKOUTLN", 81 "SPK", "SPKOUTLP", 82 83 "RCV", "HPOUT2N", 84 "RCV", "HPOUT2P", 85 86 "LINE", "LINEOUT2N", 87 "LINE", "LINEOUT2P", 88 89 "IN1LP", "Main Mic", 90 "IN1LN", "Main Mic", 91 92 "IN1RP", "Headset Mic", 93 "IN1RN", "Headset Mic", 94 95 "Modem Out", "Modem TX", 96 "Modem RX", "Modem In", 97 98 "Bluetooth SPK", "TX", 99 "RX", "Bluetooth Mic"; 100 101 pinctrl-names = "default"; 102 pinctrl-0 = <&headset_det &earpath_sel>; 103 104 cpu { 105 sound-dai = <&i2s0>, <&bt_codec>; 106 }; 107 108 codec { 109 sound-dai = <&wm8994>; 110 }; 111 }; 112 }; 113 114 &fg { 115 compatible = "maxim,max77836-battery"; 116 117 interrupt-parent = <&gph3>; 118 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 119 120 pinctrl-names = "default"; 121 pinctrl-0 = <&fg_irq>; 122 }; 123 124 &pinctrl0 { 125 pinctrl-names = "default"; 126 pinctrl-0 = <&sleep_cfg>; 127 128 headset_det: headset-det-pins { 129 samsung,pins = "gph0-6", "gph3-6"; 130 samsung,pin-function = <S5PV210_PIN_FUNC_F>; 131 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>; 132 }; 133 134 fg_irq: fg-irq-pins { 135 samsung,pins = "gph3-3"; 136 samsung,pin-function = <S5PV210_PIN_FUNC_F>; 137 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>; 138 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>; 139 }; 140 141 headset_micbias_ena: headset-micbias-ena-pins { 142 samsung,pins = "gpj2-5"; 143 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>; 144 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>; 145 }; 146 147 earpath_sel: earpath-sel-pins { 148 samsung,pins = "gpj2-6"; 149 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>; 150 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>; 151 }; 152 153 main_micbias_ena: main-micbias-ena-pins { 154 samsung,pins = "gpj4-2"; 155 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>; 156 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>; 157 }; 158 159 /* Based on vendor kernel v2.6.35.7 */ 160 sleep_cfg: sleep-state { 161 PIN_SLP(gpa0-0, PREV, NONE); 162 PIN_SLP(gpa0-1, PREV, NONE); 163 PIN_SLP(gpa0-2, PREV, NONE); 164 PIN_SLP(gpa0-3, OUT1, NONE); 165 PIN_SLP(gpa0-4, PREV, NONE); 166 PIN_SLP(gpa0-5, PREV, NONE); 167 PIN_SLP(gpa0-6, PREV, NONE); 168 PIN_SLP(gpa0-7, PREV, NONE); 169 170 PIN_SLP(gpa1-0, INPUT, DOWN); 171 PIN_SLP(gpa1-1, OUT0, NONE); 172 PIN_SLP(gpa1-2, INPUT, DOWN); 173 PIN_SLP(gpa1-3, OUT0, NONE); 174 175 PIN_SLP(gpb-0, OUT0, NONE); 176 PIN_SLP(gpb-1, OUT1, NONE); 177 PIN_SLP(gpb-2, OUT0, NONE); 178 PIN_SLP(gpb-3, PREV, NONE); 179 PIN_SLP(gpb-4, INPUT, NONE); 180 PIN_SLP(gpb-5, PREV, NONE); 181 PIN_SLP(gpb-6, INPUT, DOWN); 182 PIN_SLP(gpb-7, OUT0, NONE); 183 184 PIN_SLP(gpc0-0, OUT0, NONE); 185 PIN_SLP(gpc0-1, INPUT, DOWN); 186 PIN_SLP(gpc0-2, OUT0, NONE); 187 PIN_SLP(gpc0-3, INPUT, DOWN); 188 PIN_SLP(gpc0-4, OUT0, NONE); 189 190 PIN_SLP(gpc1-0, INPUT, DOWN); 191 PIN_SLP(gpc1-1, INPUT, DOWN); 192 PIN_SLP(gpc1-2, INPUT, DOWN); 193 PIN_SLP(gpc1-3, INPUT, DOWN); 194 PIN_SLP(gpc1-4, INPUT, DOWN); 195 196 PIN_SLP(gpd0-0, INPUT, DOWN); 197 PIN_SLP(gpd0-1, OUT0, NONE); 198 PIN_SLP(gpd0-2, INPUT, DOWN); 199 PIN_SLP(gpd0-3, INPUT, DOWN); 200 201 PIN_SLP(gpd1-0, INPUT, NONE); 202 PIN_SLP(gpd1-1, INPUT, NONE); 203 PIN_SLP(gpd1-2, INPUT, DOWN); 204 PIN_SLP(gpd1-3, INPUT, DOWN); 205 PIN_SLP(gpd1-4, INPUT, DOWN); 206 PIN_SLP(gpd1-5, INPUT, DOWN); 207 208 PIN_SLP(gpe0-0, INPUT, DOWN); 209 PIN_SLP(gpe0-1, INPUT, DOWN); 210 PIN_SLP(gpe0-2, INPUT, DOWN); 211 PIN_SLP(gpe0-3, INPUT, DOWN); 212 PIN_SLP(gpe0-4, INPUT, DOWN); 213 PIN_SLP(gpe0-5, INPUT, DOWN); 214 PIN_SLP(gpe0-6, INPUT, DOWN); 215 PIN_SLP(gpe0-7, INPUT, DOWN); 216 217 PIN_SLP(gpe1-0, INPUT, DOWN); 218 PIN_SLP(gpe1-1, INPUT, DOWN); 219 PIN_SLP(gpe1-2, INPUT, DOWN); 220 PIN_SLP(gpe1-3, OUT0, NONE); 221 PIN_SLP(gpe1-4, INPUT, DOWN); 222 223 PIN_SLP(gpf0-0, OUT0, NONE); 224 PIN_SLP(gpf0-1, OUT0, NONE); 225 PIN_SLP(gpf0-2, OUT0, NONE); 226 PIN_SLP(gpf0-3, OUT0, NONE); 227 PIN_SLP(gpf0-4, OUT0, NONE); 228 PIN_SLP(gpf0-5, OUT0, NONE); 229 PIN_SLP(gpf0-6, OUT0, NONE); 230 PIN_SLP(gpf0-7, OUT0, NONE); 231 232 PIN_SLP(gpf1-0, OUT0, NONE); 233 PIN_SLP(gpf1-1, OUT0, NONE); 234 PIN_SLP(gpf1-2, OUT0, NONE); 235 PIN_SLP(gpf1-3, OUT0, NONE); 236 PIN_SLP(gpf1-4, OUT0, NONE); 237 PIN_SLP(gpf1-5, OUT0, NONE); 238 PIN_SLP(gpf1-6, OUT0, NONE); 239 PIN_SLP(gpf1-7, OUT0, NONE); 240 241 PIN_SLP(gpf2-0, OUT0, NONE); 242 PIN_SLP(gpf2-1, OUT0, NONE); 243 PIN_SLP(gpf2-2, OUT0, NONE); 244 PIN_SLP(gpf2-3, OUT0, NONE); 245 PIN_SLP(gpf2-4, OUT0, NONE); 246 PIN_SLP(gpf2-5, OUT0, NONE); 247 PIN_SLP(gpf2-6, OUT0, NONE); 248 PIN_SLP(gpf2-7, OUT0, NONE); 249 250 PIN_SLP(gpf3-0, OUT0, NONE); 251 PIN_SLP(gpf3-1, OUT0, NONE); 252 PIN_SLP(gpf3-2, OUT0, NONE); 253 PIN_SLP(gpf3-3, OUT0, NONE); 254 PIN_SLP(gpf3-4, PREV, NONE); 255 PIN_SLP(gpf3-5, INPUT, DOWN); 256 257 PIN_SLP(gpg0-0, INPUT, DOWN); 258 PIN_SLP(gpg0-1, INPUT, DOWN); 259 PIN_SLP(gpg0-2, INPUT, NONE); 260 PIN_SLP(gpg0-3, INPUT, DOWN); 261 PIN_SLP(gpg0-4, INPUT, DOWN); 262 PIN_SLP(gpg0-5, INPUT, DOWN); 263 PIN_SLP(gpg0-6, INPUT, DOWN); 264 265 PIN_SLP(gpg1-0, OUT0, NONE); 266 PIN_SLP(gpg1-1, OUT1, NONE); 267 PIN_SLP(gpg1-2, PREV, NONE); 268 PIN_SLP(gpg1-3, OUT1, NONE); 269 PIN_SLP(gpg1-4, OUT1, NONE); 270 PIN_SLP(gpg1-5, OUT1, NONE); 271 PIN_SLP(gpg1-6, OUT1, NONE); 272 273 PIN_SLP(gpg2-0, OUT0, NONE); 274 PIN_SLP(gpg2-1, OUT0, NONE); 275 PIN_SLP(gpg2-2, INPUT, NONE); 276 PIN_SLP(gpg2-3, OUT0, NONE); 277 PIN_SLP(gpg2-4, OUT0, NONE); 278 PIN_SLP(gpg2-5, OUT0, NONE); 279 PIN_SLP(gpg2-6, OUT0, NONE); 280 281 PIN_SLP(gpg3-0, PREV, UP); 282 PIN_SLP(gpg3-1, PREV, UP); 283 PIN_SLP(gpg3-2, INPUT, NONE); 284 PIN_SLP(gpg3-3, INPUT, DOWN); 285 PIN_SLP(gpg3-4, OUT0, NONE); 286 PIN_SLP(gpg3-5, OUT0, NONE); 287 PIN_SLP(gpg3-6, INPUT, DOWN); 288 289 PIN_SLP(gpi-0, PREV, NONE); 290 PIN_SLP(gpi-1, INPUT, DOWN); 291 PIN_SLP(gpi-2, PREV, NONE); 292 PIN_SLP(gpi-3, PREV, NONE); 293 PIN_SLP(gpi-4, PREV, NONE); 294 PIN_SLP(gpi-5, INPUT, DOWN); 295 PIN_SLP(gpi-6, INPUT, DOWN); 296 297 PIN_SLP(gpj0-0, INPUT, NONE); 298 PIN_SLP(gpj0-1, INPUT, NONE); 299 PIN_SLP(gpj0-2, INPUT, NONE); 300 PIN_SLP(gpj0-3, INPUT, NONE); 301 PIN_SLP(gpj0-4, INPUT, NONE); 302 PIN_SLP(gpj0-5, INPUT, DOWN); 303 PIN_SLP(gpj0-6, OUT0, NONE); 304 PIN_SLP(gpj0-7, INPUT, NONE); 305 306 PIN_SLP(gpj1-0, OUT1, NONE); 307 PIN_SLP(gpj1-1, OUT0, NONE); 308 PIN_SLP(gpj1-2, INPUT, DOWN); 309 PIN_SLP(gpj1-3, PREV, NONE); 310 PIN_SLP(gpj1-4, PREV, NONE); 311 PIN_SLP(gpj1-5, OUT0, NONE); 312 313 PIN_SLP(gpj2-0, INPUT, DOWN); 314 PIN_SLP(gpj2-1, INPUT, DOWN); 315 PIN_SLP(gpj2-2, OUT0, NONE); 316 PIN_SLP(gpj2-3, INPUT, DOWN); 317 PIN_SLP(gpj2-4, INPUT, DOWN); 318 PIN_SLP(gpj2-5, PREV, NONE); 319 PIN_SLP(gpj2-6, PREV, NONE); 320 PIN_SLP(gpj2-7, INPUT, DOWN); 321 322 PIN_SLP(gpj3-0, INPUT, NONE); 323 PIN_SLP(gpj3-1, INPUT, NONE); 324 PIN_SLP(gpj3-2, OUT0, NONE); 325 PIN_SLP(gpj3-3, INPUT, DOWN); 326 PIN_SLP(gpj3-4, INPUT, NONE); 327 PIN_SLP(gpj3-5, INPUT, NONE); 328 PIN_SLP(gpj3-6, INPUT, NONE); 329 PIN_SLP(gpj3-7, INPUT, NONE); 330 331 PIN_SLP(gpj4-0, INPUT, NONE); 332 PIN_SLP(gpj4-1, INPUT, DOWN); 333 PIN_SLP(gpj4-2, PREV, NONE); 334 PIN_SLP(gpj4-3, INPUT, NONE); 335 PIN_SLP(gpj4-4, INPUT, DOWN); 336 337 PIN_SLP(mp01-0, OUT1, NONE); 338 PIN_SLP(mp01-1, OUT0, NONE); 339 PIN_SLP(mp01-2, INPUT, DOWN); 340 PIN_SLP(mp01-3, INPUT, DOWN); 341 PIN_SLP(mp01-4, OUT1, NONE); 342 PIN_SLP(mp01-5, INPUT, DOWN); 343 PIN_SLP(mp01-6, INPUT, DOWN); 344 PIN_SLP(mp01-7, INPUT, DOWN); 345 346 PIN_SLP(mp02-0, INPUT, DOWN); 347 PIN_SLP(mp02-1, INPUT, DOWN); 348 PIN_SLP(mp02-2, INPUT, NONE); 349 PIN_SLP(mp02-3, INPUT, DOWN); 350 351 PIN_SLP(mp03-0, INPUT, DOWN); 352 PIN_SLP(mp03-1, INPUT, DOWN); 353 PIN_SLP(mp03-2, OUT1, NONE); 354 PIN_SLP(mp03-3, OUT0, NONE); 355 PIN_SLP(mp03-4, INPUT, NONE); 356 PIN_SLP(mp03-5, OUT0, NONE); 357 PIN_SLP(mp03-6, INPUT, DOWN); 358 PIN_SLP(mp03-7, INPUT, DOWN); 359 360 PIN_SLP(mp04-0, INPUT, DOWN); 361 PIN_SLP(mp04-1, OUT0, NONE); 362 PIN_SLP(mp04-2, INPUT, DOWN); 363 PIN_SLP(mp04-3, OUT0, NONE); 364 PIN_SLP(mp04-4, INPUT, DOWN); 365 PIN_SLP(mp04-5, INPUT, DOWN); 366 PIN_SLP(mp04-6, OUT0, NONE); 367 PIN_SLP(mp04-7, INPUT, DOWN); 368 369 PIN_SLP(mp05-0, INPUT, NONE); 370 PIN_SLP(mp05-1, INPUT, NONE); 371 PIN_SLP(mp05-2, INPUT, NONE); 372 PIN_SLP(mp05-3, INPUT, NONE); 373 PIN_SLP(mp05-4, INPUT, DOWN); 374 PIN_SLP(mp05-5, OUT0, NONE); 375 PIN_SLP(mp05-6, INPUT, DOWN); 376 PIN_SLP(mp05-7, PREV, NONE); 377 378 PIN_SLP(mp06-0, INPUT, DOWN); 379 PIN_SLP(mp06-1, INPUT, DOWN); 380 PIN_SLP(mp06-2, INPUT, DOWN); 381 PIN_SLP(mp06-3, INPUT, DOWN); 382 PIN_SLP(mp06-4, INPUT, DOWN); 383 PIN_SLP(mp06-5, INPUT, DOWN); 384 PIN_SLP(mp06-6, INPUT, DOWN); 385 PIN_SLP(mp06-7, INPUT, DOWN); 386 387 PIN_SLP(mp07-0, INPUT, DOWN); 388 PIN_SLP(mp07-1, INPUT, DOWN); 389 PIN_SLP(mp07-2, INPUT, DOWN); 390 PIN_SLP(mp07-3, INPUT, DOWN); 391 PIN_SLP(mp07-4, INPUT, DOWN); 392 PIN_SLP(mp07-5, INPUT, DOWN); 393 PIN_SLP(mp07-6, INPUT, DOWN); 394 PIN_SLP(mp07-7, INPUT, DOWN); 395 }; 396 }; 397 398 &wm8994 { 399 /* GPIO3 (BCLK2) and GPIO4 (LRCLK2) as outputs */ 400 wlf,gpio-cfg = <0xa101 0x8100 0x8100 0x8100 0x8100 0xa101 401 0x0100 0x8100 0x0100 0x0100 0x0100>; 402 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.