146a8c017SJunhui Liu// SPDX-License-Identifier: GPL-2.0 OR MIT 246a8c017SJunhui Liu/* 346a8c017SJunhui Liu * Copyright (C) 2026 Junhui Liu <junhui.liu@pigmoral.tech> 446a8c017SJunhui Liu */ 546a8c017SJunhui Liu 646a8c017SJunhui Liu#include "k1.dtsi" 746a8c017SJunhui Liu#include "k1-pinctrl.dtsi" 846a8c017SJunhui Liu 946a8c017SJunhui Liu/ { 1046a8c017SJunhui Liu model = "Banana Pi BPI-CM6 Module"; 1146a8c017SJunhui Liu compatible = "bananapi,bpi-cm6", "spacemit,k1"; 1246a8c017SJunhui Liu 1346a8c017SJunhui Liu aliases { 1446a8c017SJunhui Liu i2c2 = &i2c2; 1546a8c017SJunhui Liu i2c8 = &i2c8; 1646a8c017SJunhui Liu }; 1746a8c017SJunhui Liu 1846a8c017SJunhui Liu reg_vcc_4v: regulator-vcc-4v { 1946a8c017SJunhui Liu compatible = "regulator-fixed"; 2046a8c017SJunhui Liu regulator-name = "VCC4V0_SYS"; 2146a8c017SJunhui Liu regulator-min-microvolt = <4000000>; 2246a8c017SJunhui Liu regulator-max-microvolt = <4000000>; 2346a8c017SJunhui Liu regulator-boot-on; 2446a8c017SJunhui Liu regulator-always-on; 2546a8c017SJunhui Liu }; 2646a8c017SJunhui Liu}; 2746a8c017SJunhui Liu 2846a8c017SJunhui Liu&emmc { 2946a8c017SJunhui Liu bus-width = <8>; 3046a8c017SJunhui Liu mmc-hs400-1_8v; 3146a8c017SJunhui Liu mmc-hs400-enhanced-strobe; 3246a8c017SJunhui Liu non-removable; 3346a8c017SJunhui Liu no-sd; 3446a8c017SJunhui Liu no-sdio; 3546a8c017SJunhui Liu status = "okay"; 3646a8c017SJunhui Liu}; 3746a8c017SJunhui Liu 3846a8c017SJunhui Liuð0 { 3946a8c017SJunhui Liu nvmem-cells = <&mac_address 0>; 4046a8c017SJunhui Liu nvmem-cell-names = "mac-address"; 4146a8c017SJunhui Liu phy-handle = <&rgmii0>; 4246a8c017SJunhui Liu phy-mode = "rgmii-id"; 4346a8c017SJunhui Liu pinctrl-names = "default"; 4446a8c017SJunhui Liu pinctrl-0 = <&gmac0_cfg>; 4546a8c017SJunhui Liu rx-internal-delay-ps = <0>; 4646a8c017SJunhui Liu tx-internal-delay-ps = <0>; 4746a8c017SJunhui Liu 4846a8c017SJunhui Liu mdio-bus { 4946a8c017SJunhui Liu #address-cells = <0x1>; 5046a8c017SJunhui Liu #size-cells = <0x0>; 5146a8c017SJunhui Liu 5246a8c017SJunhui Liu reset-gpios = <&gpio K1_GPIO(45) GPIO_ACTIVE_LOW>; 5346a8c017SJunhui Liu reset-delay-us = <10000>; 5446a8c017SJunhui Liu reset-post-delay-us = <100000>; 5546a8c017SJunhui Liu 5646a8c017SJunhui Liu rgmii0: phy@1 { 5746a8c017SJunhui Liu reg = <0x1>; 5846a8c017SJunhui Liu }; 5946a8c017SJunhui Liu }; 6046a8c017SJunhui Liu}; 6146a8c017SJunhui Liu 6246a8c017SJunhui Liu&pdma { 6346a8c017SJunhui Liu status = "okay"; 6446a8c017SJunhui Liu}; 6546a8c017SJunhui Liu 6646a8c017SJunhui Liu&i2c2 { 6746a8c017SJunhui Liu pinctrl-names = "default"; 6846a8c017SJunhui Liu pinctrl-0 = <&i2c2_0_cfg>; 6946a8c017SJunhui Liu status = "okay"; 7046a8c017SJunhui Liu 7146a8c017SJunhui Liu eeprom@50 { 7246a8c017SJunhui Liu compatible = "atmel,24c02"; 7346a8c017SJunhui Liu reg = <0x50>; 7446a8c017SJunhui Liu vcc-supply = <&buck3_1v8>; 7546a8c017SJunhui Liu pagesize = <16>; 7646a8c017SJunhui Liu read-only; 7746a8c017SJunhui Liu size = <256>; 7846a8c017SJunhui Liu 7946a8c017SJunhui Liu nvmem-layout { 8046a8c017SJunhui Liu compatible = "onie,tlv-layout"; 8146a8c017SJunhui Liu 8246a8c017SJunhui Liu mac_address: mac-address { 8346a8c017SJunhui Liu #nvmem-cell-cells = <1>; 8446a8c017SJunhui Liu }; 8546a8c017SJunhui Liu 8646a8c017SJunhui Liu num-macs { 8746a8c017SJunhui Liu }; 8846a8c017SJunhui Liu 8946a8c017SJunhui Liu serial-number { 9046a8c017SJunhui Liu }; 9146a8c017SJunhui Liu }; 9246a8c017SJunhui Liu }; 9346a8c017SJunhui Liu}; 9446a8c017SJunhui Liu 9546a8c017SJunhui Liu&i2c8 { 9646a8c017SJunhui Liu pinctrl-names = "default"; 9746a8c017SJunhui Liu pinctrl-0 = <&i2c8_cfg>; 9846a8c017SJunhui Liu status = "okay"; 9946a8c017SJunhui Liu 10046a8c017SJunhui Liu pmic@41 { 10146a8c017SJunhui Liu compatible = "spacemit,p1"; 10246a8c017SJunhui Liu reg = <0x41>; 10346a8c017SJunhui Liu interrupts = <64>; 10446a8c017SJunhui Liu vin1-supply = <®_vcc_4v>; 10546a8c017SJunhui Liu vin2-supply = <®_vcc_4v>; 10646a8c017SJunhui Liu vin3-supply = <®_vcc_4v>; 10746a8c017SJunhui Liu vin4-supply = <®_vcc_4v>; 10846a8c017SJunhui Liu vin5-supply = <®_vcc_4v>; 10946a8c017SJunhui Liu vin6-supply = <®_vcc_4v>; 11046a8c017SJunhui Liu aldoin-supply = <®_vcc_4v>; 11146a8c017SJunhui Liu dldoin1-supply = <&buck5>; 11246a8c017SJunhui Liu dldoin2-supply = <&buck5>; 11346a8c017SJunhui Liu 11446a8c017SJunhui Liu regulators { 11546a8c017SJunhui Liu buck1 { 11646a8c017SJunhui Liu regulator-min-microvolt = <500000>; 117*a65e9b73SAurelien Jarno regulator-max-microvolt = <1050000>; 11846a8c017SJunhui Liu regulator-ramp-delay = <5000>; 11946a8c017SJunhui Liu regulator-always-on; 12046a8c017SJunhui Liu }; 12146a8c017SJunhui Liu 12246a8c017SJunhui Liu buck2 { 12346a8c017SJunhui Liu regulator-min-microvolt = <500000>; 124*a65e9b73SAurelien Jarno regulator-max-microvolt = <1050000>; 12546a8c017SJunhui Liu regulator-ramp-delay = <5000>; 12646a8c017SJunhui Liu regulator-always-on; 12746a8c017SJunhui Liu }; 12846a8c017SJunhui Liu 12946a8c017SJunhui Liu buck3_1v8: buck3 { 13046a8c017SJunhui Liu regulator-min-microvolt = <500000>; 13146a8c017SJunhui Liu regulator-max-microvolt = <1800000>; 13246a8c017SJunhui Liu regulator-ramp-delay = <5000>; 13346a8c017SJunhui Liu regulator-always-on; 13446a8c017SJunhui Liu }; 13546a8c017SJunhui Liu 13646a8c017SJunhui Liu buck4 { 13746a8c017SJunhui Liu regulator-min-microvolt = <500000>; 13846a8c017SJunhui Liu regulator-max-microvolt = <3300000>; 13946a8c017SJunhui Liu regulator-ramp-delay = <5000>; 14046a8c017SJunhui Liu regulator-always-on; 14146a8c017SJunhui Liu }; 14246a8c017SJunhui Liu 14346a8c017SJunhui Liu buck5: buck5 { 14446a8c017SJunhui Liu regulator-min-microvolt = <500000>; 14546a8c017SJunhui Liu regulator-max-microvolt = <3450000>; 14646a8c017SJunhui Liu regulator-ramp-delay = <5000>; 14746a8c017SJunhui Liu regulator-always-on; 14846a8c017SJunhui Liu }; 14946a8c017SJunhui Liu 15046a8c017SJunhui Liu buck6 { 15146a8c017SJunhui Liu regulator-min-microvolt = <500000>; 15246a8c017SJunhui Liu regulator-max-microvolt = <3450000>; 15346a8c017SJunhui Liu regulator-ramp-delay = <5000>; 15446a8c017SJunhui Liu regulator-always-on; 15546a8c017SJunhui Liu }; 15646a8c017SJunhui Liu 15746a8c017SJunhui Liu aldo1: aldo1 { 15846a8c017SJunhui Liu regulator-min-microvolt = <500000>; 15946a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 16046a8c017SJunhui Liu regulator-boot-on; 16146a8c017SJunhui Liu }; 16246a8c017SJunhui Liu 16346a8c017SJunhui Liu aldo2 { 16446a8c017SJunhui Liu regulator-min-microvolt = <500000>; 16546a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 16646a8c017SJunhui Liu }; 16746a8c017SJunhui Liu 16846a8c017SJunhui Liu aldo3 { 16946a8c017SJunhui Liu regulator-min-microvolt = <500000>; 17046a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 17146a8c017SJunhui Liu }; 17246a8c017SJunhui Liu 17346a8c017SJunhui Liu aldo4 { 17446a8c017SJunhui Liu regulator-min-microvolt = <500000>; 17546a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 17646a8c017SJunhui Liu }; 17746a8c017SJunhui Liu 17846a8c017SJunhui Liu dldo1 { 17946a8c017SJunhui Liu regulator-min-microvolt = <500000>; 18046a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 18146a8c017SJunhui Liu regulator-boot-on; 18246a8c017SJunhui Liu }; 18346a8c017SJunhui Liu 18446a8c017SJunhui Liu dldo2 { 18546a8c017SJunhui Liu regulator-min-microvolt = <500000>; 18646a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 18746a8c017SJunhui Liu }; 18846a8c017SJunhui Liu 18946a8c017SJunhui Liu dldo3 { 19046a8c017SJunhui Liu regulator-min-microvolt = <500000>; 19146a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 19246a8c017SJunhui Liu }; 19346a8c017SJunhui Liu 19446a8c017SJunhui Liu dldo4 { 19546a8c017SJunhui Liu regulator-min-microvolt = <500000>; 19646a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 19746a8c017SJunhui Liu regulator-always-on; 19846a8c017SJunhui Liu }; 19946a8c017SJunhui Liu 20046a8c017SJunhui Liu dldo5 { 20146a8c017SJunhui Liu regulator-min-microvolt = <500000>; 20246a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 20346a8c017SJunhui Liu }; 20446a8c017SJunhui Liu 20546a8c017SJunhui Liu dldo6 { 20646a8c017SJunhui Liu regulator-min-microvolt = <500000>; 20746a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 20846a8c017SJunhui Liu regulator-always-on; 20946a8c017SJunhui Liu }; 21046a8c017SJunhui Liu 21146a8c017SJunhui Liu dldo7 { 21246a8c017SJunhui Liu regulator-min-microvolt = <500000>; 21346a8c017SJunhui Liu regulator-max-microvolt = <3400000>; 21446a8c017SJunhui Liu }; 21546a8c017SJunhui Liu }; 21646a8c017SJunhui Liu }; 21746a8c017SJunhui Liu}; 218