// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) /* * Device Tree Source for the R9A09G047E57 SMARC SoM board. * * Copyright (C) 2024 Renesas Electronics Corp. */ /* * Please set the below switch position on the SoM and the corresponding macro * on the board DTS: * * Switch position SYS.1, Macro SW_SD0_DEV_SEL: * 0 - SD0 is connected to eMMC (default) * 1 - SD0 is connected to uSD0 card * * Switch position SYS.5, Macro SW_LCD_EN: * 0 - Select Misc. Signals routing * 1 - Select LCD * * Switch position BOOT.6, Macro SW_PDM_EN: * 0 - Select CAN routing * 1 - Select PDM */ / { compatible = "renesas,rzg3e-smarcm", "renesas,r9a09g047e57", "renesas,r9a09g047"; aliases { i2c2 = &i2c2; mmc0 = &sdhi0; mmc2 = &sdhi2; }; memory@48000000 { device_type = "memory"; /* First 128MB is reserved for secure area. */ reg = <0x0 0x48000000 0x0 0xf8000000>; }; reg_1p8v: regulator-1p8v { compatible = "regulator-fixed"; regulator-name = "fixed-1.8V"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; }; reg_3p3v: regulator-3p3v { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; reg_vdd0p8v_others: regulator-vdd0p8v-others { compatible = "regulator-fixed"; regulator-name = "fixed-0.8V"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <800000>; regulator-boot-on; regulator-always-on; }; /* 32.768kHz crystal */ x3: x3-clock { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <32768>; }; }; &audio_extal_clk { clock-frequency = <48000000>; }; &gpu { status = "okay"; mali-supply = <®_vdd0p8v_others>; }; &i2c2 { pinctrl-0 = <&i2c2_pins>; pinctrl-names = "default"; clock-frequency = <400000>; status = "okay"; raa215300: pmic@12 { compatible = "renesas,raa215300"; reg = <0x12>, <0x6f>; reg-names = "main", "rtc"; clocks = <&x3>; clock-names = "xin"; pinctrl-0 = <&rtc_irq_pin>; pinctrl-names = "default"; interrupts-extended = <&pinctrl RZG3E_GPIO(S, 1) IRQ_TYPE_EDGE_FALLING>; }; }; &pinctrl { i2c2_pins: i2c { pinmux = , /* SCL2 */ ; /* SDA2 */ }; rtc_irq_pin: rtc-irq { pins = "PS1"; bias-pull-up; }; sdhi0_emmc_pins: sd0-emmc { sd0-ctrl { pins = "SD0CLK", "SD0CMD"; renesas,output-impedance = <3>; }; sd0-data { pins = "SD0DAT0", "SD0DAT1", "SD0DAT2", "SD0DAT3", "SD0DAT4", "SD0DAT5", "SD0DAT6", "SD0DAT7"; renesas,output-impedance = <3>; }; sd0-rst { pins = "SD0RSTN"; renesas,output-impedance = <3>; }; }; sdhi0_usd_pins: sd0-usd { sd0-cd { pinmux = ; }; sd0-ctrl { pins = "SD0CLK", "SD0CMD"; renesas,output-impedance = <3>; }; sd0-data { pins = "SD0DAT0", "SD0DAT1", "SD0DAT2", "SD0DAT3"; renesas,output-impedance = <3>; }; sd0-iovs { pins = "SD0IOVS"; renesas,output-impedance = <3>; }; sd0-pwen { pins = "SD0PWEN"; renesas,output-impedance = <3>; }; }; sdhi2_pins: sd2 { sd2-cd { pinmux = ; /* SD2CD */ }; sd2-ctrl { pinmux = , /* SD2CLK */ ; /* SD2CMD */ }; sd2-data { pinmux = , /* SD2DAT0 */ , /* SD2DAT1 */ , /* SD2DAT2 */ ; /* SD2DAT3 */ }; sd2-iovs { pinmux = ; /* SD2IOVS */ }; sd2-pwen { pinmux = ; /* SD2PWEN */ }; }; }; &qextal_clk { clock-frequency = <24000000>; }; &rtxin_clk { clock-frequency = <32768>; }; #if (SW_SD0_DEV_SEL) &sdhi0 { pinctrl-0 = <&sdhi0_usd_pins>; pinctrl-1 = <&sdhi0_usd_pins>; pinctrl-names = "default", "state_uhs"; vmmc-supply = <®_3p3v>; vqmmc-supply = <&sdhi0_vqmmc>; bus-width = <4>; sd-uhs-sdr50; sd-uhs-sdr104; status = "okay"; }; &sdhi0_vqmmc { status = "okay"; }; #else &sdhi0 { pinctrl-0 = <&sdhi0_emmc_pins>; pinctrl-1 = <&sdhi0_emmc_pins>; pinctrl-names = "default", "state_uhs"; vmmc-supply = <®_3p3v>; vqmmc-supply = <®_1p8v>; bus-width = <8>; mmc-hs200-1_8v; non-removable; fixed-emmc-driver-type = <1>; status = "okay"; }; #endif &sdhi2 { pinctrl-0 = <&sdhi2_pins>; pinctrl-1 = <&sdhi2_pins>; pinctrl-names = "default", "state_uhs"; vmmc-supply = <®_3p3v>; vqmmc-supply = <&sdhi2_vqmmc>; bus-width = <4>; sd-uhs-sdr50; sd-uhs-sdr104; status = "okay"; }; &sdhi2_vqmmc { status = "okay"; }; &wdt1 { status = "okay"; };