1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * Device Tree Source for the Kingfisher (ULCB 3 * Device Tree Source for the Kingfisher (ULCB extension) board 4 * 4 * 5 * Copyright (C) 2017 Renesas Electronics Corp 5 * Copyright (C) 2017 Renesas Electronics Corp. 6 * Copyright (C) 2017 Cogent Embedded, Inc. 6 * Copyright (C) 2017 Cogent Embedded, Inc. 7 */ 7 */ 8 8 9 / { 9 / { 10 aliases { 10 aliases { 11 serial1 = &hscif0; 11 serial1 = &hscif0; 12 serial2 = &scif1; 12 serial2 = &scif1; 13 serial3 = &hscif1; << 14 mmc2 = &sdhi3; << 15 }; << 16 << 17 clksndsel: clksndsel { << 18 #clock-cells = <0>; << 19 compatible = "gpio-mux-clock"; << 20 clocks = <&cs2000>, <&audio_cl << 21 select-gpios = <&gpio_exp_75 1 << 22 }; << 23 << 24 hdmi1-out { << 25 compatible = "hdmi-connector"; << 26 type = "a"; << 27 << 28 port { << 29 hdmi1_con: endpoint { << 30 remote-endpoin << 31 }; << 32 }; << 33 }; << 34 << 35 reg_t1p8v: regulator-t1p8v { << 36 compatible = "regulator-fixed" << 37 regulator-name = "T1.8V"; << 38 regulator-min-microvolt = <180 << 39 regulator-max-microvolt = <180 << 40 regulator-boot-on; << 41 regulator-always-on; << 42 }; << 43 << 44 pcie_1v5: regulator-pcie-1v5 { << 45 compatible = "regulator-fixed" << 46 regulator-name = "pcie-1v5"; << 47 regulator-min-microvolt = <150 << 48 regulator-max-microvolt = <150 << 49 gpio = <&gpio_exp_77 15 GPIO_A << 50 enable-active-high; << 51 }; << 52 << 53 pcie_3v3: regulator-pcie-3v3 { << 54 compatible = "regulator-fixed" << 55 regulator-name = "pcie-3v3"; << 56 regulator-min-microvolt = <330 << 57 regulator-max-microvolt = <330 << 58 gpio = <&gpio_exp_77 14 GPIO_A << 59 enable-active-high; << 60 }; << 61 << 62 reg_5v: regulator-5v { << 63 compatible = "regulator-fixed" << 64 regulator-name = "fixed-5V"; << 65 regulator-min-microvolt = <500 << 66 regulator-max-microvolt = <500 << 67 regulator-boot-on; << 68 regulator-always-on; << 69 }; << 70 << 71 wlan_en: regulator-wlan_en { << 72 compatible = "regulator-fixed" << 73 regulator-name = "wlan-en-regu << 74 << 75 regulator-min-microvolt = <330 << 76 regulator-max-microvolt = <330 << 77 << 78 gpio = <&gpio_exp_74 4 GPIO_AC << 79 startup-delay-us = <70000>; << 80 enable-active-high; << 81 }; 13 }; 82 }; 14 }; 83 15 84 &can0 { 16 &can0 { 85 pinctrl-0 = <&can0_pins>; 17 pinctrl-0 = <&can0_pins>; 86 pinctrl-names = "default"; 18 pinctrl-names = "default"; 87 status = "okay"; 19 status = "okay"; 88 }; 20 }; 89 21 90 &can1 { 22 &can1 { 91 pinctrl-0 = <&can1_pins>; 23 pinctrl-0 = <&can1_pins>; 92 pinctrl-names = "default"; 24 pinctrl-names = "default"; 93 status = "okay"; 25 status = "okay"; 94 }; 26 }; 95 27 96 &du { << 97 ports { << 98 port@0 { << 99 du_out_rgb: endpoint { << 100 remote-endpoin << 101 }; << 102 }; << 103 }; << 104 }; << 105 << 106 &ehci0 { 28 &ehci0 { 107 dr_mode = "otg"; 29 dr_mode = "otg"; 108 status = "okay"; 30 status = "okay"; 109 }; 31 }; 110 32 111 &hscif0 { 33 &hscif0 { 112 pinctrl-0 = <&hscif0_pins>; 34 pinctrl-0 = <&hscif0_pins>; 113 pinctrl-names = "default"; 35 pinctrl-names = "default"; 114 uart-has-rtscts; 36 uart-has-rtscts; 115 37 116 status = "okay"; 38 status = "okay"; 117 }; 39 }; 118 40 119 &hscif1 { << 120 pinctrl-0 = <&hscif1_pins>; << 121 pinctrl-names = "default"; << 122 uart-has-rtscts; << 123 << 124 status = "okay"; << 125 }; << 126 << 127 &hsusb { 41 &hsusb { 128 dr_mode = "otg"; 42 dr_mode = "otg"; 129 status = "okay"; 43 status = "okay"; 130 }; 44 }; 131 45 132 &i2c2 { 46 &i2c2 { 133 i2cmux2: i2c-mux@71 { << 134 compatible = "nxp,pca9548"; << 135 #address-cells = <1>; << 136 #size-cells = <0>; << 137 reg = <0x71>; << 138 reset-gpios = <&gpio5 3 GPIO_A << 139 << 140 /* HDMIoSDA, HDMIoSCL */ << 141 i2c@4 { << 142 #address-cells = <1>; << 143 #size-cells = <0>; << 144 reg = <4>; << 145 << 146 hdmi@3d { << 147 compatible = " << 148 reg = <0x3d>; << 149 << 150 pinctrl-0 = <& << 151 pinctrl-names << 152 << 153 interrupt-pare << 154 interrupts = < << 155 << 156 clocks = <&cs2 << 157 clock-names = << 158 << 159 pd-gpios = <&g << 160 << 161 avdd-supply = << 162 dvdd-supply = << 163 pvdd-supply = << 164 dvdd-3v-supply << 165 bgvdd-supply = << 166 << 167 adi,input-dept << 168 adi,input-colo << 169 adi,input-cloc << 170 << 171 ports { << 172 #addre << 173 #size- << 174 << 175 port@0 << 176 << 177 << 178 << 179 << 180 }; << 181 << 182 port@1 << 183 << 184 << 185 << 186 << 187 }; << 188 }; << 189 }; << 190 }; << 191 << 192 /* Audio_SDA, Audio_SCL */ << 193 i2c@7 { << 194 #address-cells = <1>; << 195 #size-cells = <0>; << 196 reg = <7>; << 197 << 198 accelerometer@1d { << 199 compatible = " << 200 reg = <0x1d>; << 201 << 202 vdd-supply = < << 203 vddio-supply = << 204 }; << 205 << 206 pcm3168a: audio-codec@ << 207 #sound-dai-cel << 208 compatible = " << 209 reg = <0x44>; << 210 clocks = <&clk << 211 clock-names = << 212 << 213 VDD1-supply = << 214 VDD2-supply = << 215 VCCAD1-supply << 216 VCCAD2-supply << 217 VCCDA1-supply << 218 VCCDA2-supply << 219 }; << 220 << 221 gyroscope@6b { << 222 compatible = " << 223 reg = <0x6b>; << 224 << 225 vdd-supply = < << 226 vddio-supply = << 227 }; << 228 }; << 229 }; << 230 << 231 /* U11 */ << 232 gpio_exp_74: gpio@74 { 47 gpio_exp_74: gpio@74 { 233 compatible = "ti,tca9539"; 48 compatible = "ti,tca9539"; 234 reg = <0x74>; 49 reg = <0x74>; 235 gpio-controller; 50 gpio-controller; 236 #gpio-cells = <2>; 51 #gpio-cells = <2>; 237 interrupt-controller; 52 interrupt-controller; 238 #interrupt-cells = <2>; << 239 interrupt-parent = <&gpio6>; 53 interrupt-parent = <&gpio6>; 240 interrupts = <8 IRQ_TYPE_EDGE_ 54 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 241 55 242 audio-out-off-hog { !! 56 hub_pwen { 243 gpio-hog; << 244 gpios = <0 GPIO_ACTIVE << 245 output-high; << 246 line-name = "Audio_Out << 247 }; << 248 << 249 hub-pwen-hog { << 250 gpio-hog; 57 gpio-hog; 251 gpios = <6 GPIO_ACTIVE 58 gpios = <6 GPIO_ACTIVE_HIGH>; 252 output-high; 59 output-high; 253 line-name = "HUB pwen" 60 line-name = "HUB pwen"; 254 }; 61 }; 255 62 256 hub-rst-hog { !! 63 hub_rst { 257 gpio-hog; 64 gpio-hog; 258 gpios = <7 GPIO_ACTIVE 65 gpios = <7 GPIO_ACTIVE_HIGH>; 259 output-high; 66 output-high; 260 line-name = "HUB rst"; 67 line-name = "HUB rst"; 261 }; 68 }; 262 69 263 otg-extlpn-hog { !! 70 otg_offvbusn { 264 gpio-hog; << 265 gpios = <9 GPIO_ACTIVE << 266 output-high; << 267 line-name = "OTG EXTLP << 268 }; << 269 << 270 otg-offvbusn-hog { << 271 gpio-hog; 71 gpio-hog; 272 gpios = <8 GPIO_ACTIVE 72 gpios = <8 GPIO_ACTIVE_HIGH>; 273 output-low; 73 output-low; 274 line-name = "OTG OFFVB 74 line-name = "OTG OFFVBUSn"; 275 }; 75 }; 276 76 277 sd-wifi-mux-hog { !! 77 otg_extlpn { 278 gpio-hog; 78 gpio-hog; 279 gpios = <5 GPIO_ACTIVE !! 79 gpios = <9 GPIO_ACTIVE_HIGH>; 280 output-low; /* Con << 281 line-name = "SD WiFi m << 282 }; << 283 << 284 snd-rst-hog { << 285 gpio-hog; << 286 gpios = <15 GPIO_ACTIV << 287 output-high; 80 output-high; 288 line-name = "SND_RST"; !! 81 line-name = "OTG EXTLPn"; 289 }; 82 }; 290 }; 83 }; 291 84 292 /* U5 */ << 293 gpio_exp_75: gpio@75 { 85 gpio_exp_75: gpio@75 { 294 compatible = "ti,tca9539"; 86 compatible = "ti,tca9539"; 295 reg = <0x75>; 87 reg = <0x75>; 296 gpio-controller; 88 gpio-controller; 297 #gpio-cells = <2>; 89 #gpio-cells = <2>; 298 interrupt-controller; 90 interrupt-controller; 299 #interrupt-cells = <2>; << 300 interrupt-parent = <&gpio6>; 91 interrupt-parent = <&gpio6>; 301 interrupts = <4 IRQ_TYPE_EDGE_ 92 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 302 }; 93 }; 303 }; << 304 94 305 &i2c4 { !! 95 i2cswitch2: i2c-switch@71 { 306 i2cmux4: i2c-mux@71 { << 307 compatible = "nxp,pca9548"; 96 compatible = "nxp,pca9548"; 308 #address-cells = <1>; 97 #address-cells = <1>; 309 #size-cells = <0>; 98 #size-cells = <0>; 310 reg = <0x71>; 99 reg = <0x71>; 311 reset-gpios = <&gpio3 15 GPIO_ !! 100 reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>; 312 }; 101 }; >> 102 }; 313 103 >> 104 &i2c4 { 314 gpio_exp_76: gpio@76 { 105 gpio_exp_76: gpio@76 { 315 compatible = "ti,tca9539"; 106 compatible = "ti,tca9539"; 316 reg = <0x76>; 107 reg = <0x76>; 317 gpio-controller; 108 gpio-controller; 318 #gpio-cells = <2>; 109 #gpio-cells = <2>; 319 interrupt-controller; 110 interrupt-controller; 320 #interrupt-cells = <2>; << 321 interrupt-parent = <&gpio7>; 111 interrupt-parent = <&gpio7>; 322 interrupts = <3 IRQ_TYPE_EDGE_ 112 interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 323 }; 113 }; 324 114 325 gpio_exp_77: gpio@77 { 115 gpio_exp_77: gpio@77 { 326 compatible = "ti,tca9539"; 116 compatible = "ti,tca9539"; 327 reg = <0x77>; 117 reg = <0x77>; 328 gpio-controller; 118 gpio-controller; 329 #gpio-cells = <2>; 119 #gpio-cells = <2>; 330 interrupt-controller; 120 interrupt-controller; 331 #interrupt-cells = <2>; << 332 interrupt-parent = <&gpio5>; 121 interrupt-parent = <&gpio5>; 333 interrupts = <9 IRQ_TYPE_EDGE_ 122 interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 334 }; 123 }; >> 124 >> 125 i2cswitch4: i2c-switch@71 { >> 126 compatible = "nxp,pca9548"; >> 127 #address-cells = <1>; >> 128 #size-cells = <0>; >> 129 reg = <0x71>; >> 130 reset-gpios= <&gpio3 15 GPIO_ACTIVE_LOW>; >> 131 }; 335 }; 132 }; 336 133 337 &ohci0 { 134 &ohci0 { 338 dr_mode = "otg"; 135 dr_mode = "otg"; 339 status = "okay"; 136 status = "okay"; 340 }; 137 }; 341 138 342 &pcie_bus_clk { 139 &pcie_bus_clk { 343 clock-frequency = <100000000>; 140 clock-frequency = <100000000>; 344 }; 141 }; 345 142 346 &pciec0 { 143 &pciec0 { 347 status = "okay"; 144 status = "okay"; 348 }; 145 }; 349 146 350 &pciec1 { 147 &pciec1 { 351 status = "okay"; 148 status = "okay"; 352 << 353 vpcie1v5-supply = <&pcie_1v5>; << 354 vpcie3v3-supply = <&pcie_3v3>; << 355 }; 149 }; 356 150 357 &pfc { 151 &pfc { 358 can0_pins: can0 { 152 can0_pins: can0 { 359 groups = "can0_data_a"; 153 groups = "can0_data_a"; 360 function = "can0"; 154 function = "can0"; 361 }; 155 }; 362 156 363 can1_pins: can1 { 157 can1_pins: can1 { 364 groups = "can1_data"; 158 groups = "can1_data"; 365 function = "can1"; 159 function = "can1"; 366 }; 160 }; 367 161 368 hdmi1_pins: hdmi1 { << 369 adv7513-interrupt { << 370 pins = "GP_2_14"; << 371 bias-pull-up; << 372 }; << 373 << 374 du { << 375 groups = "du_rgb888", << 376 "du_disp"; << 377 function = "du"; << 378 }; << 379 }; << 380 << 381 hscif0_pins: hscif0 { 162 hscif0_pins: hscif0 { 382 groups = "hscif0_data", "hscif 163 groups = "hscif0_data", "hscif0_ctrl"; 383 function = "hscif0"; 164 function = "hscif0"; 384 }; 165 }; 385 166 386 hscif1_pins: hscif1 { << 387 groups = "hscif1_data_a", "hsc << 388 function = "hscif1"; << 389 }; << 390 << 391 scif1_pins: scif1 { 167 scif1_pins: scif1 { 392 groups = "scif1_data_b"; 168 groups = "scif1_data_b"; 393 function = "scif1"; 169 function = "scif1"; 394 }; 170 }; 395 171 396 sdhi3_pins: sdhi3 { << 397 groups = "sdhi3_data4", "sdhi3 << 398 function = "sdhi3"; << 399 power-source = <3300>; << 400 }; << 401 << 402 sound_pcm_pins: sound-pcm { << 403 groups = "ssi349_ctrl", "ssi3_ << 404 function = "ssi"; << 405 }; << 406 << 407 usb0_pins: usb0 { 172 usb0_pins: usb0 { 408 groups = "usb0"; 173 groups = "usb0"; 409 function = "usb0"; 174 function = "usb0"; 410 }; 175 }; 411 }; 176 }; 412 177 413 &rcar_sound { << 414 pinctrl-0 = <&sound_pins << 415 &sound_clk_pins << 416 &sound_pcm_pins>; << 417 }; << 418 << 419 &scif1 { 178 &scif1 { 420 pinctrl-0 = <&scif1_pins>; 179 pinctrl-0 = <&scif1_pins>; 421 pinctrl-names = "default"; 180 pinctrl-names = "default"; 422 181 423 status = "okay"; 182 status = "okay"; 424 << 425 gnss { << 426 compatible = "u-blox,neo-m8"; << 427 reset-gpios = <&gpio_exp_75 6 << 428 vcc-supply = <®_3p3v>; << 429 current-speed = <9600>; << 430 }; << 431 }; << 432 << 433 &sdhi3 { << 434 pinctrl-0 = <&sdhi3_pins>; << 435 pinctrl-names = "default"; << 436 << 437 vmmc-supply = <&wlan_en>; << 438 vqmmc-supply = <&wlan_en>; << 439 bus-width = <4>; << 440 no-1-8-v; << 441 non-removable; << 442 cap-power-off-card; << 443 keep-power-in-suspend; << 444 max-frequency = <26000000>; << 445 status = "okay"; << 446 << 447 #address-cells = <1>; << 448 #size-cells = <0>; << 449 wlcore: wlcore@2 { << 450 compatible = "ti,wl1837"; << 451 reg = <2>; << 452 interrupt-parent = <&gpio1>; << 453 interrupts = <25 IRQ_TYPE_EDGE << 454 }; << 455 }; << 456 << 457 &ssi4 { << 458 shared-pin; << 459 }; 183 }; 460 184 461 &usb2_phy0 { 185 &usb2_phy0 { 462 pinctrl-0 = <&usb0_pins>; 186 pinctrl-0 = <&usb0_pins>; 463 pinctrl-names = "default"; 187 pinctrl-names = "default"; 464 188 465 status = "okay"; 189 status = "okay"; 466 }; 190 }; 467 191 468 &xhci0 { 192 &xhci0 { 469 status = "okay"; 193 status = "okay"; 470 }; 194 }; 471 << 472 /* << 473 * For sound-test. << 474 * << 475 * We can switch Audio Card for testing << 476 * see also ulcb.dtsi << 477 * << 478 * #include "ulcb-kf-simple-audio-card.dtsi" << 479 * #include "ulcb-kf-simple-audio-card-mix+spl << 480 * #include "ulcb-kf-audio-graph-card.dtsi" << 481 * #include "ulcb-kf-audio-graph-card-mix+spli << 482 * #include "ulcb-kf-audio-graph-card2-mix+spl << 483 */ << 484 #include "ulcb-kf-audio-graph-card2.dtsi" <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.