1 // SPDX-License-Identifier: GPL-2.0 << 2 /* 1 /* 3 * Device Tree Source for the Kingfisher (ULCB 2 * Device Tree Source for the Kingfisher (ULCB extension) board 4 * 3 * 5 * Copyright (C) 2017 Renesas Electronics Corp 4 * Copyright (C) 2017 Renesas Electronics Corp. 6 * Copyright (C) 2017 Cogent Embedded, Inc. 5 * Copyright (C) 2017 Cogent Embedded, Inc. >> 6 * >> 7 * This file is licensed under the terms of the GNU General Public License >> 8 * version 2. This program is licensed "as is" without any warranty of any >> 9 * kind, whether express or implied. 7 */ 10 */ 8 11 9 / { 12 / { 10 aliases { 13 aliases { 11 serial1 = &hscif0; 14 serial1 = &hscif0; 12 serial2 = &scif1; 15 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 }; 16 }; 82 }; 17 }; 83 18 84 &can0 { 19 &can0 { 85 pinctrl-0 = <&can0_pins>; 20 pinctrl-0 = <&can0_pins>; 86 pinctrl-names = "default"; 21 pinctrl-names = "default"; 87 status = "okay"; 22 status = "okay"; 88 }; 23 }; 89 24 90 &can1 { 25 &can1 { 91 pinctrl-0 = <&can1_pins>; 26 pinctrl-0 = <&can1_pins>; 92 pinctrl-names = "default"; 27 pinctrl-names = "default"; 93 status = "okay"; 28 status = "okay"; 94 }; 29 }; 95 30 96 &du { << 97 ports { << 98 port@0 { << 99 du_out_rgb: endpoint { << 100 remote-endpoin << 101 }; << 102 }; << 103 }; << 104 }; << 105 << 106 &ehci0 { 31 &ehci0 { 107 dr_mode = "otg"; 32 dr_mode = "otg"; 108 status = "okay"; 33 status = "okay"; 109 }; 34 }; 110 35 111 &hscif0 { 36 &hscif0 { 112 pinctrl-0 = <&hscif0_pins>; 37 pinctrl-0 = <&hscif0_pins>; 113 pinctrl-names = "default"; 38 pinctrl-names = "default"; 114 uart-has-rtscts; 39 uart-has-rtscts; 115 40 116 status = "okay"; 41 status = "okay"; 117 }; 42 }; 118 43 119 &hscif1 { << 120 pinctrl-0 = <&hscif1_pins>; << 121 pinctrl-names = "default"; << 122 uart-has-rtscts; << 123 << 124 status = "okay"; << 125 }; << 126 << 127 &hsusb { 44 &hsusb { 128 dr_mode = "otg"; 45 dr_mode = "otg"; 129 status = "okay"; 46 status = "okay"; 130 }; 47 }; 131 48 132 &i2c2 { 49 &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 { 50 gpio_exp_74: gpio@74 { 233 compatible = "ti,tca9539"; 51 compatible = "ti,tca9539"; 234 reg = <0x74>; 52 reg = <0x74>; 235 gpio-controller; 53 gpio-controller; 236 #gpio-cells = <2>; 54 #gpio-cells = <2>; 237 interrupt-controller; 55 interrupt-controller; 238 #interrupt-cells = <2>; << 239 interrupt-parent = <&gpio6>; 56 interrupt-parent = <&gpio6>; 240 interrupts = <8 IRQ_TYPE_EDGE_ 57 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 241 58 242 audio-out-off-hog { !! 59 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; 60 gpio-hog; 251 gpios = <6 GPIO_ACTIVE 61 gpios = <6 GPIO_ACTIVE_HIGH>; 252 output-high; 62 output-high; 253 line-name = "HUB pwen" 63 line-name = "HUB pwen"; 254 }; 64 }; 255 65 256 hub-rst-hog { !! 66 hub_rst { 257 gpio-hog; 67 gpio-hog; 258 gpios = <7 GPIO_ACTIVE 68 gpios = <7 GPIO_ACTIVE_HIGH>; 259 output-high; 69 output-high; 260 line-name = "HUB rst"; 70 line-name = "HUB rst"; 261 }; 71 }; 262 72 263 otg-extlpn-hog { !! 73 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; 74 gpio-hog; 272 gpios = <8 GPIO_ACTIVE 75 gpios = <8 GPIO_ACTIVE_HIGH>; 273 output-low; 76 output-low; 274 line-name = "OTG OFFVB 77 line-name = "OTG OFFVBUSn"; 275 }; 78 }; 276 79 277 sd-wifi-mux-hog { !! 80 otg_extlpn { 278 gpio-hog; << 279 gpios = <5 GPIO_ACTIVE << 280 output-low; /* Con << 281 line-name = "SD WiFi m << 282 }; << 283 << 284 snd-rst-hog { << 285 gpio-hog; 81 gpio-hog; 286 gpios = <15 GPIO_ACTIV !! 82 gpios = <9 GPIO_ACTIVE_HIGH>; 287 output-high; 83 output-high; 288 line-name = "SND_RST"; !! 84 line-name = "OTG EXTLPn"; 289 }; 85 }; 290 }; 86 }; 291 87 292 /* U5 */ << 293 gpio_exp_75: gpio@75 { 88 gpio_exp_75: gpio@75 { 294 compatible = "ti,tca9539"; 89 compatible = "ti,tca9539"; 295 reg = <0x75>; 90 reg = <0x75>; 296 gpio-controller; 91 gpio-controller; 297 #gpio-cells = <2>; 92 #gpio-cells = <2>; 298 interrupt-controller; 93 interrupt-controller; 299 #interrupt-cells = <2>; << 300 interrupt-parent = <&gpio6>; 94 interrupt-parent = <&gpio6>; 301 interrupts = <4 IRQ_TYPE_EDGE_ 95 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 302 }; 96 }; 303 }; << 304 97 305 &i2c4 { !! 98 i2cswitch2: i2c-switch@71 { 306 i2cmux4: i2c-mux@71 { << 307 compatible = "nxp,pca9548"; 99 compatible = "nxp,pca9548"; 308 #address-cells = <1>; 100 #address-cells = <1>; 309 #size-cells = <0>; 101 #size-cells = <0>; 310 reg = <0x71>; 102 reg = <0x71>; 311 reset-gpios = <&gpio3 15 GPIO_ !! 103 reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>; 312 }; 104 }; >> 105 }; 313 106 >> 107 &i2c4 { 314 gpio_exp_76: gpio@76 { 108 gpio_exp_76: gpio@76 { 315 compatible = "ti,tca9539"; 109 compatible = "ti,tca9539"; 316 reg = <0x76>; 110 reg = <0x76>; 317 gpio-controller; 111 gpio-controller; 318 #gpio-cells = <2>; 112 #gpio-cells = <2>; 319 interrupt-controller; 113 interrupt-controller; 320 #interrupt-cells = <2>; << 321 interrupt-parent = <&gpio7>; 114 interrupt-parent = <&gpio7>; 322 interrupts = <3 IRQ_TYPE_EDGE_ 115 interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 323 }; 116 }; 324 117 325 gpio_exp_77: gpio@77 { 118 gpio_exp_77: gpio@77 { 326 compatible = "ti,tca9539"; 119 compatible = "ti,tca9539"; 327 reg = <0x77>; 120 reg = <0x77>; 328 gpio-controller; 121 gpio-controller; 329 #gpio-cells = <2>; 122 #gpio-cells = <2>; 330 interrupt-controller; 123 interrupt-controller; 331 #interrupt-cells = <2>; << 332 interrupt-parent = <&gpio5>; 124 interrupt-parent = <&gpio5>; 333 interrupts = <9 IRQ_TYPE_EDGE_ 125 interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 334 }; 126 }; >> 127 >> 128 i2cswitch4: i2c-switch@71 { >> 129 compatible = "nxp,pca9548"; >> 130 #address-cells = <1>; >> 131 #size-cells = <0>; >> 132 reg = <0x71>; >> 133 reset-gpios= <&gpio3 15 GPIO_ACTIVE_LOW>; >> 134 }; 335 }; 135 }; 336 136 337 &ohci0 { 137 &ohci0 { 338 dr_mode = "otg"; 138 dr_mode = "otg"; 339 status = "okay"; 139 status = "okay"; 340 }; 140 }; 341 141 342 &pcie_bus_clk { 142 &pcie_bus_clk { 343 clock-frequency = <100000000>; 143 clock-frequency = <100000000>; 344 }; 144 }; 345 145 346 &pciec0 { 146 &pciec0 { 347 status = "okay"; 147 status = "okay"; 348 }; 148 }; 349 149 350 &pciec1 { 150 &pciec1 { 351 status = "okay"; 151 status = "okay"; 352 << 353 vpcie1v5-supply = <&pcie_1v5>; << 354 vpcie3v3-supply = <&pcie_3v3>; << 355 }; 152 }; 356 153 357 &pfc { 154 &pfc { 358 can0_pins: can0 { 155 can0_pins: can0 { 359 groups = "can0_data_a"; 156 groups = "can0_data_a"; 360 function = "can0"; 157 function = "can0"; 361 }; 158 }; 362 159 363 can1_pins: can1 { 160 can1_pins: can1 { 364 groups = "can1_data"; 161 groups = "can1_data"; 365 function = "can1"; 162 function = "can1"; 366 }; 163 }; 367 164 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 { 165 hscif0_pins: hscif0 { 382 groups = "hscif0_data", "hscif 166 groups = "hscif0_data", "hscif0_ctrl"; 383 function = "hscif0"; 167 function = "hscif0"; 384 }; 168 }; 385 169 386 hscif1_pins: hscif1 { << 387 groups = "hscif1_data_a", "hsc << 388 function = "hscif1"; << 389 }; << 390 << 391 scif1_pins: scif1 { 170 scif1_pins: scif1 { 392 groups = "scif1_data_b"; !! 171 groups = "scif1_data_b", "scif1_ctrl"; 393 function = "scif1"; 172 function = "scif1"; 394 }; 173 }; 395 174 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 { 175 usb0_pins: usb0 { 408 groups = "usb0"; 176 groups = "usb0"; 409 function = "usb0"; 177 function = "usb0"; 410 }; 178 }; 411 }; 179 }; 412 180 413 &rcar_sound { << 414 pinctrl-0 = <&sound_pins << 415 &sound_clk_pins << 416 &sound_pcm_pins>; << 417 }; << 418 << 419 &scif1 { 181 &scif1 { 420 pinctrl-0 = <&scif1_pins>; 182 pinctrl-0 = <&scif1_pins>; 421 pinctrl-names = "default"; 183 pinctrl-names = "default"; >> 184 uart-has-rtscts; 422 185 423 status = "okay"; 186 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 }; 187 }; 460 188 461 &usb2_phy0 { 189 &usb2_phy0 { 462 pinctrl-0 = <&usb0_pins>; 190 pinctrl-0 = <&usb0_pins>; 463 pinctrl-names = "default"; 191 pinctrl-names = "default"; 464 192 465 status = "okay"; 193 status = "okay"; 466 }; 194 }; 467 195 468 &xhci0 { 196 &xhci0 { 469 status = "okay"; 197 status = "okay"; 470 }; 198 }; 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.