1c4d87fe3SBiju Das// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c4d87fe3SBiju Das/* 3c4d87fe3SBiju Das * Device Tree Source for the RZ/G3E SMARC EVK board 4c4d87fe3SBiju Das * 5c4d87fe3SBiju Das * Copyright (C) 2024 Renesas Electronics Corp. 6c4d87fe3SBiju Das */ 7c4d87fe3SBiju Das 8c4d87fe3SBiju Das/dts-v1/; 9c4d87fe3SBiju Das 104c85281bSBiju Das/* Switch selection settings */ 11*99256644SBiju Das#define SW_GPIO8_CAN0_STB 0 12*99256644SBiju Das#define SW_GPIO9_CAN1_STB 0 13f2858ea2SBiju Das#define SW_LCD_EN 0 14f2858ea2SBiju Das#define SW_PDM_EN 0 154c85281bSBiju Das#define SW_SD0_DEV_SEL 0 16ae9edcbcSBiju Das#define SW_SDIO_M2E 0 174c85281bSBiju Das 18ae9edcbcSBiju Das#include <dt-bindings/gpio/gpio.h> 199e269561SBiju Das#include <dt-bindings/pinctrl/renesas,r9a09g047-pinctrl.h> 20c4d87fe3SBiju Das#include "r9a09g047e57.dtsi" 21c4d87fe3SBiju Das#include "rzg3e-smarc-som.dtsi" 22c4d87fe3SBiju Das#include "renesas-smarc2.dtsi" 23c4d87fe3SBiju Das 24c4d87fe3SBiju Das/ { 25c4d87fe3SBiju Das model = "Renesas SMARC EVK version 2 based on r9a09g047e57"; 26c4d87fe3SBiju Das compatible = "renesas,smarc2-evk", "renesas,rzg3e-smarcm", 27c4d87fe3SBiju Das "renesas,r9a09g047e57", "renesas,r9a09g047"; 28ae9edcbcSBiju Das 29ae9edcbcSBiju Das vqmmc_sd1_pvdd: regulator-vqmmc-sd1-pvdd { 30ae9edcbcSBiju Das compatible = "regulator-gpio"; 31ae9edcbcSBiju Das regulator-name = "SD1_PVDD"; 32ae9edcbcSBiju Das regulator-min-microvolt = <1800000>; 33ae9edcbcSBiju Das regulator-max-microvolt = <3300000>; 34ae9edcbcSBiju Das gpios = <&pinctrl RZG3E_GPIO(1, 5) GPIO_ACTIVE_HIGH>; 35ae9edcbcSBiju Das gpios-states = <0>; 36ae9edcbcSBiju Das states = <3300000 0>, <1800000 1>; 37ae9edcbcSBiju Das }; 38c4d87fe3SBiju Das}; 399e269561SBiju Das 40f2858ea2SBiju Das&canfd { 41f2858ea2SBiju Das pinctrl-0 = <&canfd_pins>; 42f2858ea2SBiju Das pinctrl-names = "default"; 43f2858ea2SBiju Das 44f2858ea2SBiju Das#if (!SW_PDM_EN) 45f2858ea2SBiju Das channel1 { 46f2858ea2SBiju Das status = "okay"; 47*99256644SBiju Das#if (!SW_LCD_EN) && (SW_GPIO9_CAN1_STB) 48*99256644SBiju Das phys = <&can_transceiver1>; 49*99256644SBiju Das#endif 50f2858ea2SBiju Das }; 51f2858ea2SBiju Das#endif 52f2858ea2SBiju Das 53f2858ea2SBiju Das#if (!SW_LCD_EN) 54f2858ea2SBiju Das channel4 { 55f2858ea2SBiju Das status = "okay"; 56*99256644SBiju Das#if (SW_GPIO8_CAN0_STB) 57*99256644SBiju Das phys = <&can_transceiver0>; 58*99256644SBiju Das#endif 59f2858ea2SBiju Das }; 60f2858ea2SBiju Das#endif 61f2858ea2SBiju Das}; 62f2858ea2SBiju Das 63*99256644SBiju Das#if (!SW_LCD_EN) && (SW_GPIO8_CAN0_STB) 64*99256644SBiju Das&can_transceiver0 { 65*99256644SBiju Das standby-gpios = <&pinctrl RZG3E_GPIO(5, 4) GPIO_ACTIVE_HIGH>; 66*99256644SBiju Das status = "okay"; 67*99256644SBiju Das}; 68*99256644SBiju Das#endif 69*99256644SBiju Das 70*99256644SBiju Das#if (!SW_LCD_EN) && (SW_GPIO9_CAN1_STB) 71*99256644SBiju Das&can_transceiver1 { 72*99256644SBiju Das standby-gpios = <&pinctrl RZG3E_GPIO(5, 5) GPIO_ACTIVE_HIGH>; 73*99256644SBiju Das status = "okay"; 74*99256644SBiju Das}; 75*99256644SBiju Das#endif 76*99256644SBiju Das 779e269561SBiju Das&pinctrl { 78f2858ea2SBiju Das canfd_pins: canfd { 79f2858ea2SBiju Das can1_pins: can1 { 80f2858ea2SBiju Das pinmux = <RZG3E_PORT_PINMUX(L, 2, 3)>, /* RX */ 81f2858ea2SBiju Das <RZG3E_PORT_PINMUX(L, 3, 3)>; /* TX */ 82f2858ea2SBiju Das }; 83f2858ea2SBiju Das 84f2858ea2SBiju Das can4_pins: can4 { 85f2858ea2SBiju Das pinmux = <RZG3E_PORT_PINMUX(5, 2, 3)>, /* RX */ 86f2858ea2SBiju Das <RZG3E_PORT_PINMUX(5, 3, 3)>; /* TX */ 87f2858ea2SBiju Das }; 88f2858ea2SBiju Das }; 89f2858ea2SBiju Das 909e269561SBiju Das scif_pins: scif { 919e269561SBiju Das pins = "SCIF_TXD", "SCIF_RXD"; 929e269561SBiju Das renesas,output-impedance = <1>; 939e269561SBiju Das }; 94ae9edcbcSBiju Das 95ae9edcbcSBiju Das sd1-pwr-en-hog { 96ae9edcbcSBiju Das gpio-hog; 97ae9edcbcSBiju Das gpios = <RZG3E_GPIO(1, 6) GPIO_ACTIVE_HIGH>; 98ae9edcbcSBiju Das output-high; 99ae9edcbcSBiju Das line-name = "sd1_pwr_en"; 100ae9edcbcSBiju Das }; 101ae9edcbcSBiju Das 102ae9edcbcSBiju Das sdhi1_pins: sd1 { 103ae9edcbcSBiju Das sd1-cd { 104ae9edcbcSBiju Das pinmux = <RZG3E_PORT_PINMUX(1, 4, 8)>; /* SD1CD */ 105ae9edcbcSBiju Das }; 106ae9edcbcSBiju Das 107ae9edcbcSBiju Das sd1-ctrl { 108ae9edcbcSBiju Das pinmux = <RZG3E_PORT_PINMUX(G, 0, 1)>, /* SD1CLK */ 109ae9edcbcSBiju Das <RZG3E_PORT_PINMUX(G, 1, 1)>; /* SD1CMD */ 110ae9edcbcSBiju Das }; 111ae9edcbcSBiju Das 112ae9edcbcSBiju Das sd1-data { 113ae9edcbcSBiju Das pinmux = <RZG3E_PORT_PINMUX(G, 2, 1)>, /* SD1DAT0 */ 114ae9edcbcSBiju Das <RZG3E_PORT_PINMUX(G, 3, 1)>, /* SD1DAT1 */ 115ae9edcbcSBiju Das <RZG3E_PORT_PINMUX(G, 4, 1)>, /* SD1DAT2 */ 116ae9edcbcSBiju Das <RZG3E_PORT_PINMUX(G, 5, 1)>; /* SD1DAT3 */ 117ae9edcbcSBiju Das }; 118ae9edcbcSBiju Das }; 1199e269561SBiju Das}; 1209e269561SBiju Das 1219e269561SBiju Das&scif0 { 1229e269561SBiju Das pinctrl-0 = <&scif_pins>; 1239e269561SBiju Das pinctrl-names = "default"; 1249e269561SBiju Das}; 125ae9edcbcSBiju Das 126ae9edcbcSBiju Das&sdhi1 { 127ae9edcbcSBiju Das pinctrl-0 = <&sdhi1_pins>; 128ae9edcbcSBiju Das pinctrl-1 = <&sdhi1_pins>; 129ae9edcbcSBiju Das pinctrl-names = "default", "state_uhs"; 130ae9edcbcSBiju Das 131ae9edcbcSBiju Das vmmc-supply = <®_3p3v>; 132ae9edcbcSBiju Das vqmmc-supply = <&vqmmc_sd1_pvdd>; 133ae9edcbcSBiju Das}; 134