// SPDX-License-Identifier: (GPL-2.0 OR MIT) /* * Copyright (C) 2024 Yangyu Chen * Copyright (C) 2025 SpacemiT, Inc * Copyright (C) 2025 Troy Mitchell */ /dts-v1/; #include "k1.dtsi" #include "k1-pinctrl.dtsi" / { model = "SpacemiT MusePi Pro"; compatible = "spacemit,musepi-pro", "spacemit,k1"; aliases { ethernet0 = ð0; serial0 = &uart0; i2c2 = &i2c2; i2c8 = &i2c8; mmc0 = &emmc; mmc1 = &sdhci0; }; chosen { stdout-path = "serial0:115200n8"; }; leds { compatible = "gpio-leds"; led1 { label = "sys-led"; gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; default-state = "on"; }; }; reg_pcie_vcc_3v3: regulator-pcie-vcc3v3 { compatible = "regulator-fixed"; regulator-name = "PCIE_VCC3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; reg_vcc_4v: regulator-vcc-4v { compatible = "regulator-fixed"; regulator-name = "VCC4V0"; regulator-min-microvolt = <4000000>; regulator-max-microvolt = <4000000>; regulator-boot-on; regulator-always-on; }; reg_qspi_vcc1v833: regulator-qspi-vcc1v833 { compatible = "regulator-fixed"; regulator-name = "QSPI_VCC1833"; regulator-min-microvolt = <1833000>; regulator-max-microvolt = <1833000>; regulator-always-on; vin-supply = <&buck4_3v3>; }; reg_5v_vbus: regulator-5v-vbus { compatible = "regulator-fixed"; regulator-name = "5V_VBUS"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; gpio = <&gpio K1_GPIO(79) GPIO_ACTIVE_HIGH>; /* USB3_PWREN */ enable-active-high; }; reg_vcc5v_hub: regulator-vcc5v-hub { compatible = "regulator-fixed"; regulator-name = "VCC5V0_HUB"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; gpio = <&gpio K1_GPIO(127) GPIO_ACTIVE_HIGH>; /* HUB_PWREN */ enable-active-high; }; }; &emmc { bus-width = <8>; mmc-hs400-1_8v; mmc-hs400-enhanced-strobe; non-removable; no-sd; no-sdio; status = "okay"; }; &combo_phy { status = "okay"; }; ð0 { phy-handle = <&rgmii0>; phy-mode = "rgmii-id"; pinctrl-0 = <&gmac0_cfg>, <&gmac0_clk_ref_cfg>; pinctrl-names = "default"; rx-internal-delay-ps = <0>; tx-internal-delay-ps = <0>; status = "okay"; mdio-bus { #address-cells = <0x1>; #size-cells = <0x0>; reset-gpios = <&gpio K1_GPIO(110) GPIO_ACTIVE_LOW>; reset-delay-us = <10000>; reset-post-delay-us = <100000>; rgmii0: phy@1 { reg = <0x1>; }; }; }; &pdma { status = "okay"; }; &i2c2 { pinctrl-0 = <&i2c2_0_cfg>; pinctrl-names = "default"; status = "okay"; eeprom@50 { compatible = "atmel,24c02"; reg = <0x50>; vcc-supply = <&buck3_1v8>; /* EEPROM_VCC1V8 */ pagesize = <8>; read-only; size = <256>; nvmem-layout { compatible = "onie,tlv-layout"; product-name { }; serial-number { }; mac-address { #nvmem-cell-cells = <1>; }; num-macs { }; }; }; }; &i2c8 { pinctrl-0 = <&i2c8_cfg>; pinctrl-names = "default"; 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 = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck2 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; 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_3v3: 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>; }; }; }; }; &pcie1_phy { pinctrl-names = "default"; pinctrl-0 = <&pcie1_3_cfg>; status = "okay"; }; &pcie1_port { phys = <&pcie1_phy>; vpcie3v3-supply = <®_pcie_vcc_3v3>; }; &pcie1 { 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 { status = "okay"; }; &qspi { pinctrl-names = "default"; pinctrl-0 = <&qspi_cfg>; status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <26500000>; spi-rx-bus-width = <4>; spi-tx-bus-width = <4>; vcc-supply = <®_qspi_vcc1v833>; m25p,fast-read; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; bootinfo@0 { reg = <0x0 0x10000>; }; private@10000 { reg = <0x10000 0x10000>; }; fsbl@20000 { reg = <0x20000 0x40000>; }; env@60000 { reg = <0x60000 0x10000>; }; opensbi@70000 { reg = <0x70000 0x30000>; }; uboot@a0000 { reg = <0xa0000 0x760000>; }; }; }; }; &uart0 { pinctrl-0 = <&uart0_2_cfg>; pinctrl-names = "default"; status = "okay"; }; &usbphy2 { status = "okay"; }; &usb_dwc3 { dr_mode = "host"; #address-cells = <1>; #size-cells = <0>; vbus-supply = <®_5v_vbus>; status = "okay"; hub_2_0: hub@1 { compatible = "usb2109,2817"; reg = <0x1>; vdd-supply = <®_vcc5v_hub>; peer-hub = <&hub_3_0>; reset-gpios = <&gpio K1_GPIO(123) GPIO_ACTIVE_LOW>; /* HUB_RST */ }; hub_3_0: hub@2 { compatible = "usb2109,817"; reg = <0x2>; vdd-supply = <®_vcc5v_hub>; peer-hub = <&hub_2_0>; reset-gpios = <&gpio K1_GPIO(123) GPIO_ACTIVE_LOW>; /* HUB_RST */ }; }; &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_HIGH | GPIO_PULL_UP)>; no-mmc; no-sdio; disable-wp; cap-sd-highspeed; vmmc-supply = <&buck4_3v3>; vqmmc-supply = <&aldo1>; sd-uhs-sdr25; sd-uhs-sdr50; sd-uhs-sdr104; status = "okay"; };