mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
arm64: dts: renesas: rzv2mevk2: Add uSD card and eMMC support
The RZ/V2M EVK comes with a slot for a uSD card, and an eMMC. Add support for the both of them. Please note that the pinctrl driver for RZ/V2M doesn't support interrupts yet, therefore the card detect pin has been connected to the SDHI IP directly in this patch. We'll connect the card detect pin to its corresponding GPIO when we'll have driver support for interrupts in the RZ/V2M pinctrl driver. Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/20230130191152.182826-1-fabrizio.castro.jz@renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
This commit is contained in:
parent
548b277111
commit
b6c0be722b
1 changed files with 123 additions and 0 deletions
|
@ -7,6 +7,7 @@
|
|||
|
||||
/dts-v1/;
|
||||
#include "r9a09g011.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/pinctrl/rzv2m-pinctrl.h>
|
||||
|
||||
/ {
|
||||
|
@ -60,6 +61,36 @@
|
|||
device_type = "memory";
|
||||
reg = <0x1 0x80000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
reg_1v8: regulator-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_3v3: regulator-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
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>;
|
||||
|
||||
gpios = <&pwc 0 GPIO_ACTIVE_HIGH>;
|
||||
gpios-states = <1>;
|
||||
states = <3300000 0>, <1800000 1>;
|
||||
};
|
||||
};
|
||||
|
||||
&avb {
|
||||
|
@ -75,6 +106,23 @@
|
|||
};
|
||||
};
|
||||
|
||||
&emmc {
|
||||
pinctrl-0 = <&emmc_pins>;
|
||||
pinctrl-1 = <&emmc_pins>;
|
||||
pinctrl-names = "default", "state_uhs";
|
||||
|
||||
vmmc-supply = <®_3v3>;
|
||||
vqmmc-supply = <®_1v8>;
|
||||
bus-width = <8>;
|
||||
mmc-hs200-1_8v;
|
||||
no-sd;
|
||||
no-sdio;
|
||||
non-removable;
|
||||
fixed-emmc-driver-type = <1>;
|
||||
max-frequency = <200000000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&extal_clk {
|
||||
clock-frequency = <48000000>;
|
||||
};
|
||||
|
@ -118,6 +166,26 @@
|
|||
};
|
||||
|
||||
&pinctrl {
|
||||
emmc_pins: emmc {
|
||||
data {
|
||||
pinmux = <RZV2M_PORT_PINMUX(0, 0, 2)>, /* MMDAT0 */
|
||||
<RZV2M_PORT_PINMUX(0, 1, 2)>, /* MMDAT1 */
|
||||
<RZV2M_PORT_PINMUX(0, 2, 2)>, /* MMDAT2 */
|
||||
<RZV2M_PORT_PINMUX(0, 3, 2)>, /* MMDAT3 */
|
||||
<RZV2M_PORT_PINMUX(0, 4, 2)>, /* MMDAT4 */
|
||||
<RZV2M_PORT_PINMUX(0, 5, 2)>, /* MMDAT5 */
|
||||
<RZV2M_PORT_PINMUX(0, 6, 2)>, /* MMDAT6 */
|
||||
<RZV2M_PORT_PINMUX(0, 7, 2)>; /* MMDAT7 */
|
||||
power-source = <1800>;
|
||||
};
|
||||
|
||||
ctrl {
|
||||
pinmux = <RZV2M_PORT_PINMUX(0, 10, 2)>, /* MMCMD */
|
||||
<RZV2M_PORT_PINMUX(0, 11, 2)>; /* MMCLK */
|
||||
power-source = <1800>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0 {
|
||||
pinmux = <RZV2M_PORT_PINMUX(5, 0, 2)>, /* SDA */
|
||||
<RZV2M_PORT_PINMUX(5, 1, 2)>; /* SCL */
|
||||
|
@ -127,6 +195,48 @@
|
|||
pinmux = <RZV2M_PORT_PINMUX(3, 8, 2)>, /* SDA */
|
||||
<RZV2M_PORT_PINMUX(3, 9, 2)>; /* SCL */
|
||||
};
|
||||
|
||||
sdhi0_pins: sd0 {
|
||||
data {
|
||||
pinmux = <RZV2M_PORT_PINMUX(8, 2, 1)>, /* SD0DAT0 */
|
||||
<RZV2M_PORT_PINMUX(8, 3, 1)>, /* SD0DAT1 */
|
||||
<RZV2M_PORT_PINMUX(8, 4, 1)>, /* SD0DAT2 */
|
||||
<RZV2M_PORT_PINMUX(8, 5, 1)>; /* SD0DAT3 */
|
||||
power-source = <3300>;
|
||||
};
|
||||
|
||||
ctrl {
|
||||
pinmux = <RZV2M_PORT_PINMUX(8, 0, 1)>, /* SD0CMD */
|
||||
<RZV2M_PORT_PINMUX(8, 1, 1)>; /* SD0CLK */
|
||||
power-source = <3300>;
|
||||
};
|
||||
|
||||
cd {
|
||||
pinmux = <RZV2M_PORT_PINMUX(8, 7, 1)>; /* SD0CD */
|
||||
power-source = <3300>;
|
||||
};
|
||||
};
|
||||
|
||||
sdhi0_pins_uhs: sd0-uhs {
|
||||
data {
|
||||
pinmux = <RZV2M_PORT_PINMUX(8, 2, 1)>, /* SD0DAT0 */
|
||||
<RZV2M_PORT_PINMUX(8, 3, 1)>, /* SD0DAT1 */
|
||||
<RZV2M_PORT_PINMUX(8, 4, 1)>, /* SD0DAT2 */
|
||||
<RZV2M_PORT_PINMUX(8, 5, 1)>; /* SD0DAT3 */
|
||||
power-source = <1800>;
|
||||
};
|
||||
|
||||
ctrl {
|
||||
pinmux = <RZV2M_PORT_PINMUX(8, 0, 1)>, /* SD0CMD */
|
||||
<RZV2M_PORT_PINMUX(8, 1, 1)>; /* SD0CLK */
|
||||
power-source = <1800>;
|
||||
};
|
||||
|
||||
cd {
|
||||
pinmux = <RZV2M_PORT_PINMUX(8, 7, 1)>; /* SD0CD */
|
||||
power-source = <1800>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pwc {
|
||||
|
@ -134,6 +244,19 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhi0 {
|
||||
pinctrl-0 = <&sdhi0_pins>;
|
||||
pinctrl-1 = <&sdhi0_pins_uhs>;
|
||||
pinctrl-names = "default", "state_uhs";
|
||||
|
||||
vmmc-supply = <®_3v3>;
|
||||
vqmmc-supply = <&vccq_sdhi0>;
|
||||
bus-width = <4>;
|
||||
sd-uhs-sdr50;
|
||||
sd-uhs-sdr104;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue