mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-26 15:28:50 +00:00
arm: dts: Import RZ/G2L SMARC EVK device tree
The Renesas RZ/G2L SMARC Evaluation Board Kit consists of the RZ/G2L System-on-Module (SOM) based on the R9A07G044L2 SoC, and a common SMARC carrier board. This patch is based on the corresponding Linux v6.5 device tree (commit 52e12027d50affbf60c6c9c64db8017391b0c22e). Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
This commit is contained in:
parent
eb4f1246f9
commit
e3e01a6f94
8 changed files with 2124 additions and 0 deletions
|
@ -1120,6 +1120,9 @@ dtb-$(CONFIG_RCAR_GEN4) += \
|
||||||
r8a779f0-spider-u-boot.dtb \
|
r8a779f0-spider-u-boot.dtb \
|
||||||
r8a779g0-white-hawk-u-boot.dtb
|
r8a779g0-white-hawk-u-boot.dtb
|
||||||
|
|
||||||
|
dtb-$(CONFIG_TARGET_RZG2L) += \
|
||||||
|
r9a07g044l2-smarc.dts
|
||||||
|
|
||||||
ifdef CONFIG_RCAR_64
|
ifdef CONFIG_RCAR_64
|
||||||
DTC_FLAGS += -R 4 -p 0x1000
|
DTC_FLAGS += -R 4 -p 0x1000
|
||||||
endif
|
endif
|
||||||
|
|
1273
arch/arm/dts/r9a07g044.dtsi
Normal file
1273
arch/arm/dts/r9a07g044.dtsi
Normal file
File diff suppressed because it is too large
Load diff
18
arch/arm/dts/r9a07g044l2-smarc.dts
Normal file
18
arch/arm/dts/r9a07g044l2-smarc.dts
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
/*
|
||||||
|
* Device Tree Source for the RZ/G2L SMARC EVK board
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 Renesas Electronics Corp.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include "r9a07g044l2.dtsi"
|
||||||
|
#include "rzg2l-smarc-som.dtsi"
|
||||||
|
#include "rzg2l-smarc-pinfunction.dtsi"
|
||||||
|
#include "rz-smarc-common.dtsi"
|
||||||
|
#include "rzg2l-smarc.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Renesas SMARC EVK based on r9a07g044l2";
|
||||||
|
compatible = "renesas,smarc-evk", "renesas,r9a07g044l2", "renesas,r9a07g044";
|
||||||
|
};
|
13
arch/arm/dts/r9a07g044l2.dtsi
Normal file
13
arch/arm/dts/r9a07g044l2.dtsi
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
/*
|
||||||
|
* Device Tree Source for the RZ/G2L R9A07G044L2 SoC specific parts
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 Renesas Electronics Corp.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include "r9a07g044.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
compatible = "renesas,r9a07g044l2", "renesas,r9a07g044";
|
||||||
|
};
|
183
arch/arm/dts/rz-smarc-common.dtsi
Normal file
183
arch/arm/dts/rz-smarc-common.dtsi
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
/*
|
||||||
|
* Device Tree Source for the RZ/{G2L,G2LC,V2L} SMARC EVK common parts
|
||||||
|
*
|
||||||
|
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* SSI-WM8978
|
||||||
|
*
|
||||||
|
* This command is required when Playback/Capture
|
||||||
|
*
|
||||||
|
* amixer cset name='Left Input Mixer L2 Switch' on
|
||||||
|
* amixer cset name='Right Input Mixer R2 Switch' on
|
||||||
|
* amixer cset name='Headphone Playback Volume' 100
|
||||||
|
* amixer cset name='PCM Volume' 100%
|
||||||
|
* amixer cset name='Input PGA Volume' 25
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/ {
|
||||||
|
aliases {
|
||||||
|
serial0 = &scif0;
|
||||||
|
i2c0 = &i2c0;
|
||||||
|
i2c1 = &i2c1;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
audio_mclock: audio_mclock {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <11289600>;
|
||||||
|
};
|
||||||
|
|
||||||
|
snd_rzg2l: sound {
|
||||||
|
compatible = "simple-audio-card";
|
||||||
|
simple-audio-card,format = "i2s";
|
||||||
|
simple-audio-card,bitclock-master = <&cpu_dai>;
|
||||||
|
simple-audio-card,frame-master = <&cpu_dai>;
|
||||||
|
simple-audio-card,mclk-fs = <256>;
|
||||||
|
|
||||||
|
simple-audio-card,widgets = "Microphone", "Microphone Jack";
|
||||||
|
simple-audio-card,routing =
|
||||||
|
"L2", "Mic Bias",
|
||||||
|
"R2", "Mic Bias",
|
||||||
|
"Mic Bias", "Microphone Jack";
|
||||||
|
|
||||||
|
cpu_dai: simple-audio-card,cpu {
|
||||||
|
};
|
||||||
|
|
||||||
|
codec_dai: simple-audio-card,codec {
|
||||||
|
clocks = <&audio_mclock>;
|
||||||
|
sound-dai = <&wm8978>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
usb0_vbus_otg: regulator-usb0-vbus-otg {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
|
||||||
|
regulator-name = "USB0_VBUS_OTG";
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
vccq_sdhi1: regulator-vccq-sdhi1 {
|
||||||
|
compatible = "regulator-gpio";
|
||||||
|
regulator-name = "SDHI1 VccQ";
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
gpios-states = <1>;
|
||||||
|
states = <3300000 1>, <1800000 0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&audio_clk1{
|
||||||
|
clock-frequency = <11289600>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&audio_clk2{
|
||||||
|
clock-frequency = <12288000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&canfd {
|
||||||
|
pinctrl-0 = <&can0_pins &can1_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
channel0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
channel1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&ehci0 {
|
||||||
|
dr_mode = "otg";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ehci1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&hsusb {
|
||||||
|
dr_mode = "otg";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
pinctrl-0 = <&i2c0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1 {
|
||||||
|
pinctrl-0 = <&i2c1_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ohci0 {
|
||||||
|
dr_mode = "otg";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ohci1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&phyrst {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&scif0 {
|
||||||
|
pinctrl-0 = <&scif0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sdhi1 {
|
||||||
|
pinctrl-0 = <&sdhi1_pins>;
|
||||||
|
pinctrl-1 = <&sdhi1_pins_uhs>;
|
||||||
|
pinctrl-names = "default", "state_uhs";
|
||||||
|
|
||||||
|
vmmc-supply = <®_3p3v>;
|
||||||
|
vqmmc-supply = <&vccq_sdhi1>;
|
||||||
|
bus-width = <4>;
|
||||||
|
sd-uhs-sdr50;
|
||||||
|
sd-uhs-sdr104;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi1 {
|
||||||
|
pinctrl-0 = <&spi1_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb2_phy0 {
|
||||||
|
pinctrl-0 = <&usb0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
vbus-supply = <&usb0_vbus_otg>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb2_phy1 {
|
||||||
|
pinctrl-0 = <&usb1_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
};
|
137
arch/arm/dts/rzg2l-smarc-pinfunction.dtsi
Normal file
137
arch/arm/dts/rzg2l-smarc-pinfunction.dtsi
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
/*
|
||||||
|
* Device Tree Source for the RZ/{G2L,V2L} SMARC pincontrol parts
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 Renesas Electronics Corp.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
pinctrl-0 = <&sound_clk_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
can0_pins: can0 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(10, 1, 2)>, /* TX */
|
||||||
|
<RZG2L_PORT_PINMUX(11, 0, 2)>; /* RX */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* SW7 should be at position 2->3 so that GPIO8_CAN0_STB line is activated */
|
||||||
|
can0-stb-hog {
|
||||||
|
gpio-hog;
|
||||||
|
gpios = <RZG2L_GPIO(42, 2) GPIO_ACTIVE_HIGH>;
|
||||||
|
output-low;
|
||||||
|
line-name = "can0_stb";
|
||||||
|
};
|
||||||
|
|
||||||
|
can1_pins: can1 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(12, 1, 2)>, /* TX */
|
||||||
|
<RZG2L_PORT_PINMUX(13, 0, 2)>; /* RX */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* SW8 should be at position 2->3 so that GPIO9_CAN1_STB line is activated */
|
||||||
|
can1-stb-hog {
|
||||||
|
gpio-hog;
|
||||||
|
gpios = <RZG2L_GPIO(42, 3) GPIO_ACTIVE_HIGH>;
|
||||||
|
output-low;
|
||||||
|
line-name = "can1_stb";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c0_pins: i2c0 {
|
||||||
|
pins = "RIIC0_SDA", "RIIC0_SCL";
|
||||||
|
input-enable;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c1_pins: i2c1 {
|
||||||
|
pins = "RIIC1_SDA", "RIIC1_SCL";
|
||||||
|
input-enable;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c3_pins: i2c3 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(18, 0, 3)>, /* SDA */
|
||||||
|
<RZG2L_PORT_PINMUX(18, 1, 3)>; /* SCL */
|
||||||
|
};
|
||||||
|
|
||||||
|
scif0_pins: scif0 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(38, 0, 1)>, /* TxD */
|
||||||
|
<RZG2L_PORT_PINMUX(38, 1, 1)>; /* RxD */
|
||||||
|
};
|
||||||
|
|
||||||
|
scif2_pins: scif2 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(48, 0, 1)>, /* TxD */
|
||||||
|
<RZG2L_PORT_PINMUX(48, 1, 1)>, /* RxD */
|
||||||
|
<RZG2L_PORT_PINMUX(48, 3, 1)>, /* CTS# */
|
||||||
|
<RZG2L_PORT_PINMUX(48, 4, 1)>; /* RTS# */
|
||||||
|
};
|
||||||
|
|
||||||
|
sd1-pwr-en-hog {
|
||||||
|
gpio-hog;
|
||||||
|
gpios = <RZG2L_GPIO(39, 2) GPIO_ACTIVE_HIGH>;
|
||||||
|
output-high;
|
||||||
|
line-name = "sd1_pwr_en";
|
||||||
|
};
|
||||||
|
|
||||||
|
sdhi1_pins: sd1 {
|
||||||
|
sd1_data {
|
||||||
|
pins = "SD1_DATA0", "SD1_DATA1", "SD1_DATA2", "SD1_DATA3";
|
||||||
|
power-source = <3300>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sd1_ctrl {
|
||||||
|
pins = "SD1_CLK", "SD1_CMD";
|
||||||
|
power-source = <3300>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sd1_mux {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(19, 0, 1)>; /* SD1_CD */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sdhi1_pins_uhs: sd1_uhs {
|
||||||
|
sd1_data_uhs {
|
||||||
|
pins = "SD1_DATA0", "SD1_DATA1", "SD1_DATA2", "SD1_DATA3";
|
||||||
|
power-source = <1800>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sd1_ctrl_uhs {
|
||||||
|
pins = "SD1_CLK", "SD1_CMD";
|
||||||
|
power-source = <1800>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sd1_mux_uhs {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(19, 0, 1)>; /* SD1_CD */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sound_clk_pins: sound_clk {
|
||||||
|
pins = "AUDIO_CLK1", "AUDIO_CLK2";
|
||||||
|
input-enable;
|
||||||
|
};
|
||||||
|
|
||||||
|
spi1_pins: spi1 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(44, 0, 1)>, /* CK */
|
||||||
|
<RZG2L_PORT_PINMUX(44, 1, 1)>, /* MOSI */
|
||||||
|
<RZG2L_PORT_PINMUX(44, 2, 1)>, /* MISO */
|
||||||
|
<RZG2L_PORT_PINMUX(44, 3, 1)>; /* SSL */
|
||||||
|
};
|
||||||
|
|
||||||
|
ssi0_pins: ssi0 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(45, 0, 1)>, /* BCK */
|
||||||
|
<RZG2L_PORT_PINMUX(45, 1, 1)>, /* RCK */
|
||||||
|
<RZG2L_PORT_PINMUX(45, 2, 1)>, /* TXD */
|
||||||
|
<RZG2L_PORT_PINMUX(45, 3, 1)>; /* RXD */
|
||||||
|
};
|
||||||
|
|
||||||
|
usb0_pins: usb0 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(4, 0, 1)>, /* VBUS */
|
||||||
|
<RZG2L_PORT_PINMUX(5, 0, 1)>, /* OVC */
|
||||||
|
<RZG2L_PORT_PINMUX(5, 1, 1)>; /* OTG_ID */
|
||||||
|
};
|
||||||
|
|
||||||
|
usb1_pins: usb1 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(42, 0, 1)>, /* VBUS */
|
||||||
|
<RZG2L_PORT_PINMUX(42, 1, 1)>; /* OVC */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
353
arch/arm/dts/rzg2l-smarc-som.dtsi
Normal file
353
arch/arm/dts/rzg2l-smarc-som.dtsi
Normal file
|
@ -0,0 +1,353 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
/*
|
||||||
|
* Device Tree Source for the RZ/{G2L,V2L} SMARC SOM common parts
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 Renesas Electronics Corp.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irqc-rzg2l.h>
|
||||||
|
#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
|
||||||
|
|
||||||
|
/* SW1[2] should be at position 2/OFF to enable 64 GB eMMC */
|
||||||
|
#define EMMC 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To enable uSD card on CN3,
|
||||||
|
* SW1[2] should be at position 3/ON.
|
||||||
|
* Disable eMMC by setting "#define EMMC 0" above.
|
||||||
|
*/
|
||||||
|
#define SDHI (!EMMC)
|
||||||
|
|
||||||
|
/ {
|
||||||
|
aliases {
|
||||||
|
ethernet0 = ð0;
|
||||||
|
ethernet1 = ð1;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
|
||||||
|
};
|
||||||
|
|
||||||
|
memory@48000000 {
|
||||||
|
device_type = "memory";
|
||||||
|
/* first 128MB is reserved for secure area. */
|
||||||
|
reg = <0x0 0x48000000 0x0 0x78000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
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_1p1v: regulator-vdd-core {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "fixed-1.1V";
|
||||||
|
regulator-min-microvolt = <1100000>;
|
||||||
|
regulator-max-microvolt = <1100000>;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
|
vccq_sdhi0: regulator-vccq-sdhi0 {
|
||||||
|
compatible = "regulator-gpio";
|
||||||
|
|
||||||
|
regulator-name = "SDHI0 VccQ";
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
states = <3300000 1>, <1800000 0>;
|
||||||
|
regulator-boot-on;
|
||||||
|
gpios = <&pinctrl RZG2L_GPIO(39, 0) GPIO_ACTIVE_HIGH>;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&adc {
|
||||||
|
pinctrl-0 = <&adc_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
/delete-node/ channel@6;
|
||||||
|
/delete-node/ channel@7;
|
||||||
|
};
|
||||||
|
|
||||||
|
ð0 {
|
||||||
|
pinctrl-0 = <ð0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
phy-handle = <&phy0>;
|
||||||
|
phy-mode = "rgmii-id";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy0: ethernet-phy@7 {
|
||||||
|
compatible = "ethernet-phy-id0022.1640",
|
||||||
|
"ethernet-phy-ieee802.3-c22";
|
||||||
|
reg = <7>;
|
||||||
|
interrupt-parent = <&irqc>;
|
||||||
|
interrupts = <RZG2L_IRQ2 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
rxc-skew-psec = <2400>;
|
||||||
|
txc-skew-psec = <2400>;
|
||||||
|
rxdv-skew-psec = <0>;
|
||||||
|
txdv-skew-psec = <0>;
|
||||||
|
rxd0-skew-psec = <0>;
|
||||||
|
rxd1-skew-psec = <0>;
|
||||||
|
rxd2-skew-psec = <0>;
|
||||||
|
rxd3-skew-psec = <0>;
|
||||||
|
txd0-skew-psec = <0>;
|
||||||
|
txd1-skew-psec = <0>;
|
||||||
|
txd2-skew-psec = <0>;
|
||||||
|
txd3-skew-psec = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ð1 {
|
||||||
|
pinctrl-0 = <ð1_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
phy-handle = <&phy1>;
|
||||||
|
phy-mode = "rgmii-id";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy1: ethernet-phy@7 {
|
||||||
|
compatible = "ethernet-phy-id0022.1640",
|
||||||
|
"ethernet-phy-ieee802.3-c22";
|
||||||
|
reg = <7>;
|
||||||
|
interrupt-parent = <&irqc>;
|
||||||
|
interrupts = <RZG2L_IRQ3 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
rxc-skew-psec = <2400>;
|
||||||
|
txc-skew-psec = <2400>;
|
||||||
|
rxdv-skew-psec = <0>;
|
||||||
|
txdv-skew-psec = <0>;
|
||||||
|
rxd0-skew-psec = <0>;
|
||||||
|
rxd1-skew-psec = <0>;
|
||||||
|
rxd2-skew-psec = <0>;
|
||||||
|
rxd3-skew-psec = <0>;
|
||||||
|
txd0-skew-psec = <0>;
|
||||||
|
txd1-skew-psec = <0>;
|
||||||
|
txd2-skew-psec = <0>;
|
||||||
|
txd3-skew-psec = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&extal_clk {
|
||||||
|
clock-frequency = <24000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpu {
|
||||||
|
mali-supply = <®_1p1v>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&ostm1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ostm2 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
adc_pins: adc {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(9, 0, 2)>; /* ADC_TRG */
|
||||||
|
};
|
||||||
|
|
||||||
|
eth0_pins: eth0 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(28, 1, 1)>, /* ET0_LINKSTA */
|
||||||
|
<RZG2L_PORT_PINMUX(27, 1, 1)>, /* ET0_MDC */
|
||||||
|
<RZG2L_PORT_PINMUX(28, 0, 1)>, /* ET0_MDIO */
|
||||||
|
<RZG2L_PORT_PINMUX(20, 0, 1)>, /* ET0_TXC */
|
||||||
|
<RZG2L_PORT_PINMUX(20, 1, 1)>, /* ET0_TX_CTL */
|
||||||
|
<RZG2L_PORT_PINMUX(20, 2, 1)>, /* ET0_TXD0 */
|
||||||
|
<RZG2L_PORT_PINMUX(21, 0, 1)>, /* ET0_TXD1 */
|
||||||
|
<RZG2L_PORT_PINMUX(21, 1, 1)>, /* ET0_TXD2 */
|
||||||
|
<RZG2L_PORT_PINMUX(22, 0, 1)>, /* ET0_TXD3 */
|
||||||
|
<RZG2L_PORT_PINMUX(24, 0, 1)>, /* ET0_RXC */
|
||||||
|
<RZG2L_PORT_PINMUX(24, 1, 1)>, /* ET0_RX_CTL */
|
||||||
|
<RZG2L_PORT_PINMUX(25, 0, 1)>, /* ET0_RXD0 */
|
||||||
|
<RZG2L_PORT_PINMUX(25, 1, 1)>, /* ET0_RXD1 */
|
||||||
|
<RZG2L_PORT_PINMUX(26, 0, 1)>, /* ET0_RXD2 */
|
||||||
|
<RZG2L_PORT_PINMUX(26, 1, 1)>, /* ET0_RXD3 */
|
||||||
|
<RZG2L_PORT_PINMUX(1, 0, 1)>; /* IRQ2 */
|
||||||
|
};
|
||||||
|
|
||||||
|
eth1_pins: eth1 {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(37, 2, 1)>, /* ET1_LINKSTA */
|
||||||
|
<RZG2L_PORT_PINMUX(37, 0, 1)>, /* ET1_MDC */
|
||||||
|
<RZG2L_PORT_PINMUX(37, 1, 1)>, /* ET1_MDIO */
|
||||||
|
<RZG2L_PORT_PINMUX(29, 0, 1)>, /* ET1_TXC */
|
||||||
|
<RZG2L_PORT_PINMUX(29, 1, 1)>, /* ET1_TX_CTL */
|
||||||
|
<RZG2L_PORT_PINMUX(30, 0, 1)>, /* ET1_TXD0 */
|
||||||
|
<RZG2L_PORT_PINMUX(30, 1, 1)>, /* ET1_TXD1 */
|
||||||
|
<RZG2L_PORT_PINMUX(31, 0, 1)>, /* ET1_TXD2 */
|
||||||
|
<RZG2L_PORT_PINMUX(31, 1, 1)>, /* ET1_TXD3 */
|
||||||
|
<RZG2L_PORT_PINMUX(33, 1, 1)>, /* ET1_RXC */
|
||||||
|
<RZG2L_PORT_PINMUX(34, 0, 1)>, /* ET1_RX_CTL */
|
||||||
|
<RZG2L_PORT_PINMUX(34, 1, 1)>, /* ET1_RXD0 */
|
||||||
|
<RZG2L_PORT_PINMUX(35, 0, 1)>, /* ET1_RXD1 */
|
||||||
|
<RZG2L_PORT_PINMUX(35, 1, 1)>, /* ET1_RXD2 */
|
||||||
|
<RZG2L_PORT_PINMUX(36, 0, 1)>, /* ET1_RXD3 */
|
||||||
|
<RZG2L_PORT_PINMUX(1, 1, 1)>; /* IRQ3 */
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-sd0-pwr-en-hog {
|
||||||
|
gpio-hog;
|
||||||
|
gpios = <RZG2L_GPIO(4, 1) GPIO_ACTIVE_HIGH>;
|
||||||
|
output-high;
|
||||||
|
line-name = "gpio_sd0_pwr_en";
|
||||||
|
};
|
||||||
|
|
||||||
|
qspi0_pins: qspi0 {
|
||||||
|
qspi0-data {
|
||||||
|
pins = "QSPI0_IO0", "QSPI0_IO1", "QSPI0_IO2", "QSPI0_IO3";
|
||||||
|
power-source = <1800>;
|
||||||
|
};
|
||||||
|
|
||||||
|
qspi0-ctrl {
|
||||||
|
pins = "QSPI0_SPCLK", "QSPI0_SSL", "QSPI_RESET#";
|
||||||
|
power-source = <1800>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* SD0 device selection is XOR between GPIO_SD0_DEV_SEL and SW1[2]
|
||||||
|
* The below switch logic can be used to select the device between
|
||||||
|
* eMMC and microSD, after setting GPIO_SD0_DEV_SEL to high in DT.
|
||||||
|
* SW1[2] should be at position 2/OFF to enable 64 GB eMMC
|
||||||
|
* SW1[2] should be at position 3/ON to enable uSD card CN3
|
||||||
|
*/
|
||||||
|
sd0-dev-sel-hog {
|
||||||
|
gpio-hog;
|
||||||
|
gpios = <RZG2L_GPIO(41, 1) GPIO_ACTIVE_HIGH>;
|
||||||
|
output-high;
|
||||||
|
line-name = "sd0_dev_sel";
|
||||||
|
};
|
||||||
|
|
||||||
|
sdhi0_emmc_pins: sd0emmc {
|
||||||
|
sd0_emmc_data {
|
||||||
|
pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3",
|
||||||
|
"SD0_DATA4", "SD0_DATA5", "SD0_DATA6", "SD0_DATA7";
|
||||||
|
power-source = <1800>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sd0_emmc_ctrl {
|
||||||
|
pins = "SD0_CLK", "SD0_CMD";
|
||||||
|
power-source = <1800>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sd0_emmc_rst {
|
||||||
|
pins = "SD0_RST#";
|
||||||
|
power-source = <1800>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sdhi0_pins: sd0 {
|
||||||
|
sd0_data {
|
||||||
|
pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3";
|
||||||
|
power-source = <3300>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sd0_ctrl {
|
||||||
|
pins = "SD0_CLK", "SD0_CMD";
|
||||||
|
power-source = <3300>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sd0_mux {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(47, 0, 2)>; /* SD0_CD */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sdhi0_pins_uhs: sd0_uhs {
|
||||||
|
sd0_data_uhs {
|
||||||
|
pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3";
|
||||||
|
power-source = <1800>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sd0_ctrl_uhs {
|
||||||
|
pins = "SD0_CLK", "SD0_CMD";
|
||||||
|
power-source = <1800>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sd0_mux_uhs {
|
||||||
|
pinmux = <RZG2L_PORT_PINMUX(47, 0, 2)>; /* SD0_CD */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&sbc {
|
||||||
|
pinctrl-0 = <&qspi0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
flash@0 {
|
||||||
|
compatible = "micron,mt25qu512a", "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
m25p,fast-read;
|
||||||
|
spi-max-frequency = <50000000>;
|
||||||
|
spi-rx-bus-width = <4>;
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
boot@0 {
|
||||||
|
reg = <0x00000000 0x2000000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
user@2000000 {
|
||||||
|
reg = <0x2000000 0x2000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#if SDHI
|
||||||
|
&sdhi0 {
|
||||||
|
pinctrl-0 = <&sdhi0_pins>;
|
||||||
|
pinctrl-1 = <&sdhi0_pins_uhs>;
|
||||||
|
pinctrl-names = "default", "state_uhs";
|
||||||
|
|
||||||
|
vmmc-supply = <®_3p3v>;
|
||||||
|
vqmmc-supply = <&vccq_sdhi0>;
|
||||||
|
bus-width = <4>;
|
||||||
|
sd-uhs-sdr50;
|
||||||
|
sd-uhs-sdr104;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if EMMC
|
||||||
|
&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
|
||||||
|
|
||||||
|
&wdt0 {
|
||||||
|
status = "okay";
|
||||||
|
timeout-sec = <60>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&wdt1 {
|
||||||
|
status = "okay";
|
||||||
|
timeout-sec = <60>;
|
||||||
|
};
|
144
arch/arm/dts/rzg2l-smarc.dtsi
Normal file
144
arch/arm/dts/rzg2l-smarc.dtsi
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
/*
|
||||||
|
* Device Tree Source for the RZ/{G2L,V2L} SMARC EVK common parts
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 Renesas Electronics Corp.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
|
||||||
|
|
||||||
|
/* comment the #define statement to disable SCIF2 (SER0) on PMOD1 (CN7) */
|
||||||
|
#define PMOD1_SER0 1
|
||||||
|
|
||||||
|
/ {
|
||||||
|
aliases {
|
||||||
|
serial1 = &scif2;
|
||||||
|
i2c3 = &i2c3;
|
||||||
|
};
|
||||||
|
|
||||||
|
osc1: cec-clock {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <12000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
hdmi-out {
|
||||||
|
compatible = "hdmi-connector";
|
||||||
|
type = "d";
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_con_out: endpoint {
|
||||||
|
remote-endpoint = <&adv7535_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpu_dai {
|
||||||
|
sound-dai = <&ssi0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&dsi {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
dsi0_in: endpoint {
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
dsi0_out: endpoint {
|
||||||
|
data-lanes = <1 2 3 4>;
|
||||||
|
remote-endpoint = <&adv7535_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1 {
|
||||||
|
adv7535: hdmi@3d {
|
||||||
|
compatible = "adi,adv7535";
|
||||||
|
reg = <0x3d>;
|
||||||
|
|
||||||
|
interrupt-parent = <&pinctrl>;
|
||||||
|
interrupts = <RZG2L_GPIO(2, 1) IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
clocks = <&osc1>;
|
||||||
|
clock-names = "cec";
|
||||||
|
avdd-supply = <®_1p8v>;
|
||||||
|
dvdd-supply = <®_1p8v>;
|
||||||
|
pvdd-supply = <®_1p8v>;
|
||||||
|
a2vdd-supply = <®_1p8v>;
|
||||||
|
v3p3-supply = <®_3p3v>;
|
||||||
|
v1p2-supply = <®_1p8v>;
|
||||||
|
|
||||||
|
adi,dsi-lanes = <4>;
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
adv7535_in: endpoint {
|
||||||
|
remote-endpoint = <&dsi0_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
adv7535_out: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_con_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c3 {
|
||||||
|
pinctrl-0 = <&i2c3_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
clock-frequency = <400000>;
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
wm8978: codec@1a {
|
||||||
|
compatible = "wlf,wm8978";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
reg = <0x1a>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To enable SCIF2 (SER0) on PMOD1 (CN7)
|
||||||
|
* SW1 should be at position 2->3 so that SER0_CTS# line is activated
|
||||||
|
* SW2 should be at position 2->3 so that SER0_TX line is activated
|
||||||
|
* SW3 should be at position 2->3 so that SER0_RX line is activated
|
||||||
|
* SW4 should be at position 2->3 so that SER0_RTS# line is activated
|
||||||
|
*/
|
||||||
|
#if PMOD1_SER0
|
||||||
|
&scif2 {
|
||||||
|
pinctrl-0 = <&scif2_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
uart-has-rtscts;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
&ssi0 {
|
||||||
|
pinctrl-0 = <&ssi0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&vccq_sdhi1 {
|
||||||
|
gpios = <&pinctrl RZG2L_GPIO(39, 1) GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
Loading…
Add table
Reference in a new issue