arm64: dts: mediatek: mt7988a-bpi-r4: allow hw variants of bpi-r4
Subsystems (2)
PATCH 1/1 arm64: dts: mediatek: mt7988a-bpi-r4: allow hw variants of bpi-r4
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
As the SFP-Ports are not upstreamed yet this patch simply renames the current board dts to dtsi, creating new dts for the board including the new dtsi and move i2c-mux channel for sfp lan to board dts.
--- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dts | 404 +----------------- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 403 +++++++++++++++++ 2 files changed, 407 insertions(+), 400 deletions(-) create mode 100644 arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dts +4 -400
@@ -2,408 +2,12 @@ /dts-v1/; -#include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/regulator/richtek,rt5190a-regulator.h> +#include "mt7988a-bananapi-bpi-r4.dtsi" -#include "mt7988a.dtsi" - -/ { - compatible = "bananapi,bpi-r4", "mediatek,mt7988a"; - model = "Banana Pi BPI-R4"; - chassis-type = "embedded"; - - chosen { - stdout-path = "serial0:115200n8"; - }; - - reg_1p8v: regulator-1p8v { - compatible = "regulator-fixed"; - regulator-name = "fixed-1.8V"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-boot-on; - regulator-always-on; - }; - - reg_3p3v: regulator-3p3v { - compatible = "regulator-fixed"; - regulator-name = "fixed-3.3V"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - regulator-always-on; - }; -}; - -&cpu0 { - proc-supply = <&rt5190_buck3>; -}; - -&cpu1 { - proc-supply = <&rt5190_buck3>; -}; - -&cpu2 { - proc-supply = <&rt5190_buck3>; -}; - -&cpu3 { - proc-supply = <&rt5190_buck3>; -}; - -&cpu_thermal { - trips { - cpu_trip_hot: hot { - temperature = <120000>; - hysteresis = <2000>; - type = "hot"; - }; - - cpu_trip_active_high: active-high { - temperature = <115000>; - hysteresis = <2000>; - type = "active"; - }; - - cpu_trip_active_med: active-med { - temperature = <85000>; - hysteresis = <2000>; - type = "active"; - }; - - cpu_trip_active_low: active-low { - temperature = <40000>; - hysteresis = <2000>; - type = "active"; - }; - }; -}; - -&i2c0 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c0_pins>; - status = "okay"; - - rt5190a_64: rt5190a@64 { - compatible = "richtek,rt5190a"; - reg = <0x64>; - vin2-supply = <&rt5190_buck1>; - vin3-supply = <&rt5190_buck1>; - vin4-supply = <&rt5190_buck1>; - - regulators { - rt5190_buck1: buck1 { - regulator-name = "rt5190a-buck1"; - regulator-min-microvolt = <5090000>; - regulator-max-microvolt = <5090000>; - regulator-allowed-modes = - <RT5190A_OPMODE_AUTO>, <RT5190A_OPMODE_FPWM>; - regulator-boot-on; - regulator-always-on; - }; - buck2 { - regulator-name = "vcore"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <1400000>; - regulator-boot-on; - regulator-always-on; - }; - rt5190_buck3: buck3 { - regulator-name = "vproc"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <1400000>; - regulator-boot-on; - }; - buck4 { - regulator-name = "rt5190a-buck4"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-allowed-modes = - <RT5190A_OPMODE_AUTO>, <RT5190A_OPMODE_FPWM>; - regulator-boot-on; - regulator-always-on; - }; - ldo { - regulator-name = "rt5190a-ldo"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-boot-on; - regulator-always-on; - }; - }; - }; -}; - -&i2c2 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c2_1_pins>; - status = "okay"; - - pca9545: i2c-mux@70 { - compatible = "nxp,pca9545"; - reg = <0x70>; - reset-gpios = <&pio 5 GPIO_ACTIVE_LOW>; +&pca9545 { + i2c_sfp2: i2c@2 { #address-cells = <1>; #size-cells = <0>; - - i2c@0 { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; - - pcf8563: rtc@51 { - compatible = "nxp,pcf8563"; - reg = <0x51>; - #clock-cells = <0>; - }; - - eeprom@57 { - compatible = "atmel,24c02"; - reg = <0x57>; - size = <256>; - }; - - }; - - i2c_sfp1: i2c@1 { - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; - }; - - i2c_sfp2: i2c@2 { - #address-cells = <1>; - #size-cells = <0>; - reg = <2>; - }; + reg = <2>; }; }; - -/* mPCIe SIM2 */ -&pcie0 { - status = "okay"; -}; - -/* mPCIe SIM3 */ -&pcie1 { - status = "okay"; -}; - -/* M.2 key-B SIM1 */ -&pcie2 { - status = "okay"; -}; - -/* M.2 key-M SSD */ -&pcie3 { - status = "okay"; -}; - -&pio { - mdio0_pins: mdio0-pins { - mux { - function = "eth"; - groups = "mdc_mdio0"; - }; - - conf { - pins = "SMI_0_MDC", "SMI_0_MDIO"; - drive-strength = <8>; - }; - }; - - i2c0_pins: i2c0-g0-pins { - mux { - function = "i2c"; - groups = "i2c0_1"; - }; - }; - - i2c1_pins: i2c1-g0-pins { - mux { - function = "i2c"; - groups = "i2c1_0"; - }; - }; - - i2c1_sfp_pins: i2c1-sfp-g0-pins { - mux { - function = "i2c"; - groups = "i2c1_sfp"; - }; - }; - - i2c2_0_pins: i2c2-g0-pins { - mux { - function = "i2c"; - groups = "i2c2_0"; - }; - }; - - i2c2_1_pins: i2c2-g1-pins { - mux { - function = "i2c"; - groups = "i2c2_1"; - }; - }; - - gbe0_led0_pins: gbe0-led0-pins { - mux { - function = "led"; - groups = "gbe0_led0"; - }; - }; - - gbe1_led0_pins: gbe1-led0-pins { - mux { - function = "led"; - groups = "gbe1_led0"; - }; - }; - - gbe2_led0_pins: gbe2-led0-pins { - mux { - function = "led"; - groups = "gbe2_led0"; - }; - }; - - gbe3_led0_pins: gbe3-led0-pins { - mux { - function = "led"; - groups = "gbe3_led0"; - }; - }; - - gbe0_led1_pins: gbe0-led1-pins { - mux { - function = "led"; - groups = "gbe0_led1"; - }; - }; - - gbe1_led1_pins: gbe1-led1-pins { - mux { - function = "led"; - groups = "gbe1_led1"; - }; - }; - - gbe2_led1_pins: gbe2-led1-pins { - mux { - function = "led"; - groups = "gbe2_led1"; - }; - }; - - gbe3_led1_pins: gbe3-led1-pins { - mux { - function = "led"; - groups = "gbe3_led1"; - }; - }; - - i2p5gbe_led0_pins: 2p5gbe-led0-pins { - mux { - function = "led"; - groups = "2p5gbe_led0"; - }; - }; - - i2p5gbe_led1_pins: 2p5gbe-led1-pins { - mux { - function = "led"; - groups = "2p5gbe_led1"; - }; - }; - - mmc0_pins_emmc_45: mmc0-emmc-45-pins { - mux { - function = "flash"; - groups = "emmc_45"; - }; - }; - - mmc0_pins_emmc_51: mmc0-emmc-51-pins { - mux { - function = "flash"; - groups = "emmc_51"; - }; - }; - - mmc0_pins_sdcard: mmc0-sdcard-pins { - mux { - function = "flash"; - groups = "sdcard"; - }; - }; - - uart0_pins: uart0-pins { - mux { - function = "uart"; - groups = "uart0"; - }; - }; - - snfi_pins: snfi-pins { - mux { - function = "flash"; - groups = "snfi"; - }; - }; - - spi0_pins: spi0-pins { - mux { - function = "spi"; - groups = "spi0"; - }; - }; - - spi0_flash_pins: spi0-flash-pins { - mux { - function = "spi"; - groups = "spi0", "spi0_wp_hold"; - }; - }; - - spi1_pins: spi1-pins { - mux { - function = "spi"; - groups = "spi1"; - }; - }; - - spi2_pins: spi2-pins { - mux { - function = "spi"; - groups = "spi2"; - }; - }; - - spi2_flash_pins: spi2-flash-pins { - mux { - function = "spi"; - groups = "spi2", "spi2_wp_hold"; - }; - }; -}; - -&pwm { - status = "okay"; -}; - -&serial0 { - status = "okay"; -}; - -&ssusb1 { - status = "okay"; -}; - -&tphy { - status = "okay"; -}; - -&watchdog { - status = "okay"; -};
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi new file +403 -0
403 lines not on this page · raw message
Signature · 1 line
2.43.0
AngeloGioacchino Del Regno
maintainerIl 07/02/25 14:54, Frank Wunderlich ha scritto:
Quoted 11 lines
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
As the SFP-Ports are not upstreamed yet this patch simply renames the current board dts to dtsi, creating new dts for the board including the new dtsi and move i2c-mux channel for sfp lan to board dts.
Signed-off-by Frank Wunderlich <[email protected]>
I understand what's going on, and I agree, but this change alone doesn't make a lot of sense, does it?
If I were to see a commit that moves everything in a dtsi, and justifies that by adding two dts for the two variants, though, things would be different.... :-)
Cheers,
Angelo
Quoted 6 lines
--- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dts | 404 +----------------- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 403 +++++++++++++++++ 2 files changed, 407 insertions(+), 400 deletions(-)create mode 100644
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
Am 10. Februar 2025 11:56:40 MEZ schrieb AngeloGioacchino Del Regno <[email protected]>:
Quoted 13 lines
Il 07/02/25 14:54, Frank Wunderlich ha scritto:
Quoted 11 lines
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
As the SFP-Ports are not upstreamed yet this patch simply renames the current board dts to dtsi, creating new dts for the board including the new dtsi and move i2c-mux channel for sfp lan to board dts.
Signed-off-by Frank Wunderlich <[email protected]>
Quoted 15 lines
I understand what's going on, and I agree, but this change alone doesn't make a lot of sense, does it?
If I were to see a commit that moves everything in a dtsi, and justifies that by adding two dts for the two variants, though, things would be different.... :-)
Cheers,
AngeloQuoted 6 lines
--- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dts | 404 +----------------- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 403 +++++++++++++++++ 2 files changed, 407 insertions(+), 400 deletions(-)create mode 100644
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
It is preparation for adding additional nodes like sfp cages. I only have the dual-sfp board so i can only add these based on schematic. The one (wan-sfp) would go into dtsi and lan-sfp go into dts because other variants using a phy here as described. regards Frank
Hi
how to proceed here?
Quoted 22 lines
Gesendet: Montag, 10. Februar 2025 um 12:18
Von: "Frank Wunderlich" <[email protected]>Am 10. Februar 2025 11:56:40 MEZ schrieb AngeloGioacchino Del Regno <[email protected]>:
Quoted 18 lines
Il 07/02/25 14:54, Frank Wunderlich ha scritto:
Quoted 11 lines
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
As the SFP-Ports are not upstreamed yet this patch simply renames the current board dts to dtsi, creating new dts for the board including the new dtsi and move i2c-mux channel for sfp lan to board dts.
Signed-off-by Frank Wunderlich <[email protected]>I understand what's going on, and I agree, but this change alone doesn't make a lot of sense, does it?
If I were to see a commit that moves everything in a dtsi, and justifies that by adding two dts for the two variants, though, things would be different.... :-)
what is the difference to this commit (imho it does basicly the same for other SoC)?
73955991b8fb 2025-02-06 arm64: dts: mediatek: mt8390-genio-700-evk: Move common parts to dtsi arch/arm64/boot/dts/mediatek/mt8390-genio-700-evk.dts arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
Quoted 8 lines
Quoted 6 lines
Quoted 6 lines
--- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dts | 404 +----------------- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 403 +++++++++++++++++ 2 files changed, 407 insertions(+), 400 deletions(-)create mode 100644
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsiIt is preparation for adding additional nodes like sfp cages. I only have the dual-sfp board so i can only add these based on schematic. The one (wan-sfp) would go into dtsi and lan-sfp go into dts because other variants using a phy here as described.
regards Frank