* [PATCH 0/3] spacemit: k1: Add support for Banana Pi BPI-CM6 IO board
@ 2026-05-22 10:01 ` Junhui Liu
0 siblings, 0 replies; 19+ messages in thread
From: Junhui Liu @ 2026-05-22 10:01 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan,
Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen
Cc: devicetree, linux-riscv, spacemit, linux-kernel, Junhui Liu
This adds initial support for the Banana Pi BPI-CM6 IO board. The
BPI-CM6 is an industrial-grade RISC-V compute module powered by the
SpacemiT K1 SoC, featuring board-to-board connectors similar to the
Raspberry Pi CM4 form factor. For evaluation and development, the module
is paired with a companion IO carrier board.
During the board bring-up, GPIO45 and GPIO46 were found to be used by
the BPI-CM6 hardware as Ethernet PHY reset GPIOs, while the common K1
GMAC pinctrl groups currently mux them as optional GMAC reference clock
pins. Since the reference clock pins are not required on all K1 boards,
the first patch separates them into independent pinctrl groups so board
DTS files can select them only when the signal is actually wired.
This is based on the "dt-for-next" branch of the spacemit-com/linux.
Link: https://docs.banana-pi.org/en/BPI-CM6/BananaPi_BPI-CM6
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
Junhui Liu (3):
dt-bindings: riscv: spacemit: Add Banana Pi BPI-CM6 compatible
riscv: dts: spacemit: k1: Split gmac_clk_ref into independent pinctrl groups
riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board
.../devicetree/bindings/riscv/spacemit.yaml | 5 +
arch/riscv/boot/dts/spacemit/Makefile | 1 +
.../riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts | 215 +++++++++++++++++++
arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi | 227 +++++++++++++++++++++
arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi | 24 ++-
5 files changed, 468 insertions(+), 4 deletions(-)
---
base-commit: 6edd9a0d32e1ef81133b8cb5b3bb3157a44da4d1
change-id: 20260522-bpi-cm6-dc38f91e3fec
Best regards,
--
Junhui Liu <junhui.liu@pigmoral.tech>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 19+ messages in thread* [PATCH 0/3] spacemit: k1: Add support for Banana Pi BPI-CM6 IO board @ 2026-05-22 10:01 ` Junhui Liu 0 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-22 10:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: devicetree, linux-riscv, spacemit, linux-kernel, Junhui Liu This adds initial support for the Banana Pi BPI-CM6 IO board. The BPI-CM6 is an industrial-grade RISC-V compute module powered by the SpacemiT K1 SoC, featuring board-to-board connectors similar to the Raspberry Pi CM4 form factor. For evaluation and development, the module is paired with a companion IO carrier board. During the board bring-up, GPIO45 and GPIO46 were found to be used by the BPI-CM6 hardware as Ethernet PHY reset GPIOs, while the common K1 GMAC pinctrl groups currently mux them as optional GMAC reference clock pins. Since the reference clock pins are not required on all K1 boards, the first patch separates them into independent pinctrl groups so board DTS files can select them only when the signal is actually wired. This is based on the "dt-for-next" branch of the spacemit-com/linux. Link: https://docs.banana-pi.org/en/BPI-CM6/BananaPi_BPI-CM6 Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> --- Junhui Liu (3): dt-bindings: riscv: spacemit: Add Banana Pi BPI-CM6 compatible riscv: dts: spacemit: k1: Split gmac_clk_ref into independent pinctrl groups riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board .../devicetree/bindings/riscv/spacemit.yaml | 5 + arch/riscv/boot/dts/spacemit/Makefile | 1 + .../riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts | 215 +++++++++++++++++++ arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi | 227 +++++++++++++++++++++ arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi | 24 ++- 5 files changed, 468 insertions(+), 4 deletions(-) --- base-commit: 6edd9a0d32e1ef81133b8cb5b3bb3157a44da4d1 change-id: 20260522-bpi-cm6-dc38f91e3fec Best regards, -- Junhui Liu <junhui.liu@pigmoral.tech> ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 1/3] dt-bindings: riscv: spacemit: Add Banana Pi BPI-CM6 compatible 2026-05-22 10:01 ` Junhui Liu @ 2026-05-22 10:01 ` Junhui Liu -1 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-22 10:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: devicetree, linux-riscv, spacemit, linux-kernel, Junhui Liu The Banana Pi BPI-CM6 IO board consists of the BPI-CM6 compute module plugged into an IO carrier board, which is used for evaluation and development. The core CM6 module is based on the SpacemiT K1 SoC and provides PMIC, DDR, the eth0 PHY and wireless connectivity. The carrier board extends this by adding the eth1 PHY and external interfaces including Ethernet, PCIe M.2, USB, MicroSD, QSPI, and serial console connectivity. Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> --- Documentation/devicetree/bindings/riscv/spacemit.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/spacemit.yaml b/Documentation/devicetree/bindings/riscv/spacemit.yaml index af8030242bdc..3e868383eb4a 100644 --- a/Documentation/devicetree/bindings/riscv/spacemit.yaml +++ b/Documentation/devicetree/bindings/riscv/spacemit.yaml @@ -19,6 +19,11 @@ properties: const: '/' compatible: oneOf: + - items: + - enum: + - bananapi,bpi-cm6-io + - const: bananapi,bpi-cm6 + - const: spacemit,k1 - items: - enum: - bananapi,bpi-f3 -- 2.54.0 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 1/3] dt-bindings: riscv: spacemit: Add Banana Pi BPI-CM6 compatible @ 2026-05-22 10:01 ` Junhui Liu 0 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-22 10:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: devicetree, linux-riscv, spacemit, linux-kernel, Junhui Liu The Banana Pi BPI-CM6 IO board consists of the BPI-CM6 compute module plugged into an IO carrier board, which is used for evaluation and development. The core CM6 module is based on the SpacemiT K1 SoC and provides PMIC, DDR, the eth0 PHY and wireless connectivity. The carrier board extends this by adding the eth1 PHY and external interfaces including Ethernet, PCIe M.2, USB, MicroSD, QSPI, and serial console connectivity. Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> --- Documentation/devicetree/bindings/riscv/spacemit.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/spacemit.yaml b/Documentation/devicetree/bindings/riscv/spacemit.yaml index af8030242bdc..3e868383eb4a 100644 --- a/Documentation/devicetree/bindings/riscv/spacemit.yaml +++ b/Documentation/devicetree/bindings/riscv/spacemit.yaml @@ -19,6 +19,11 @@ properties: const: '/' compatible: oneOf: + - items: + - enum: + - bananapi,bpi-cm6-io + - const: bananapi,bpi-cm6 + - const: spacemit,k1 - items: - enum: - bananapi,bpi-f3 -- 2.54.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH 1/3] dt-bindings: riscv: spacemit: Add Banana Pi BPI-CM6 compatible 2026-05-22 10:01 ` Junhui Liu @ 2026-05-22 16:11 ` Conor Dooley -1 siblings, 0 replies; 19+ messages in thread From: Conor Dooley @ 2026-05-22 16:11 UTC (permalink / raw) To: Junhui Liu Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen, devicetree, linux-riscv, spacemit, linux-kernel [-- Attachment #1.1: Type: text/plain, Size: 75 bytes --] Acked-by: Conor Dooley <conor.dooley@microchip.com> pw-bot: not-applicable [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 161 bytes --] _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 1/3] dt-bindings: riscv: spacemit: Add Banana Pi BPI-CM6 compatible @ 2026-05-22 16:11 ` Conor Dooley 0 siblings, 0 replies; 19+ messages in thread From: Conor Dooley @ 2026-05-22 16:11 UTC (permalink / raw) To: Junhui Liu Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen, devicetree, linux-riscv, spacemit, linux-kernel [-- Attachment #1: Type: text/plain, Size: 75 bytes --] Acked-by: Conor Dooley <conor.dooley@microchip.com> pw-bot: not-applicable [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 2/3] riscv: dts: spacemit: k1: Split gmac_clk_ref into independent pinctrl groups 2026-05-22 10:01 ` Junhui Liu @ 2026-05-22 10:01 ` Junhui Liu -1 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-22 10:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: devicetree, linux-riscv, spacemit, linux-kernel, Junhui Liu The gmac_clk_ref signal is optional for the GMAC controller and is not strictly required for all hardware designs. In several already upstreamed K1 boards, this signal remains unconnected or the corresponding resistor is marked as NC. Furthermore, the pins for gmac0_clk_ref (GPIO 45) and gmac1_clk_ref (GPIO 46) may be used as GPIOs for other functions even when the Ethernet controller is active. Splitting these into independent groups avoids pinmux conflicts and allows boards to use the reference clock signal only when it is actually needed. Fixes: 60775f28cfb7 ("riscv: dts: spacemit: Add Ethernet support for K1") Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> --- arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi b/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi index 4e9a62d0e85b..8c57ca05dabd 100644 --- a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi +++ b/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi @@ -27,8 +27,16 @@ gmac0-pins { <K1_PADCONF(11, 1)>, /* gmac0_tx_en */ <K1_PADCONF(12, 1)>, /* gmac0_mdc */ <K1_PADCONF(13, 1)>, /* gmac0_mdio */ - <K1_PADCONF(14, 1)>, /* gmac0_int_n */ - <K1_PADCONF(45, 1)>; /* gmac0_clk_ref */ + <K1_PADCONF(14, 1)>; /* gmac0_int_n */ + + bias-pull-up = <0>; + drive-strength = <21>; + }; + }; + + gmac0_clk_ref_cfg: gmac0-clk-ref-cfg { + gmac0-clk-ref-pins { + pinmux = <K1_PADCONF(45, 1)>; /* gmac0_clk_ref */ bias-pull-up = <0>; drive-strength = <21>; @@ -51,8 +59,16 @@ gmac1-pins { <K1_PADCONF(40, 1)>, /* gmac1_tx_en */ <K1_PADCONF(41, 1)>, /* gmac1_mdc */ <K1_PADCONF(42, 1)>, /* gmac1_mdio */ - <K1_PADCONF(43, 1)>, /* gmac1_int_n */ - <K1_PADCONF(46, 1)>; /* gmac1_clk_ref */ + <K1_PADCONF(43, 1)>; /* gmac1_int_n */ + + bias-pull-up = <0>; + drive-strength = <21>; + }; + }; + + gmac1_clk_ref_cfg: gmac1-clk-ref-cfg { + gmac1-clk-ref-pins { + pinmux = <K1_PADCONF(46, 1)>; /* gmac1_clk_ref */ bias-pull-up = <0>; drive-strength = <21>; -- 2.54.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 2/3] riscv: dts: spacemit: k1: Split gmac_clk_ref into independent pinctrl groups @ 2026-05-22 10:01 ` Junhui Liu 0 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-22 10:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: devicetree, linux-riscv, spacemit, linux-kernel, Junhui Liu The gmac_clk_ref signal is optional for the GMAC controller and is not strictly required for all hardware designs. In several already upstreamed K1 boards, this signal remains unconnected or the corresponding resistor is marked as NC. Furthermore, the pins for gmac0_clk_ref (GPIO 45) and gmac1_clk_ref (GPIO 46) may be used as GPIOs for other functions even when the Ethernet controller is active. Splitting these into independent groups avoids pinmux conflicts and allows boards to use the reference clock signal only when it is actually needed. Fixes: 60775f28cfb7 ("riscv: dts: spacemit: Add Ethernet support for K1") Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> --- arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi b/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi index 4e9a62d0e85b..8c57ca05dabd 100644 --- a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi +++ b/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi @@ -27,8 +27,16 @@ gmac0-pins { <K1_PADCONF(11, 1)>, /* gmac0_tx_en */ <K1_PADCONF(12, 1)>, /* gmac0_mdc */ <K1_PADCONF(13, 1)>, /* gmac0_mdio */ - <K1_PADCONF(14, 1)>, /* gmac0_int_n */ - <K1_PADCONF(45, 1)>; /* gmac0_clk_ref */ + <K1_PADCONF(14, 1)>; /* gmac0_int_n */ + + bias-pull-up = <0>; + drive-strength = <21>; + }; + }; + + gmac0_clk_ref_cfg: gmac0-clk-ref-cfg { + gmac0-clk-ref-pins { + pinmux = <K1_PADCONF(45, 1)>; /* gmac0_clk_ref */ bias-pull-up = <0>; drive-strength = <21>; @@ -51,8 +59,16 @@ gmac1-pins { <K1_PADCONF(40, 1)>, /* gmac1_tx_en */ <K1_PADCONF(41, 1)>, /* gmac1_mdc */ <K1_PADCONF(42, 1)>, /* gmac1_mdio */ - <K1_PADCONF(43, 1)>, /* gmac1_int_n */ - <K1_PADCONF(46, 1)>; /* gmac1_clk_ref */ + <K1_PADCONF(43, 1)>; /* gmac1_int_n */ + + bias-pull-up = <0>; + drive-strength = <21>; + }; + }; + + gmac1_clk_ref_cfg: gmac1-clk-ref-cfg { + gmac1-clk-ref-pins { + pinmux = <K1_PADCONF(46, 1)>; /* gmac1_clk_ref */ bias-pull-up = <0>; drive-strength = <21>; -- 2.54.0 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH 2/3] riscv: dts: spacemit: k1: Split gmac_clk_ref into independent pinctrl groups 2026-05-22 10:01 ` Junhui Liu @ 2026-05-26 4:48 ` Yixun Lan -1 siblings, 0 replies; 19+ messages in thread From: Yixun Lan @ 2026-05-26 4:48 UTC (permalink / raw) To: Junhui Liu Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen, devicetree, linux-riscv, spacemit, linux-kernel Hi Junhui, On 18:01 Fri 22 May , Junhui Liu wrote: > The gmac_clk_ref signal is optional for the GMAC controller and is not > strictly required for all hardware designs. In several already > upstreamed K1 boards, this signal remains unconnected or the > corresponding resistor is marked as NC. > I've not checked all exist boards which already accepted by mainline, but just ask, to be sure, none of them actually used clk ref pin? otherwise we will result with a broken GMAC/Ethernet driver.. > Furthermore, the pins for gmac0_clk_ref (GPIO 45) and gmac1_clk_ref > (GPIO 46) may be used as GPIOs for other functions even when the > Ethernet controller is active. Splitting these into independent groups > avoids pinmux conflicts and allows boards to use the reference clock > signal only when it is actually needed. > > Fixes: 60775f28cfb7 ("riscv: dts: spacemit: Add Ethernet support for K1") > Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> -- Yixun Lan (dlan) ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 2/3] riscv: dts: spacemit: k1: Split gmac_clk_ref into independent pinctrl groups @ 2026-05-26 4:48 ` Yixun Lan 0 siblings, 0 replies; 19+ messages in thread From: Yixun Lan @ 2026-05-26 4:48 UTC (permalink / raw) To: Junhui Liu Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen, devicetree, linux-riscv, spacemit, linux-kernel Hi Junhui, On 18:01 Fri 22 May , Junhui Liu wrote: > The gmac_clk_ref signal is optional for the GMAC controller and is not > strictly required for all hardware designs. In several already > upstreamed K1 boards, this signal remains unconnected or the > corresponding resistor is marked as NC. > I've not checked all exist boards which already accepted by mainline, but just ask, to be sure, none of them actually used clk ref pin? otherwise we will result with a broken GMAC/Ethernet driver.. > Furthermore, the pins for gmac0_clk_ref (GPIO 45) and gmac1_clk_ref > (GPIO 46) may be used as GPIOs for other functions even when the > Ethernet controller is active. Splitting these into independent groups > avoids pinmux conflicts and allows boards to use the reference clock > signal only when it is actually needed. > > Fixes: 60775f28cfb7 ("riscv: dts: spacemit: Add Ethernet support for K1") > Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> -- Yixun Lan (dlan) _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 2/3] riscv: dts: spacemit: k1: Split gmac_clk_ref into independent pinctrl groups 2026-05-26 4:48 ` Yixun Lan @ 2026-05-26 9:19 ` Junhui Liu -1 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-26 9:19 UTC (permalink / raw) To: Yixun Lan, Junhui Liu Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen, devicetree, linux-riscv, spacemit, linux-kernel Hi Yixun, On Tue May 26, 2026 at 12:48 PM CST, Yixun Lan wrote: > Hi Junhui, > > On 18:01 Fri 22 May , Junhui Liu wrote: >> The gmac_clk_ref signal is optional for the GMAC controller and is not >> strictly required for all hardware designs. In several already >> upstreamed K1 boards, this signal remains unconnected or the >> corresponding resistor is marked as NC. >> > I've not checked all exist boards which already accepted by mainline, > but just ask, to be sure, none of them actually used clk ref pin? > otherwise we will result with a broken GMAC/Ethernet driver.. I've checked the schematics of the already mainlined boards where the schematics are publicly available. All of them use on-board 25 MHz crystals for the GMAC PHYs, and the GMAC clk ref pins are either left unconnected or routed only through NC/0R option resistors. I could not find the schematic for the OrangePi R2S. However, the board picture [1] shows on-board 25 MHz crystals near the Ethernet PHY area. To avoid changing the existing pinmux behavior unnecessarily, I think it is safer to keep referencing the gmac*_clk_ref_cfg groups on BPI-F3, Jupiter and MusePi Pro. On these boards, the pins are physically routed to the PHY through NC/0R option resistors and cannot be repurposed for other functions anyway. Keeping this configuration preserves the previous behavior and ensures the optional hardware path remains usable if those option resistors are populated. For OrangePi R2S, since I could not verify the schematic, I will also keep the clk-ref groups to preserve the previous behavior. I will only omit the clk-ref groups on OrangePi RV2 and BPI-CM6, where the pins are not connected to the PHY refclk path and are used for other purposes. I will update this in v2. [1] http://www.orangepi.org/img/r2s/details/1.png > >> Furthermore, the pins for gmac0_clk_ref (GPIO 45) and gmac1_clk_ref >> (GPIO 46) may be used as GPIOs for other functions even when the >> Ethernet controller is active. Splitting these into independent groups >> avoids pinmux conflicts and allows boards to use the reference clock >> signal only when it is actually needed. >> > >> Fixes: 60775f28cfb7 ("riscv: dts: spacemit: Add Ethernet support for K1") >> Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> -- Best regards, Junhui Liu ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 2/3] riscv: dts: spacemit: k1: Split gmac_clk_ref into independent pinctrl groups @ 2026-05-26 9:19 ` Junhui Liu 0 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-26 9:19 UTC (permalink / raw) To: Yixun Lan, Junhui Liu Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen, devicetree, linux-riscv, spacemit, linux-kernel Hi Yixun, On Tue May 26, 2026 at 12:48 PM CST, Yixun Lan wrote: > Hi Junhui, > > On 18:01 Fri 22 May , Junhui Liu wrote: >> The gmac_clk_ref signal is optional for the GMAC controller and is not >> strictly required for all hardware designs. In several already >> upstreamed K1 boards, this signal remains unconnected or the >> corresponding resistor is marked as NC. >> > I've not checked all exist boards which already accepted by mainline, > but just ask, to be sure, none of them actually used clk ref pin? > otherwise we will result with a broken GMAC/Ethernet driver.. I've checked the schematics of the already mainlined boards where the schematics are publicly available. All of them use on-board 25 MHz crystals for the GMAC PHYs, and the GMAC clk ref pins are either left unconnected or routed only through NC/0R option resistors. I could not find the schematic for the OrangePi R2S. However, the board picture [1] shows on-board 25 MHz crystals near the Ethernet PHY area. To avoid changing the existing pinmux behavior unnecessarily, I think it is safer to keep referencing the gmac*_clk_ref_cfg groups on BPI-F3, Jupiter and MusePi Pro. On these boards, the pins are physically routed to the PHY through NC/0R option resistors and cannot be repurposed for other functions anyway. Keeping this configuration preserves the previous behavior and ensures the optional hardware path remains usable if those option resistors are populated. For OrangePi R2S, since I could not verify the schematic, I will also keep the clk-ref groups to preserve the previous behavior. I will only omit the clk-ref groups on OrangePi RV2 and BPI-CM6, where the pins are not connected to the PHY refclk path and are used for other purposes. I will update this in v2. [1] http://www.orangepi.org/img/r2s/details/1.png > >> Furthermore, the pins for gmac0_clk_ref (GPIO 45) and gmac1_clk_ref >> (GPIO 46) may be used as GPIOs for other functions even when the >> Ethernet controller is active. Splitting these into independent groups >> avoids pinmux conflicts and allows boards to use the reference clock >> signal only when it is actually needed. >> > >> Fixes: 60775f28cfb7 ("riscv: dts: spacemit: Add Ethernet support for K1") >> Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> -- Best regards, Junhui Liu _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 3/3] riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board 2026-05-22 10:01 ` Junhui Liu @ 2026-05-22 10:01 ` Junhui Liu -1 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-22 10:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: devicetree, linux-riscv, spacemit, linux-kernel, Junhui Liu The Banana Pi BPI-CM6 IO board combines the BPI-CM6 compute module with an IO carrier board. The core module integrates the SpacemiT K1 SoC, PMIC, DDR, eMMC, the eth0 PHY, and wireless connectivity. The companion IO carrier board extends it by providing the eth1 PHY and exposing standard interfaces, including dual Gigabit Ethernet, MicroSD, two USB-A ports, a USB Type-C port, two PCIe M.2 slots, and a serial console. The board also has two I2C EEPROMs. One is on the core module, which stores factory manufacturing data and is marked read-only. The other is on the carrier board, which is shipped unprogrammed and left writable for evaluation purposes. Add initial support for UART console, eMMC, SD card, I2C, EEPROMs, PCIe, USB, and dual Ethernet interfaces. Link: https://docs.banana-pi.org/en/BPI-CM6/BananaPi_BPI-CM6 Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> --- arch/riscv/boot/dts/spacemit/Makefile | 1 + .../riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts | 215 +++++++++++++++++++ arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi | 227 +++++++++++++++++++++ 3 files changed, 443 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile index acb993c452ba..dd6125dc2012 100644 --- a/arch/riscv/boot/dts/spacemit/Makefile +++ b/arch/riscv/boot/dts/spacemit/Makefile @@ -1,4 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 +dtb-$(CONFIG_ARCH_SPACEMIT) += k1-bananapi-cm6-io.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k1-bananapi-f3.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k1-milkv-jupiter.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k1-musepi-pro.dtb diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts new file mode 100644 index 000000000000..b2767f44e8d6 --- /dev/null +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts @@ -0,0 +1,215 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2026 Junhui Liu <junhui.liu@pigmoral.tech> + */ + +#include "k1-bananapi-cm6.dtsi" + +#include <dt-bindings/leds/common.h> + +/ { + model = "Banana Pi BPI-CM6 IO Board"; + compatible = "bananapi,bpi-cm6-io", "bananapi,bpi-cm6", "spacemit,k1"; + + aliases { + ethernet0 = ð0; + ethernet1 = ð1; + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + led0 { + color = <LED_COLOR_ID_RED>; + gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_LOW>; + }; + + led1 { + color = <LED_COLOR_ID_BLUE>; + gpios = <&gpio K1_GPIO(97) GPIO_ACTIVE_LOW>; + }; + }; + + vdd_sys_12v: regulator-vdd-sys-12v { + compatible = "regulator-fixed"; + regulator-name = "VDD_SYS"; + regulator-min-microvolt = <12000000>; + regulator-max-microvolt = <12000000>; + regulator-boot-on; + regulator-always-on; + }; + + reg_vdd_5v0: regulator-vdd-5v0 { + compatible = "regulator-fixed"; + regulator-name = "VDD_5V0"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-boot-on; + regulator-always-on; + vin-supply = <&vdd_sys_12v>; + }; + + pcie_vcc_3v3: regulator-pcie-vcc-3v3 { + compatible = "regulator-fixed"; + regulator-name = "NGFF_KEYM_VDD"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + vin-supply = <&vdd_sys_12v>; + }; + + usb_vbus_5v: regulator-usb-vbus-5v { + compatible = "regulator-fixed"; + regulator-name = "VBUS_A_B"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio K1_GPIO(124) GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply = <®_vdd_5v0>; + }; + + reg_vdd_3v3: regulator-vdd-3v3 { + compatible = "regulator-fixed"; + regulator-name = "VDD_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + vin-supply = <&vdd_sys_12v>; + }; + + sd_vcc_3v3: regulator-sd-vcc-3v3 { + compatible = "regulator-fixed"; + regulator-name = "3.3VS_CARD"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio K1_GPIO(127) GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply = <®_vdd_3v3>; + }; +}; + +&combo_phy { + status = "okay"; +}; + +ð0 { + status = "okay"; +}; + +ð1 { + nvmem-cells = <&mac_address 1>; + nvmem-cell-names = "mac-address"; + phy-handle = <&rgmii1>; + phy-mode = "rgmii-id"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac1_cfg>; + rx-internal-delay-ps = <0>; + tx-internal-delay-ps = <250>; + status = "okay"; + + mdio-bus { + #address-cells = <0x1>; + #size-cells = <0x0>; + + reset-gpios = <&gpio K1_GPIO(46) GPIO_ACTIVE_LOW>; + reset-delay-us = <10000>; + reset-post-delay-us = <100000>; + + rgmii1: phy@1 { + reg = <0x1>; + }; + }; +}; + +&i2c2 { + eeprom@54 { + compatible = "atmel,24c08"; + reg = <0x54>; + vcc-supply = <&buck3_1v8>; + pagesize = <16>; + size = <1024>; + }; +}; + +&pcie1_phy { + pinctrl-names = "default"; + pinctrl-0 = <&pcie1_3_cfg>; + status = "okay"; +}; + +&pcie1_port { + phys = <&pcie1_phy>; + vpcie3v3-supply = <&pcie_vcc_3v3>; +}; + +&pcie1 { + vpcie3v3-supply = <&pcie_vcc_3v3>; + status = "okay"; +}; + +&pcie2_phy { + pinctrl-names = "default"; + pinctrl-0 = <&pcie2_4_cfg>; + status = "okay"; +}; + +&pcie2_port { + phys = <&pcie2_phy>; + vpcie3v3-supply = <&pcie_vcc_3v3>; +}; + +&pcie2 { + vpcie3v3-supply = <&pcie_vcc_3v3>; + status = "okay"; +}; + +&qspi { + pinctrl-names = "default"; + pinctrl-0 = <&qspi_cfg>; + status = "okay"; +}; + +&sdhci0 { + pinctrl-names = "default", "uhs"; + pinctrl-0 = <&mmc1_cfg>; + pinctrl-1 = <&mmc1_uhs_cfg>; + bus-width = <4>; + cd-gpios = <&gpio K1_GPIO(80) (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + no-mmc; + no-sdio; + disable-wp; + cap-sd-highspeed; + vmmc-supply = <&sd_vcc_3v3>; + vqmmc-supply = <&aldo1>; + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-sdr104; + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_2_cfg>; + status = "okay"; +}; + +&usbphy2 { + status = "okay"; +}; + +&usb_dwc3 { + dr_mode = "host"; + vbus-supply = <&usb_vbus_5v>; + status = "okay"; +}; + +&vddin_sys_5v { + vin-supply = <®_vdd_5v0>; +}; diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi new file mode 100644 index 000000000000..9b91128edb34 --- /dev/null +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi @@ -0,0 +1,227 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2026 Junhui Liu <junhui.liu@pigmoral.tech> + */ + +#include "k1.dtsi" +#include "k1-pinctrl.dtsi" + +/ { + model = "Banana Pi BPI-CM6 Module"; + compatible = "bananapi,bpi-cm6", "spacemit,k1"; + + aliases { + i2c2 = &i2c2; + i2c8 = &i2c8; + }; + + vddin_sys_5v: regulator-vddin-sys-5v { + compatible = "regulator-fixed"; + regulator-name = "VDDIN_SYS"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-boot-on; + regulator-always-on; + }; + + reg_vcc_4v: regulator-vcc-4v { + compatible = "regulator-fixed"; + regulator-name = "VCC4V0_SYS"; + regulator-min-microvolt = <4000000>; + regulator-max-microvolt = <4000000>; + regulator-boot-on; + regulator-always-on; + vin-supply = <&vddin_sys_5v>; + }; +}; + +&emmc { + bus-width = <8>; + mmc-hs400-1_8v; + mmc-hs400-enhanced-strobe; + non-removable; + no-sd; + no-sdio; + status = "okay"; +}; + +ð0 { + nvmem-cells = <&mac_address 0>; + nvmem-cell-names = "mac-address"; + phy-handle = <&rgmii0>; + phy-mode = "rgmii-id"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac0_cfg>; + rx-internal-delay-ps = <0>; + tx-internal-delay-ps = <0>; + + mdio-bus { + #address-cells = <0x1>; + #size-cells = <0x0>; + + reset-gpios = <&gpio K1_GPIO(45) GPIO_ACTIVE_LOW>; + reset-delay-us = <10000>; + reset-post-delay-us = <100000>; + + rgmii0: phy@1 { + reg = <0x1>; + }; + }; +}; + +&pdma { + status = "okay"; +}; + +&i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_0_cfg>; + status = "okay"; + + eeprom@50 { + compatible = "atmel,24c02"; + reg = <0x50>; + vcc-supply = <&buck3_1v8>; + pagesize = <16>; + read-only; + size = <256>; + + nvmem-layout { + compatible = "onie,tlv-layout"; + + mac_address: mac-address { + #nvmem-cell-cells = <1>; + }; + + num-macs { + }; + + serial-number { + }; + }; + }; +}; + +&i2c8 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c8_cfg>; + status = "okay"; + + pmic@41 { + compatible = "spacemit,p1"; + reg = <0x41>; + interrupts = <64>; + vin1-supply = <®_vcc_4v>; + vin2-supply = <®_vcc_4v>; + vin3-supply = <®_vcc_4v>; + vin4-supply = <®_vcc_4v>; + vin5-supply = <®_vcc_4v>; + vin6-supply = <®_vcc_4v>; + aldoin-supply = <®_vcc_4v>; + dldoin1-supply = <&buck5>; + dldoin2-supply = <&buck5>; + + regulators { + buck1 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck3_1v8: buck3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3300000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck5: buck5 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck6 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + aldo1: aldo1 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-boot-on; + }; + + aldo2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + aldo3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + aldo4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo1 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-boot-on; + }; + + dldo2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-always-on; + }; + + dldo5 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo6 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-always-on; + }; + + dldo7 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + }; + }; +}; -- 2.54.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 3/3] riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board @ 2026-05-22 10:01 ` Junhui Liu 0 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-22 10:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: devicetree, linux-riscv, spacemit, linux-kernel, Junhui Liu The Banana Pi BPI-CM6 IO board combines the BPI-CM6 compute module with an IO carrier board. The core module integrates the SpacemiT K1 SoC, PMIC, DDR, eMMC, the eth0 PHY, and wireless connectivity. The companion IO carrier board extends it by providing the eth1 PHY and exposing standard interfaces, including dual Gigabit Ethernet, MicroSD, two USB-A ports, a USB Type-C port, two PCIe M.2 slots, and a serial console. The board also has two I2C EEPROMs. One is on the core module, which stores factory manufacturing data and is marked read-only. The other is on the carrier board, which is shipped unprogrammed and left writable for evaluation purposes. Add initial support for UART console, eMMC, SD card, I2C, EEPROMs, PCIe, USB, and dual Ethernet interfaces. Link: https://docs.banana-pi.org/en/BPI-CM6/BananaPi_BPI-CM6 Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> --- arch/riscv/boot/dts/spacemit/Makefile | 1 + .../riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts | 215 +++++++++++++++++++ arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi | 227 +++++++++++++++++++++ 3 files changed, 443 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile index acb993c452ba..dd6125dc2012 100644 --- a/arch/riscv/boot/dts/spacemit/Makefile +++ b/arch/riscv/boot/dts/spacemit/Makefile @@ -1,4 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 +dtb-$(CONFIG_ARCH_SPACEMIT) += k1-bananapi-cm6-io.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k1-bananapi-f3.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k1-milkv-jupiter.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k1-musepi-pro.dtb diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts new file mode 100644 index 000000000000..b2767f44e8d6 --- /dev/null +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts @@ -0,0 +1,215 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2026 Junhui Liu <junhui.liu@pigmoral.tech> + */ + +#include "k1-bananapi-cm6.dtsi" + +#include <dt-bindings/leds/common.h> + +/ { + model = "Banana Pi BPI-CM6 IO Board"; + compatible = "bananapi,bpi-cm6-io", "bananapi,bpi-cm6", "spacemit,k1"; + + aliases { + ethernet0 = ð0; + ethernet1 = ð1; + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + led0 { + color = <LED_COLOR_ID_RED>; + gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_LOW>; + }; + + led1 { + color = <LED_COLOR_ID_BLUE>; + gpios = <&gpio K1_GPIO(97) GPIO_ACTIVE_LOW>; + }; + }; + + vdd_sys_12v: regulator-vdd-sys-12v { + compatible = "regulator-fixed"; + regulator-name = "VDD_SYS"; + regulator-min-microvolt = <12000000>; + regulator-max-microvolt = <12000000>; + regulator-boot-on; + regulator-always-on; + }; + + reg_vdd_5v0: regulator-vdd-5v0 { + compatible = "regulator-fixed"; + regulator-name = "VDD_5V0"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-boot-on; + regulator-always-on; + vin-supply = <&vdd_sys_12v>; + }; + + pcie_vcc_3v3: regulator-pcie-vcc-3v3 { + compatible = "regulator-fixed"; + regulator-name = "NGFF_KEYM_VDD"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + vin-supply = <&vdd_sys_12v>; + }; + + usb_vbus_5v: regulator-usb-vbus-5v { + compatible = "regulator-fixed"; + regulator-name = "VBUS_A_B"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio K1_GPIO(124) GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply = <®_vdd_5v0>; + }; + + reg_vdd_3v3: regulator-vdd-3v3 { + compatible = "regulator-fixed"; + regulator-name = "VDD_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + vin-supply = <&vdd_sys_12v>; + }; + + sd_vcc_3v3: regulator-sd-vcc-3v3 { + compatible = "regulator-fixed"; + regulator-name = "3.3VS_CARD"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio K1_GPIO(127) GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply = <®_vdd_3v3>; + }; +}; + +&combo_phy { + status = "okay"; +}; + +ð0 { + status = "okay"; +}; + +ð1 { + nvmem-cells = <&mac_address 1>; + nvmem-cell-names = "mac-address"; + phy-handle = <&rgmii1>; + phy-mode = "rgmii-id"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac1_cfg>; + rx-internal-delay-ps = <0>; + tx-internal-delay-ps = <250>; + status = "okay"; + + mdio-bus { + #address-cells = <0x1>; + #size-cells = <0x0>; + + reset-gpios = <&gpio K1_GPIO(46) GPIO_ACTIVE_LOW>; + reset-delay-us = <10000>; + reset-post-delay-us = <100000>; + + rgmii1: phy@1 { + reg = <0x1>; + }; + }; +}; + +&i2c2 { + eeprom@54 { + compatible = "atmel,24c08"; + reg = <0x54>; + vcc-supply = <&buck3_1v8>; + pagesize = <16>; + size = <1024>; + }; +}; + +&pcie1_phy { + pinctrl-names = "default"; + pinctrl-0 = <&pcie1_3_cfg>; + status = "okay"; +}; + +&pcie1_port { + phys = <&pcie1_phy>; + vpcie3v3-supply = <&pcie_vcc_3v3>; +}; + +&pcie1 { + vpcie3v3-supply = <&pcie_vcc_3v3>; + status = "okay"; +}; + +&pcie2_phy { + pinctrl-names = "default"; + pinctrl-0 = <&pcie2_4_cfg>; + status = "okay"; +}; + +&pcie2_port { + phys = <&pcie2_phy>; + vpcie3v3-supply = <&pcie_vcc_3v3>; +}; + +&pcie2 { + vpcie3v3-supply = <&pcie_vcc_3v3>; + status = "okay"; +}; + +&qspi { + pinctrl-names = "default"; + pinctrl-0 = <&qspi_cfg>; + status = "okay"; +}; + +&sdhci0 { + pinctrl-names = "default", "uhs"; + pinctrl-0 = <&mmc1_cfg>; + pinctrl-1 = <&mmc1_uhs_cfg>; + bus-width = <4>; + cd-gpios = <&gpio K1_GPIO(80) (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + no-mmc; + no-sdio; + disable-wp; + cap-sd-highspeed; + vmmc-supply = <&sd_vcc_3v3>; + vqmmc-supply = <&aldo1>; + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-sdr104; + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_2_cfg>; + status = "okay"; +}; + +&usbphy2 { + status = "okay"; +}; + +&usb_dwc3 { + dr_mode = "host"; + vbus-supply = <&usb_vbus_5v>; + status = "okay"; +}; + +&vddin_sys_5v { + vin-supply = <®_vdd_5v0>; +}; diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi new file mode 100644 index 000000000000..9b91128edb34 --- /dev/null +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi @@ -0,0 +1,227 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2026 Junhui Liu <junhui.liu@pigmoral.tech> + */ + +#include "k1.dtsi" +#include "k1-pinctrl.dtsi" + +/ { + model = "Banana Pi BPI-CM6 Module"; + compatible = "bananapi,bpi-cm6", "spacemit,k1"; + + aliases { + i2c2 = &i2c2; + i2c8 = &i2c8; + }; + + vddin_sys_5v: regulator-vddin-sys-5v { + compatible = "regulator-fixed"; + regulator-name = "VDDIN_SYS"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-boot-on; + regulator-always-on; + }; + + reg_vcc_4v: regulator-vcc-4v { + compatible = "regulator-fixed"; + regulator-name = "VCC4V0_SYS"; + regulator-min-microvolt = <4000000>; + regulator-max-microvolt = <4000000>; + regulator-boot-on; + regulator-always-on; + vin-supply = <&vddin_sys_5v>; + }; +}; + +&emmc { + bus-width = <8>; + mmc-hs400-1_8v; + mmc-hs400-enhanced-strobe; + non-removable; + no-sd; + no-sdio; + status = "okay"; +}; + +ð0 { + nvmem-cells = <&mac_address 0>; + nvmem-cell-names = "mac-address"; + phy-handle = <&rgmii0>; + phy-mode = "rgmii-id"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac0_cfg>; + rx-internal-delay-ps = <0>; + tx-internal-delay-ps = <0>; + + mdio-bus { + #address-cells = <0x1>; + #size-cells = <0x0>; + + reset-gpios = <&gpio K1_GPIO(45) GPIO_ACTIVE_LOW>; + reset-delay-us = <10000>; + reset-post-delay-us = <100000>; + + rgmii0: phy@1 { + reg = <0x1>; + }; + }; +}; + +&pdma { + status = "okay"; +}; + +&i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_0_cfg>; + status = "okay"; + + eeprom@50 { + compatible = "atmel,24c02"; + reg = <0x50>; + vcc-supply = <&buck3_1v8>; + pagesize = <16>; + read-only; + size = <256>; + + nvmem-layout { + compatible = "onie,tlv-layout"; + + mac_address: mac-address { + #nvmem-cell-cells = <1>; + }; + + num-macs { + }; + + serial-number { + }; + }; + }; +}; + +&i2c8 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c8_cfg>; + status = "okay"; + + pmic@41 { + compatible = "spacemit,p1"; + reg = <0x41>; + interrupts = <64>; + vin1-supply = <®_vcc_4v>; + vin2-supply = <®_vcc_4v>; + vin3-supply = <®_vcc_4v>; + vin4-supply = <®_vcc_4v>; + vin5-supply = <®_vcc_4v>; + vin6-supply = <®_vcc_4v>; + aldoin-supply = <®_vcc_4v>; + dldoin1-supply = <&buck5>; + dldoin2-supply = <&buck5>; + + regulators { + buck1 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck3_1v8: buck3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3300000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck5: buck5 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + buck6 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3450000>; + regulator-ramp-delay = <5000>; + regulator-always-on; + }; + + aldo1: aldo1 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-boot-on; + }; + + aldo2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + aldo3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + aldo4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo1 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-boot-on; + }; + + dldo2 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo4 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-always-on; + }; + + dldo5 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + + dldo6 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-always-on; + }; + + dldo7 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + }; + }; + }; +}; -- 2.54.0 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board 2026-05-22 10:01 ` Junhui Liu (?) @ 2026-05-22 10:37 ` sashiko-bot -1 siblings, 0 replies; 19+ messages in thread From: sashiko-bot @ 2026-05-22 10:37 UTC (permalink / raw) To: Junhui Liu; +Cc: robh, conor+dt, devicetree Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Low] The `vpcie3v3-supply` property is incorrectly applied to both the PCIe host controller nodes (`&pcie1`, `&pcie2`) and their root port child nodes (`&pcie1_port`, `&pcie2_port`). -- commit 0620787d4f86f8d706f7dc3a6b25263906add1bd Author: Junhui Liu <junhui.liu@pigmoral.tech> riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board This commit adds initial device tree support for the Banana Pi BPI-CM6 IO board. The board features the SpacemiT K1 SoC, and this patch configures interfaces such as UART, eMMC, SD card, I2C, PCIe, USB, and dual Ethernet. Link: https://docs.banana-pi.org/en/BPI-CM6/BananaPi_BPI-CM6 > diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts > new file mode 100644 > index 0000000000000..b2767f44e8d62 > --- /dev/null > +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts [ ... ] > +&pcie1_port { > + phys = <&pcie1_phy>; > + vpcie3v3-supply = <&pcie_vcc_3v3>; > +}; > + > +&pcie1 { > + vpcie3v3-supply = <&pcie_vcc_3v3>; [Severity: Low] Does this cause a dt_binding_check validation failure for the host controller node? According to the spacemit,k1-pcie-host.yaml binding schema, the vpcie3v3-supply property is exclusively defined and required within the patternProperties for the root port child node, rather than for the top-level host controller itself. Should this property be removed from the &pcie1 node to avoid an unevaluated property warning? > + status = "okay"; > +}; [ ... ] > +&pcie2_port { > + phys = <&pcie2_phy>; > + vpcie3v3-supply = <&pcie_vcc_3v3>; > +}; > + > +&pcie2 { > + vpcie3v3-supply = <&pcie_vcc_3v3>; [Severity: Low] Similar to the &pcie1 node above, does the vpcie3v3-supply property belong in the host controller node &pcie2, or should it only be present in the &pcie2_port child node? > + status = "okay"; > +}; -- Sashiko AI review · https://sashiko.dev/#/patchset/20260522-bpi-cm6-v1-0-707ef1917a30@pigmoral.tech?part=3 ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board 2026-05-22 10:01 ` Junhui Liu @ 2026-05-23 7:35 ` Michael Opdenacker -1 siblings, 0 replies; 19+ messages in thread From: Michael Opdenacker @ 2026-05-23 7:35 UTC (permalink / raw) To: Junhui Liu, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: michael.opdenacker, devicetree, linux-riscv, spacemit, linux-kernel Hi Junhui Thanks a lot for these patches! Yours are much more exhaustive than the ones I was cooking. On 5/22/26 12:01 PM, Junhui Liu wrote: > The Banana Pi BPI-CM6 IO board combines the BPI-CM6 compute module with > an IO carrier board. The core module integrates the SpacemiT K1 SoC, > PMIC, DDR, eMMC, the eth0 PHY, and wireless connectivity. The companion > IO carrier board extends it by providing the eth1 PHY and exposing > standard interfaces, including dual Gigabit Ethernet, MicroSD, two USB-A > ports, a USB Type-C port, two PCIe M.2 slots, and a serial console. > > The board also has two I2C EEPROMs. One is on the core module, which > stores factory manufacturing data and is marked read-only. The other is > on the carrier board, which is shipped unprogrammed and left writable > for evaluation purposes. > > Add initial support for UART console, eMMC, SD card, I2C, EEPROMs, > PCIe, USB, and dual Ethernet interfaces. > > Link: https://docs.banana-pi.org/en/BPI-CM6/BananaPi_BPI-CM6 > Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> > --- > arch/riscv/boot/dts/spacemit/Makefile | 1 + > .../riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts | 215 +++++++++++++++++++ > arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi | 227 +++++++++++++++++++++ > 3 files changed, 443 insertions(+) Reviewed-by: Michael Opdenacker <michael.opdenacker@rootcommit.com> Tested-by: Michael Opdenacker <michael.opdenacker@rootcommit.com> For booting on MMC, I also had to add Iker Pedrosa's patches in Ulf Hanson's mmc/next branch (https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git/log/?h=next) Thanks again! Cheers Michael. -- Root Commit Embedded Linux Training and Consulting https://rootcommit.com ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board @ 2026-05-23 7:35 ` Michael Opdenacker 0 siblings, 0 replies; 19+ messages in thread From: Michael Opdenacker @ 2026-05-23 7:35 UTC (permalink / raw) To: Junhui Liu, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: michael.opdenacker, devicetree, linux-riscv, spacemit, linux-kernel Hi Junhui Thanks a lot for these patches! Yours are much more exhaustive than the ones I was cooking. On 5/22/26 12:01 PM, Junhui Liu wrote: > The Banana Pi BPI-CM6 IO board combines the BPI-CM6 compute module with > an IO carrier board. The core module integrates the SpacemiT K1 SoC, > PMIC, DDR, eMMC, the eth0 PHY, and wireless connectivity. The companion > IO carrier board extends it by providing the eth1 PHY and exposing > standard interfaces, including dual Gigabit Ethernet, MicroSD, two USB-A > ports, a USB Type-C port, two PCIe M.2 slots, and a serial console. > > The board also has two I2C EEPROMs. One is on the core module, which > stores factory manufacturing data and is marked read-only. The other is > on the carrier board, which is shipped unprogrammed and left writable > for evaluation purposes. > > Add initial support for UART console, eMMC, SD card, I2C, EEPROMs, > PCIe, USB, and dual Ethernet interfaces. > > Link: https://docs.banana-pi.org/en/BPI-CM6/BananaPi_BPI-CM6 > Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> > --- > arch/riscv/boot/dts/spacemit/Makefile | 1 + > .../riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts | 215 +++++++++++++++++++ > arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi | 227 +++++++++++++++++++++ > 3 files changed, 443 insertions(+) Reviewed-by: Michael Opdenacker <michael.opdenacker@rootcommit.com> Tested-by: Michael Opdenacker <michael.opdenacker@rootcommit.com> For booting on MMC, I also had to add Iker Pedrosa's patches in Ulf Hanson's mmc/next branch (https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git/log/?h=next) Thanks again! Cheers Michael. -- Root Commit Embedded Linux Training and Consulting https://rootcommit.com _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board 2026-05-22 10:01 ` Junhui Liu @ 2026-05-23 11:34 ` Junhui Liu -1 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-23 11:34 UTC (permalink / raw) To: Junhui Liu, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: devicetree, linux-riscv, spacemit, linux-kernel On Fri May 22, 2026 at 6:01 PM CST, Junhui Liu wrote: > The Banana Pi BPI-CM6 IO board combines the BPI-CM6 compute module with > an IO carrier board. The core module integrates the SpacemiT K1 SoC, > PMIC, DDR, eMMC, the eth0 PHY, and wireless connectivity. The companion > IO carrier board extends it by providing the eth1 PHY and exposing > standard interfaces, including dual Gigabit Ethernet, MicroSD, two USB-A > ports, a USB Type-C port, two PCIe M.2 slots, and a serial console. > > The board also has two I2C EEPROMs. One is on the core module, which > stores factory manufacturing data and is marked read-only. The other is > on the carrier board, which is shipped unprogrammed and left writable > for evaluation purposes. > > Add initial support for UART console, eMMC, SD card, I2C, EEPROMs, > PCIe, USB, and dual Ethernet interfaces. > > Link: https://docs.banana-pi.org/en/BPI-CM6/BananaPi_BPI-CM6 > Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> > --- > arch/riscv/boot/dts/spacemit/Makefile | 1 + > .../riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts | 215 +++++++++++++++++++ > arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi | 227 +++++++++++++++++++++ > 3 files changed, 443 insertions(+) > [...] > + > +&pcie1_port { > + phys = <&pcie1_phy>; > + vpcie3v3-supply = <&pcie_vcc_3v3>; > +}; > + > +&pcie1 { > + vpcie3v3-supply = <&pcie_vcc_3v3>; Thanks for the reminder from Sashiko AI. The vpcie3v3-supply property should be removed from the PCIe host controller node here. According to the binding, this supply belongs to the PCIe root port child node. I have checked the driver side: devm_regulator_get_enable() eventually calls of_get_regulator(), which first looks up the supply in the current device node and then falls back to searching child nodes if it is not found there. I also verified on hardware that keeping vpcie3v3-supply only in the port node still lets the driver resolve the regulator correctly. So I will drop the duplicate vpcie3v3-supply property here in the next version. > + status = "okay"; > +}; > + > +&pcie2_phy { > + pinctrl-names = "default"; > + pinctrl-0 = <&pcie2_4_cfg>; > + status = "okay"; > +}; > + > +&pcie2_port { > + phys = <&pcie2_phy>; > + vpcie3v3-supply = <&pcie_vcc_3v3>; > +}; > + > +&pcie2 { > + vpcie3v3-supply = <&pcie_vcc_3v3>; Same here. > + status = "okay"; > +}; > + [...] -- Best regards, Junhui Liu ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board @ 2026-05-23 11:34 ` Junhui Liu 0 siblings, 0 replies; 19+ messages in thread From: Junhui Liu @ 2026-05-23 11:34 UTC (permalink / raw) To: Junhui Liu, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, Vivian Wang, Paolo Abeni, Guodong Xu, Yangyu Chen Cc: devicetree, linux-riscv, spacemit, linux-kernel On Fri May 22, 2026 at 6:01 PM CST, Junhui Liu wrote: > The Banana Pi BPI-CM6 IO board combines the BPI-CM6 compute module with > an IO carrier board. The core module integrates the SpacemiT K1 SoC, > PMIC, DDR, eMMC, the eth0 PHY, and wireless connectivity. The companion > IO carrier board extends it by providing the eth1 PHY and exposing > standard interfaces, including dual Gigabit Ethernet, MicroSD, two USB-A > ports, a USB Type-C port, two PCIe M.2 slots, and a serial console. > > The board also has two I2C EEPROMs. One is on the core module, which > stores factory manufacturing data and is marked read-only. The other is > on the carrier board, which is shipped unprogrammed and left writable > for evaluation purposes. > > Add initial support for UART console, eMMC, SD card, I2C, EEPROMs, > PCIe, USB, and dual Ethernet interfaces. > > Link: https://docs.banana-pi.org/en/BPI-CM6/BananaPi_BPI-CM6 > Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> > --- > arch/riscv/boot/dts/spacemit/Makefile | 1 + > .../riscv/boot/dts/spacemit/k1-bananapi-cm6-io.dts | 215 +++++++++++++++++++ > arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi | 227 +++++++++++++++++++++ > 3 files changed, 443 insertions(+) > [...] > + > +&pcie1_port { > + phys = <&pcie1_phy>; > + vpcie3v3-supply = <&pcie_vcc_3v3>; > +}; > + > +&pcie1 { > + vpcie3v3-supply = <&pcie_vcc_3v3>; Thanks for the reminder from Sashiko AI. The vpcie3v3-supply property should be removed from the PCIe host controller node here. According to the binding, this supply belongs to the PCIe root port child node. I have checked the driver side: devm_regulator_get_enable() eventually calls of_get_regulator(), which first looks up the supply in the current device node and then falls back to searching child nodes if it is not found there. I also verified on hardware that keeping vpcie3v3-supply only in the port node still lets the driver resolve the regulator correctly. So I will drop the duplicate vpcie3v3-supply property here in the next version. > + status = "okay"; > +}; > + > +&pcie2_phy { > + pinctrl-names = "default"; > + pinctrl-0 = <&pcie2_4_cfg>; > + status = "okay"; > +}; > + > +&pcie2_port { > + phys = <&pcie2_phy>; > + vpcie3v3-supply = <&pcie_vcc_3v3>; > +}; > + > +&pcie2 { > + vpcie3v3-supply = <&pcie_vcc_3v3>; Same here. > + status = "okay"; > +}; > + [...] -- Best regards, Junhui Liu _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2026-05-26 9:20 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-05-22 10:01 [PATCH 0/3] spacemit: k1: Add support for Banana Pi BPI-CM6 IO board Junhui Liu 2026-05-22 10:01 ` Junhui Liu 2026-05-22 10:01 ` [PATCH 1/3] dt-bindings: riscv: spacemit: Add Banana Pi BPI-CM6 compatible Junhui Liu 2026-05-22 10:01 ` Junhui Liu 2026-05-22 16:11 ` Conor Dooley 2026-05-22 16:11 ` Conor Dooley 2026-05-22 10:01 ` [PATCH 2/3] riscv: dts: spacemit: k1: Split gmac_clk_ref into independent pinctrl groups Junhui Liu 2026-05-22 10:01 ` Junhui Liu 2026-05-26 4:48 ` Yixun Lan 2026-05-26 4:48 ` Yixun Lan 2026-05-26 9:19 ` Junhui Liu 2026-05-26 9:19 ` Junhui Liu 2026-05-22 10:01 ` [PATCH 3/3] riscv: dts: spacemit: k1: Add Banana Pi BPI-CM6 IO board Junhui Liu 2026-05-22 10:01 ` Junhui Liu 2026-05-22 10:37 ` sashiko-bot 2026-05-23 7:35 ` Michael Opdenacker 2026-05-23 7:35 ` Michael Opdenacker 2026-05-23 11:34 ` Junhui Liu 2026-05-23 11:34 ` Junhui Liu
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.