0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Device Tree Source for the iWave-RZ/G1C single board computer
0004 *
0005 * Copyright (C) 2018 Renesas Electronics Corp.
0006 */
0007
0008 /dts-v1/;
0009 #include <dt-bindings/gpio/gpio.h>
0010 #include "r8a77470.dtsi"
0011 / {
0012 model = "iWave iW-RainboW-G23S single board computer based on RZ/G1C";
0013 compatible = "iwave,g23s", "renesas,r8a77470";
0014
0015 aliases {
0016 ethernet0 = &avb;
0017 serial1 = &scif1;
0018 };
0019
0020 chosen {
0021 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
0022 stdout-path = "serial1:115200n8";
0023 };
0024
0025 hdmi-out {
0026 compatible = "hdmi-connector";
0027 type = "a";
0028
0029 port {
0030 hdmi_con: endpoint {
0031 remote-endpoint = <&bridge_out>;
0032 };
0033 };
0034 };
0035
0036 memory@40000000 {
0037 device_type = "memory";
0038 reg = <0 0x40000000 0 0x20000000>;
0039 };
0040
0041 reg_1p8v: reg-1p8v {
0042 compatible = "regulator-fixed";
0043 regulator-name = "fixed-1.8V";
0044 regulator-min-microvolt = <1800000>;
0045 regulator-max-microvolt = <1800000>;
0046 regulator-boot-on;
0047 regulator-always-on;
0048 };
0049
0050 reg_3p3v: reg-3p3v {
0051 compatible = "regulator-fixed";
0052 regulator-name = "fixed-3.3V";
0053 regulator-min-microvolt = <3300000>;
0054 regulator-max-microvolt = <3300000>;
0055 regulator-boot-on;
0056 regulator-always-on;
0057 };
0058
0059 vccq_sdhi2: regulator-vccq-sdhi2 {
0060 compatible = "regulator-gpio";
0061
0062 regulator-name = "SDHI2 VccQ";
0063 regulator-min-microvolt = <1800000>;
0064 regulator-max-microvolt = <3300000>;
0065
0066 gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>;
0067 gpios-states = <1>;
0068 states = <3300000 1>, <1800000 0>;
0069 };
0070 };
0071
0072 &avb {
0073 pinctrl-0 = <&avb_pins>;
0074 pinctrl-names = "default";
0075
0076 phy-handle = <&phy3>;
0077 phy-mode = "gmii";
0078 renesas,no-ether-link;
0079 status = "okay";
0080
0081 phy3: ethernet-phy@3 {
0082 compatible = "ethernet-phy-id0022.1622",
0083 "ethernet-phy-ieee802.3-c22";
0084 reg = <3>;
0085 interrupt-parent = <&gpio5>;
0086 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
0087 micrel,led-mode = <1>;
0088 };
0089 };
0090
0091 &cmt0 {
0092 status = "okay";
0093 };
0094
0095 &du {
0096 pinctrl-0 = <&du0_pins>;
0097 pinctrl-names = "default";
0098
0099 status = "okay";
0100
0101 ports {
0102 port@0 {
0103 endpoint {
0104 remote-endpoint = <&bridge_in>;
0105 };
0106 };
0107 };
0108 };
0109
0110 &ehci1 {
0111 status = "okay";
0112 };
0113
0114 &extal_clk {
0115 clock-frequency = <20000000>;
0116 };
0117
0118 &gpio2 {
0119 interrupt-fixup-hog {
0120 gpio-hog;
0121 gpios = <29 GPIO_ACTIVE_HIGH>;
0122 line-name = "hdmi-hpd-int";
0123 input;
0124 };
0125 };
0126
0127 &hsusb0 {
0128 status = "okay";
0129 };
0130
0131 &i2c3 {
0132 pinctrl-0 = <&i2c3_pins>;
0133 pinctrl-names = "default";
0134
0135 status = "okay";
0136 clock-frequency = <400000>;
0137
0138 rtc@51 {
0139 compatible = "nxp,pcf85263";
0140 reg = <0x51>;
0141 };
0142 };
0143
0144 &i2c4 {
0145 pinctrl-0 = <&i2c4_pins>;
0146 pinctrl-names = "default";
0147
0148 status = "okay";
0149 clock-frequency = <100000>;
0150
0151 hdmi@39 {
0152 compatible = "sil,sii9022";
0153 reg = <0x39>;
0154 interrupt-parent = <&gpio2>;
0155 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
0156
0157 ports {
0158 #address-cells = <1>;
0159 #size-cells = <0>;
0160
0161 port@0 {
0162 reg = <0>;
0163 bridge_in: endpoint {
0164 remote-endpoint = <&du_out_rgb0>;
0165 };
0166 };
0167
0168 port@1 {
0169 reg = <1>;
0170 bridge_out: endpoint {
0171 remote-endpoint = <&hdmi_con>;
0172 };
0173 };
0174 };
0175 };
0176 };
0177
0178 &ohci1 {
0179 status = "okay";
0180 };
0181
0182 &pfc {
0183 avb_pins: avb {
0184 groups = "avb_mdio", "avb_gmii_tx_rx";
0185 function = "avb";
0186 };
0187
0188 du0_pins: du0 {
0189 groups = "du0_rgb888", "du0_sync", "du0_disp", "du0_clk0_out";
0190 function = "du0";
0191 };
0192
0193 i2c4_pins: i2c4 {
0194 groups = "i2c4_e";
0195 function = "i2c4";
0196 };
0197
0198 i2c3_pins: i2c3 {
0199 groups = "i2c3_c";
0200 function = "i2c3";
0201 };
0202
0203 mmc_pins_uhs: mmc_uhs {
0204 groups = "mmc_data8", "mmc_ctrl";
0205 function = "mmc";
0206 power-source = <1800>;
0207 };
0208
0209 qspi0_pins: qspi0 {
0210 groups = "qspi0_ctrl", "qspi0_data2";
0211 function = "qspi0";
0212 };
0213
0214 scif1_pins: scif1 {
0215 groups = "scif1_data_b";
0216 function = "scif1";
0217 };
0218
0219 sdhi2_pins: sd2 {
0220 groups = "sdhi2_data4", "sdhi2_ctrl";
0221 function = "sdhi2";
0222 power-source = <3300>;
0223 };
0224
0225 sdhi2_pins_uhs: sd2_uhs {
0226 groups = "sdhi2_data4", "sdhi2_ctrl";
0227 function = "sdhi2";
0228 power-source = <1800>;
0229 };
0230
0231 usb0_pins: usb0 {
0232 groups = "usb0";
0233 function = "usb0";
0234 };
0235
0236 usb1_pins: usb1 {
0237 groups = "usb1";
0238 function = "usb1";
0239 };
0240 };
0241
0242 &qspi0 {
0243 pinctrl-0 = <&qspi0_pins>;
0244 pinctrl-names = "default";
0245
0246 status = "okay";
0247
0248 /* WARNING - This device contains the bootloader. Handle with care. */
0249 flash: flash@0 {
0250 #address-cells = <1>;
0251 #size-cells = <1>;
0252 compatible = "issi,is25lp016d", "jedec,spi-nor";
0253 reg = <0>;
0254 spi-max-frequency = <133000000>;
0255 spi-tx-bus-width = <1>;
0256 spi-rx-bus-width = <1>;
0257 m25p,fast-read;
0258 spi-cpol;
0259 spi-cpha;
0260 };
0261 };
0262
0263 &rwdt {
0264 timeout-sec = <60>;
0265 status = "okay";
0266 };
0267
0268 &scif1 {
0269 pinctrl-0 = <&scif1_pins>;
0270 pinctrl-names = "default";
0271
0272 status = "okay";
0273 };
0274
0275 &sdhi1 {
0276 pinctrl-0 = <&mmc_pins_uhs>;
0277 pinctrl-names = "state_uhs";
0278
0279 vmmc-supply = <®_3p3v>;
0280 vqmmc-supply = <®_1p8v>;
0281 bus-width = <8>;
0282 mmc-hs200-1_8v;
0283 non-removable;
0284 fixed-emmc-driver-type = <1>;
0285 status = "okay";
0286 };
0287
0288 &sdhi2 {
0289 pinctrl-0 = <&sdhi2_pins>;
0290 pinctrl-1 = <&sdhi2_pins_uhs>;
0291 pinctrl-names = "default", "state_uhs";
0292
0293 vmmc-supply = <®_3p3v>;
0294 vqmmc-supply = <&vccq_sdhi2>;
0295 bus-width = <4>;
0296 cd-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>;
0297 sd-uhs-sdr50;
0298 status = "okay";
0299 };
0300
0301 &usb2_phy0 {
0302 status = "okay";
0303 };
0304
0305 &usb2_phy1 {
0306 status = "okay";
0307 };
0308
0309 &usbphy0 {
0310 pinctrl-0 = <&usb0_pins>;
0311 pinctrl-names = "default";
0312
0313 status = "okay";
0314 };
0315
0316 &usbphy1 {
0317 pinctrl-0 = <&usb1_pins>;
0318 pinctrl-names = "default";
0319
0320 status = "okay";
0321 };