xref: /linux/scripts/dtc/include-prefixes/riscv/spacemit/k1-bananapi-cm6.dtsi (revision 67f8bc848ee31831336bd478e57d2f993551902e)
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&eth0 {
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 = <&reg_vcc_4v>;
10546a8c017SJunhui Liu		vin2-supply = <&reg_vcc_4v>;
10646a8c017SJunhui Liu		vin3-supply = <&reg_vcc_4v>;
10746a8c017SJunhui Liu		vin4-supply = <&reg_vcc_4v>;
10846a8c017SJunhui Liu		vin5-supply = <&reg_vcc_4v>;
10946a8c017SJunhui Liu		vin6-supply = <&reg_vcc_4v>;
11046a8c017SJunhui Liu		aldoin-supply = <&reg_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