| // SPDX-License-Identifier: (GPL-2.0 OR MIT) |
| /* |
| * Copyright (C) 2024 Yangyu Chen <cyy@cyyself.name> |
| * Copyright (C) 2025 SpacemiT, Inc |
| * Copyright (C) 2025 Troy Mitchell <troy.mitchell@linux.spacemit.com> |
| */ |
| |
| /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"; |
| }; |