[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260204082908.27501-4-jiayu.riscv@isrc.iscas.ac.cn>
Date: Wed, 4 Feb 2026 16:29:08 +0800
From: Jiayu Du <jiayu.riscv@...c.iscas.ac.cn>
To: ulf.hansson@...aro.org,
adrian.hunter@...el.com,
robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org
Cc: pjw@...nel.org,
palmer@...belt.com,
aou@...s.berkeley.edu,
linux-mmc@...r.kernel.org,
devicetree@...r.kernel.org,
linux-riscv@...ts.infradead.org,
linux-kernel@...r.kernel.org,
gaohan@...as.ac.cn,
me@...ao.cc,
Jiayu Du <jiayu.riscv@...c.iscas.ac.cn>
Subject: [PATCH 3/3] riscv: dts: canaan: Add mmc nodes for K230
Add MMC nodes to K230, including eMMC and SDIO. Enable HS200 eMMC
on the SoM and SDIO high-speed on the board.
Signed-off-by: Jiayu Du <jiayu.riscv@...c.iscas.ac.cn>
---
.../boot/dts/canaan/k230-canmv-dshanpi.dts | 17 ++++++++++++
.../dts/canaan/k230-canmv-module-dshanpi.dtsi | 7 +++++
arch/riscv/boot/dts/canaan/k230.dtsi | 26 +++++++++++++++++++
3 files changed, 50 insertions(+)
diff --git a/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts b/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts
index 55197cfc25b4..fdf6524db09b 100644
--- a/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts
+++ b/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts
@@ -15,6 +15,8 @@ / {
aliases {
serial0 = &uart0;
+ mmc0 = &emmc;
+ mmc1 = &sdio;
};
chosen {
@@ -75,6 +77,21 @@ uart0-rxd-cfg {
};
};
+&emmc {
+ vmmc-supply = <&vdd_3v3>;
+ vqmmc-supply = <&vdd_1v8>;
+};
+
+&sdio {
+ bus-width = <4>;
+ max-frequency = <50000000>;
+ vmmc-supply = <&vdd_3v3>;
+ vqmmc-supply = <&vdd_3v3>;
+ cap-sd-highspeed;
+ no-1-8-v;
+ status = "okay";
+};
+
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins>;
diff --git a/arch/riscv/boot/dts/canaan/k230-canmv-module-dshanpi.dtsi b/arch/riscv/boot/dts/canaan/k230-canmv-module-dshanpi.dtsi
index 566665d39239..1db7569253fe 100644
--- a/arch/riscv/boot/dts/canaan/k230-canmv-module-dshanpi.dtsi
+++ b/arch/riscv/boot/dts/canaan/k230-canmv-module-dshanpi.dtsi
@@ -24,3 +24,10 @@ &sysclk {
clocks = <&osc24m>, <&timerx_pulse_in>;
clock-names = "osc24m", "timer-pulse-in";
};
+
+&emmc {
+ bus-width = <8>;
+ max-frequency = <200000000>;
+ mmc-hs200-1_8v;
+ status = "okay";
+};
diff --git a/arch/riscv/boot/dts/canaan/k230.dtsi b/arch/riscv/boot/dts/canaan/k230.dtsi
index b369b7d8dc83..296bf448403d 100644
--- a/arch/riscv/boot/dts/canaan/k230.dtsi
+++ b/arch/riscv/boot/dts/canaan/k230.dtsi
@@ -177,6 +177,32 @@ usb1: usb@...40000 {
status = "disabled";
};
+ emmc: mmc@...80000 {
+ compatible = "canaan,k230-emmc";
+ reg = <0x0 0x91580000 0x0 0x1000>;
+ clocks = <&sysclk K230_HS_SD0_AXI_GATE>,
+ <&sysclk K230_HS_SD0_CARD_GATE>,
+ <&sysclk K230_HS_SD0_BASE_GATE>,
+ <&sysclk K230_HS_SD0_TIMER_GATE>,
+ <&sysclk K230_HS_SD0_AHB_GATE>;
+ clock-names = "bus", "core", "base", "timer", "ahb";
+ interrupts = <142 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ sdio: mmc@...81000 {
+ compatible = "canaan,k230-sdio";
+ reg = <0x0 0x91581000 0x0 0x1000>;
+ clocks = <&sysclk K230_HS_SD1_AXI_GATE>,
+ <&sysclk K230_HS_SD1_CARD_GATE>,
+ <&sysclk K230_HS_SD1_BASE_GATE>,
+ <&sysclk K230_HS_SD1_TIMER_GATE>,
+ <&sysclk K230_HS_SD1_AHB_GATE>;
+ clock-names = "bus", "core", "base", "timer", "ahb";
+ interrupts = <144 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
usbphy: usb-phy@...85000 {
compatible = "canaan,k230-usb-phy";
reg = <0x0 0x91585000 0x0 0x400>;
--
2.52.0
Powered by blists - more mailing lists