// SPDX-License-Identifier: GPL-2.0 OR MIT /* * Copyright (C) 2024 Yangyu Chen */ #include "k1.dtsi" #include "k1-pinctrl.dtsi" / { model = "Banana Pi BPI-F3"; compatible = "bananapi,bpi-f3", "spacemit,k1"; aliases { ethernet0 = ð0; ethernet1 = ð1; serial0 = &uart0; i2c2 = &i2c2; i2c8 = &i2c8; }; chosen { stdout-path = "serial0"; }; leds { compatible = "gpio-leds"; led1 { label = "sys-led"; gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; default-state = "on"; }; }; reg_dc_in: dc-in-12v { compatible = "regulator-fixed"; regulator-name = "dc_in_12v"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; regulator-boot-on; regulator-always-on; }; reg_vcc_4v: vcc-4v { compatible = "regulator-fixed"; regulator-name = "vcc_4v"; regulator-min-microvolt = <4000000>; regulator-max-microvolt = <4000000>; regulator-boot-on; regulator-always-on; vin-supply = <®_dc_in>; }; }; &emmc { bus-width = <8>; mmc-hs400-1_8v; mmc-hs400-enhanced-strobe; non-removable; no-sd; no-sdio; status = "okay"; }; ð0 { phy-handle = <&rgmii0>; phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&gmac0_cfg>; 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>; }; }; }; ð1 { 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(115) GPIO_ACTIVE_LOW>; reset-delay-us = <10000>; reset-post-delay-us = <100000>; rgmii1: phy@1 { reg = <0x1>; }; }; }; &pdma { status = "okay"; }; &qspi { pinctrl-names = "default"; pinctrl-0 = <&qspi_cfg>; 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 = <16>; read-only; size = <256>; nvmem-layout { compatible = "onie,tlv-layout"; mac-address { #nvmem-cell-cells = <1>; }; num-macs { }; serial-number { }; }; }; }; &i2c8 { pinctrl-0 = <&i2c8_cfg>; pinctrl-names = "default"; status = "okay"; pmic@41 { compatible = "spacemit,p1"; reg = <0x41>; interrupts = <64>; vin-supply = <®_vcc_4v>; 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 { 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 { 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>; }; }; }; }; &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_2_cfg>; status = "okay"; };