1d828266bSBiju Das// SPDX-License-Identifier: GPL-2.0 2d828266bSBiju Das/* 3d828266bSBiju Das * Device Tree Source for the Silicon Linux RZ/G2E 96board platform (CAT874) 4d828266bSBiju Das * 5d828266bSBiju Das * Copyright (C) 2019 Renesas Electronics Corp. 6d828266bSBiju Das */ 7d828266bSBiju Das 8d828266bSBiju Das/dts-v1/; 9d828266bSBiju Das#include "r8a774c0.dtsi" 10a102b93eSBiju Das#include <dt-bindings/gpio/gpio.h> 11d828266bSBiju Das 12d828266bSBiju Das/ { 13d828266bSBiju Das model = "Silicon Linux RZ/G2E 96board platform (CAT874)"; 14d828266bSBiju Das compatible = "si-linux,cat874", "renesas,r8a774c0"; 15d828266bSBiju Das 16d828266bSBiju Das aliases { 17d828266bSBiju Das serial0 = &scif2; 18d828266bSBiju Das }; 19d828266bSBiju Das 20d828266bSBiju Das chosen { 21d828266bSBiju Das bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; 22d828266bSBiju Das stdout-path = "serial0:115200n8"; 23d828266bSBiju Das }; 24d828266bSBiju Das 25*94fc0ee2SFabrizio Castro hdmi-out { 26*94fc0ee2SFabrizio Castro compatible = "hdmi-connector"; 27*94fc0ee2SFabrizio Castro type = "a"; 28*94fc0ee2SFabrizio Castro 29*94fc0ee2SFabrizio Castro port { 30*94fc0ee2SFabrizio Castro hdmi_con_out: endpoint { 31*94fc0ee2SFabrizio Castro remote-endpoint = <&tda19988_out>; 32*94fc0ee2SFabrizio Castro }; 33*94fc0ee2SFabrizio Castro }; 34*94fc0ee2SFabrizio Castro }; 35*94fc0ee2SFabrizio Castro 36dc0b4394SFabrizio Castro leds { 37dc0b4394SFabrizio Castro compatible = "gpio-leds"; 38dc0b4394SFabrizio Castro 39dc0b4394SFabrizio Castro led0 { 40dc0b4394SFabrizio Castro gpios = <&gpio5 19 GPIO_ACTIVE_HIGH>; 41dc0b4394SFabrizio Castro label = "LED0"; 42dc0b4394SFabrizio Castro }; 43dc0b4394SFabrizio Castro 44dc0b4394SFabrizio Castro led1 { 45dc0b4394SFabrizio Castro gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 46dc0b4394SFabrizio Castro label = "LED1"; 47dc0b4394SFabrizio Castro }; 48dc0b4394SFabrizio Castro 49dc0b4394SFabrizio Castro led2 { 50dc0b4394SFabrizio Castro gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; 51dc0b4394SFabrizio Castro label = "LED2"; 52dc0b4394SFabrizio Castro }; 53dc0b4394SFabrizio Castro 54dc0b4394SFabrizio Castro led3 { 55dc0b4394SFabrizio Castro gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>; 56dc0b4394SFabrizio Castro label = "LED3"; 57dc0b4394SFabrizio Castro }; 58dc0b4394SFabrizio Castro }; 59dc0b4394SFabrizio Castro 60d828266bSBiju Das memory@48000000 { 61d828266bSBiju Das device_type = "memory"; 62d828266bSBiju Das /* first 128MB is reserved for secure area. */ 63d828266bSBiju Das reg = <0x0 0x48000000 0x0 0x78000000>; 64d828266bSBiju Das }; 65a102b93eSBiju Das 66a102b93eSBiju Das vcc_sdhi0: regulator-vcc-sdhi0 { 67a102b93eSBiju Das compatible = "regulator-fixed"; 68a102b93eSBiju Das 69a102b93eSBiju Das regulator-name = "SDHI0 Vcc"; 70a102b93eSBiju Das regulator-min-microvolt = <3300000>; 71a102b93eSBiju Das regulator-max-microvolt = <3300000>; 72a102b93eSBiju Das regulator-always-on; 73a102b93eSBiju Das regulator-boot-on; 74a102b93eSBiju Das }; 75a102b93eSBiju Das 76a102b93eSBiju Das vccq_sdhi0: regulator-vccq-sdhi0 { 77a102b93eSBiju Das compatible = "regulator-gpio"; 78a102b93eSBiju Das 79a102b93eSBiju Das regulator-name = "SDHI0 VccQ"; 80a102b93eSBiju Das regulator-min-microvolt = <1800000>; 81a102b93eSBiju Das regulator-max-microvolt = <3300000>; 82a102b93eSBiju Das 83a102b93eSBiju Das gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 84a102b93eSBiju Das gpios-states = <1>; 85a102b93eSBiju Das states = <3300000 1 86a102b93eSBiju Das 1800000 0>; 87a102b93eSBiju Das }; 88*94fc0ee2SFabrizio Castro 89*94fc0ee2SFabrizio Castro x13_clk: x13 { 90*94fc0ee2SFabrizio Castro compatible = "fixed-clock"; 91*94fc0ee2SFabrizio Castro #clock-cells = <0>; 92*94fc0ee2SFabrizio Castro clock-frequency = <74250000>; 93*94fc0ee2SFabrizio Castro }; 94*94fc0ee2SFabrizio Castro}; 95*94fc0ee2SFabrizio Castro 96*94fc0ee2SFabrizio Castro&du { 97*94fc0ee2SFabrizio Castro pinctrl-0 = <&du_pins>; 98*94fc0ee2SFabrizio Castro pinctrl-names = "default"; 99*94fc0ee2SFabrizio Castro status = "okay"; 100*94fc0ee2SFabrizio Castro 101*94fc0ee2SFabrizio Castro clocks = <&cpg CPG_MOD 724>, 102*94fc0ee2SFabrizio Castro <&cpg CPG_MOD 723>, 103*94fc0ee2SFabrizio Castro <&x13_clk>; 104*94fc0ee2SFabrizio Castro clock-names = "du.0", "du.1", "dclkin.0"; 105*94fc0ee2SFabrizio Castro 106*94fc0ee2SFabrizio Castro ports { 107*94fc0ee2SFabrizio Castro port@0 { 108*94fc0ee2SFabrizio Castro endpoint { 109*94fc0ee2SFabrizio Castro remote-endpoint = <&tda19988_in>; 110*94fc0ee2SFabrizio Castro }; 111*94fc0ee2SFabrizio Castro }; 112*94fc0ee2SFabrizio Castro }; 113d828266bSBiju Das}; 114d828266bSBiju Das 115ad68fa5fSFabrizio Castro&ehci0 { 116ad68fa5fSFabrizio Castro dr_mode = "host"; 117ad68fa5fSFabrizio Castro status = "okay"; 118ad68fa5fSFabrizio Castro}; 119ad68fa5fSFabrizio Castro 120d828266bSBiju Das&extal_clk { 121d828266bSBiju Das clock-frequency = <48000000>; 122d828266bSBiju Das}; 123d828266bSBiju Das 124*94fc0ee2SFabrizio Castro&i2c0 { 125*94fc0ee2SFabrizio Castro status = "okay"; 126*94fc0ee2SFabrizio Castro clock-frequency = <100000>; 127*94fc0ee2SFabrizio Castro 128*94fc0ee2SFabrizio Castro tda19988: tda19988@70 { 129*94fc0ee2SFabrizio Castro compatible = "nxp,tda998x"; 130*94fc0ee2SFabrizio Castro reg = <0x70>; 131*94fc0ee2SFabrizio Castro interrupt-parent = <&gpio1>; 132*94fc0ee2SFabrizio Castro interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 133*94fc0ee2SFabrizio Castro 134*94fc0ee2SFabrizio Castro video-ports = <0x234501>; 135*94fc0ee2SFabrizio Castro 136*94fc0ee2SFabrizio Castro ports { 137*94fc0ee2SFabrizio Castro #address-cells = <1>; 138*94fc0ee2SFabrizio Castro #size-cells = <0>; 139*94fc0ee2SFabrizio Castro 140*94fc0ee2SFabrizio Castro port@0 { 141*94fc0ee2SFabrizio Castro reg = <0>; 142*94fc0ee2SFabrizio Castro tda19988_in: endpoint { 143*94fc0ee2SFabrizio Castro remote-endpoint = <&du_out_rgb>; 144*94fc0ee2SFabrizio Castro }; 145*94fc0ee2SFabrizio Castro }; 146*94fc0ee2SFabrizio Castro 147*94fc0ee2SFabrizio Castro port@1 { 148*94fc0ee2SFabrizio Castro reg = <1>; 149*94fc0ee2SFabrizio Castro tda19988_out: endpoint { 150*94fc0ee2SFabrizio Castro remote-endpoint = <&hdmi_con_out>; 151*94fc0ee2SFabrizio Castro }; 152*94fc0ee2SFabrizio Castro }; 153*94fc0ee2SFabrizio Castro }; 154*94fc0ee2SFabrizio Castro }; 155*94fc0ee2SFabrizio Castro}; 156*94fc0ee2SFabrizio Castro 15707e72397SBiju Das&i2c1 { 15807e72397SBiju Das pinctrl-0 = <&i2c1_pins>; 15907e72397SBiju Das pinctrl-names = "default"; 16007e72397SBiju Das 16107e72397SBiju Das status = "okay"; 16207e72397SBiju Das clock-frequency = <400000>; 16307e72397SBiju Das 16407e72397SBiju Das rtc@32 { 16507e72397SBiju Das compatible = "epson,rx8571"; 16607e72397SBiju Das reg = <0x32>; 16707e72397SBiju Das }; 16807e72397SBiju Das}; 16907e72397SBiju Das 170*94fc0ee2SFabrizio Castro&lvds0 { 171*94fc0ee2SFabrizio Castro status = "okay"; 172*94fc0ee2SFabrizio Castro 173*94fc0ee2SFabrizio Castro clocks = <&cpg CPG_MOD 727>, <&x13_clk>, <&extal_clk>; 174*94fc0ee2SFabrizio Castro clock-names = "fck", "dclkin.0", "extal"; 175*94fc0ee2SFabrizio Castro}; 176*94fc0ee2SFabrizio Castro 177ad68fa5fSFabrizio Castro&ohci0 { 178ad68fa5fSFabrizio Castro dr_mode = "host"; 179ad68fa5fSFabrizio Castro status = "okay"; 180ad68fa5fSFabrizio Castro}; 181ad68fa5fSFabrizio Castro 182aaf6c75cSBiju Das&pcie_bus_clk { 183aaf6c75cSBiju Das clock-frequency = <100000000>; 184aaf6c75cSBiju Das}; 185aaf6c75cSBiju Das 186aaf6c75cSBiju Das&pciec0 { 187aaf6c75cSBiju Das /* Map all possible DDR as inbound ranges */ 188aaf6c75cSBiju Das dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000>; 189aaf6c75cSBiju Das}; 190aaf6c75cSBiju Das 1914cf1f6ceSBiju Das&pfc { 192*94fc0ee2SFabrizio Castro du_pins: du { 193*94fc0ee2SFabrizio Castro groups = "du_rgb888", "du_clk_out_0", "du_sync", "du_disp", 194*94fc0ee2SFabrizio Castro "du_clk_in_0"; 195*94fc0ee2SFabrizio Castro function = "du"; 196*94fc0ee2SFabrizio Castro }; 197*94fc0ee2SFabrizio Castro 19807e72397SBiju Das i2c1_pins: i2c1 { 19907e72397SBiju Das groups = "i2c1_b"; 20007e72397SBiju Das function = "i2c1"; 20107e72397SBiju Das }; 20207e72397SBiju Das 2034cf1f6ceSBiju Das scif2_pins: scif2 { 2044cf1f6ceSBiju Das groups = "scif2_data_a"; 2054cf1f6ceSBiju Das function = "scif2"; 2064cf1f6ceSBiju Das }; 207a102b93eSBiju Das 208a102b93eSBiju Das sdhi0_pins: sd0 { 209a102b93eSBiju Das groups = "sdhi0_data4", "sdhi0_ctrl"; 210a102b93eSBiju Das function = "sdhi0"; 211a102b93eSBiju Das power-source = <3300>; 212a102b93eSBiju Das }; 213a102b93eSBiju Das 214a102b93eSBiju Das sdhi0_pins_uhs: sd0_uhs { 215a102b93eSBiju Das groups = "sdhi0_data4", "sdhi0_ctrl"; 216a102b93eSBiju Das function = "sdhi0"; 217a102b93eSBiju Das power-source = <1800>; 218a102b93eSBiju Das }; 2194cf1f6ceSBiju Das}; 2204cf1f6ceSBiju Das 22179223ca1SFabrizio Castro&rwdt { 22279223ca1SFabrizio Castro timeout-sec = <60>; 22379223ca1SFabrizio Castro status = "okay"; 22479223ca1SFabrizio Castro}; 22579223ca1SFabrizio Castro 226d828266bSBiju Das&scif2 { 2274cf1f6ceSBiju Das pinctrl-0 = <&scif2_pins>; 2284cf1f6ceSBiju Das pinctrl-names = "default"; 2294cf1f6ceSBiju Das 230d828266bSBiju Das status = "okay"; 231d828266bSBiju Das}; 232a102b93eSBiju Das 233a102b93eSBiju Das&sdhi0 { 234a102b93eSBiju Das pinctrl-0 = <&sdhi0_pins>; 235a102b93eSBiju Das pinctrl-1 = <&sdhi0_pins_uhs>; 236a102b93eSBiju Das pinctrl-names = "default", "state_uhs"; 237a102b93eSBiju Das 238a102b93eSBiju Das vmmc-supply = <&vcc_sdhi0>; 239a102b93eSBiju Das vqmmc-supply = <&vccq_sdhi0>; 240a102b93eSBiju Das cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 241a102b93eSBiju Das bus-width = <4>; 242a102b93eSBiju Das sd-uhs-sdr50; 243a102b93eSBiju Das sd-uhs-sdr104; 244a102b93eSBiju Das status = "okay"; 245a102b93eSBiju Das}; 246ad68fa5fSFabrizio Castro 247ad68fa5fSFabrizio Castro&usb2_phy0 { 248ad68fa5fSFabrizio Castro renesas,no-otg-pins; 249ad68fa5fSFabrizio Castro status = "okay"; 250ad68fa5fSFabrizio Castro}; 251