diff --git a/projects/Allwinner/patches/linux/0012-arm64-dts-allwinner-OrangePiOnePlus-updates.patch b/projects/Allwinner/patches/linux/0012-arm64-dts-allwinner-OrangePiOnePlus-updates.patch new file mode 100644 index 0000000000..a83150bb81 --- /dev/null +++ b/projects/Allwinner/patches/linux/0012-arm64-dts-allwinner-OrangePiOnePlus-updates.patch @@ -0,0 +1,91 @@ +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts +index 12e17567ab56..fd9dcefcd223 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts +@@ -9,4 +9,86 @@ + / { + model = "OrangePi One Plus"; + compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6"; ++ ++ aliases { ++ ethernet0 = &emac; ++ }; ++ ++ connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ddc-supply = <®_ddc>; ++ ++ port { ++ hdmi_con_in: endpoint { ++ remote-endpoint = <&hdmi_out_con>; ++ }; ++ }; ++ }; ++ ++ reg_ddc: ddc-io { ++ compatible = "regulator-fixed"; ++ regulator-name = "ddc-io"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ enable-active-high; ++ gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ ++ }; ++ ++ reg_gmac_3v3: gmac-3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc-gmac-3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ startup-delay-us = <100000>; ++ enable-active-high; ++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ ++ vin-supply = <®_aldo2>; ++ }; ++ ++ reg_usb_vbus: vbus { ++ compatible = "regulator-fixed"; ++ regulator-name = "usb-vbus"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ startup-delay-us = <100000>; ++ gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; ++}; ++ ++&de { ++ status = "okay"; ++}; ++ ++&emac { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ext_rgmii_pins>; ++ phy-mode = "rgmii"; ++ phy-handle = <&ext_rgmii_phy>; ++ phy-supply = <®_gmac_3v3>; ++ allwinner,rx-delay-ps = <200>; ++ allwinner,tx-delay-ps = <200>; ++ status = "okay"; ++}; ++ ++&gpu { ++ mali-supply = <®_dcdcc>; ++}; ++ ++&hdmi { ++ status = "okay"; ++}; ++ ++&hdmi_out { ++ hdmi_out_con: endpoint { ++ remote-endpoint = <&hdmi_con_in>; ++ }; ++}; ++ ++&mdio { ++ ext_rgmii_phy: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ }; + }; diff --git a/projects/Allwinner/patches/u-boot/0002-Update-Orange-Pi-One-Plus-for-LibreELEC.patch b/projects/Allwinner/patches/u-boot/0002-Update-Orange-Pi-One-Plus-for-LibreELEC.patch new file mode 100644 index 0000000000..396da014fb --- /dev/null +++ b/projects/Allwinner/patches/u-boot/0002-Update-Orange-Pi-One-Plus-for-LibreELEC.patch @@ -0,0 +1,82 @@ +diff --git a/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts b/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts +index 12e17567ab..4c3447417f 100644 +--- a/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts ++++ b/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts +@@ -9,4 +9,77 @@ + / { + model = "OrangePi One Plus"; + compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6"; ++ ++ aliases { ++ ethernet0 = &emac; ++ }; ++ ++ connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ddc-supply = <®_ddc>; ++ ++ port { ++ hdmi_con_in: endpoint { ++ remote-endpoint = <&hdmi_out_con>; ++ }; ++ }; ++ }; ++ ++ reg_ddc: ddc-io { ++ compatible = "regulator-fixed"; ++ regulator-name = "ddc-io"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ enable-active-high; ++ gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ ++ }; ++ ++ reg_gmac_2v5: gmac-2v5 { ++ compatible = "regulator-fixed"; ++ regulator-name = "gmac-2v5"; ++ regulator-min-microvolt = <2500000>; ++ regulator-max-microvolt = <2500000>; ++ startup-delay-us = <100000>; ++ enable-active-high; ++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ ++ ++ /* The real parent of gmac-2v5 is reg_vcc5v, but we need to ++ * enable two regulators to power the phy. This is one way ++ * to achieve that. ++ */ ++ vin-supply = <®_aldo2>; /* GMAC-3V3 */ ++ }; ++}; ++ ++&de { ++ status = "okay"; ++}; ++ ++&emac { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ext_rgmii_pins>; ++ phy-mode = "rgmii"; ++ phy-handle = <&ext_rgmii_phy>; ++ phy-supply = <®_gmac_2v5>; ++ allwinner,rx-delay-ps = <1500>; ++ allwinner,tx-delay-ps = <700>; ++ status = "okay"; ++}; ++ ++&hdmi { ++ status = "okay"; ++}; ++ ++&hdmi_out { ++ hdmi_out_con: endpoint { ++ remote-endpoint = <&hdmi_con_in>; ++ }; ++}; ++ ++&mdio { ++ ext_rgmii_phy: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ }; + }; diff --git a/scripts/uboot_helper b/scripts/uboot_helper index f98db9fcb7..e3de020858 100755 --- a/scripts/uboot_helper +++ b/scripts/uboot_helper @@ -29,6 +29,7 @@ devices = { 'H6' : { 'pine_h64' : { 'dtb' : 'sun50i-h6-pine-h64.dtb', 'config' : 'pine_h64_defconfig' }, 'orangepi_3' : { 'dtb' : 'sun50i-h6-orangepi-3.dtb', 'config' : 'orangepi_3_defconfig' }, + 'orangepi_one_plus' : { 'dtb' : 'sun50i-h6-orangepi-one-plus.dtb', 'config' : 'orangepi_one_plus_defconfig' }, }, }, 'Amlogic' : {