Message ID | 20210103100013.47058-3-jernej.skrabec@siol.net |
---|---|
State | Superseded |
Delegated to: | Andre Przywara |
Headers | show |
Series | sunxi: add support for Tanix TX6 | expand |
On 03/01/2021 10:00, Jernej Skrabec wrote: > This commit adds support for Tanix TX6 TV box, based on H6. It's low end > H6 board, with 3 GiB of RAM, eMMC, fast ethernet, USB, IR and other > peripherals. > > DT file is taken from Linux 5.11-rc1 release. > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> > --- > arch/arm/dts/Makefile | 3 +- > arch/arm/dts/sun50i-h6-tanix-tx6.dts | 124 +++++++++++++++++++++++++++ > board/sunxi/MAINTAINERS | 6 ++ > configs/tanix_tx6_defconfig | 11 +++ > 4 files changed, 143 insertions(+), 1 deletion(-) > create mode 100644 arch/arm/dts/sun50i-h6-tanix-tx6.dts > create mode 100644 configs/tanix_tx6_defconfig > > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile > index fd47e408f826..e00aed1ec207 100644 > --- a/arch/arm/dts/Makefile > +++ b/arch/arm/dts/Makefile > @@ -607,7 +607,8 @@ dtb-$(CONFIG_MACH_SUN50I_H6) += \ > sun50i-h6-beelink-gs1.dtb \ > sun50i-h6-orangepi-lite2.dtb \ > sun50i-h6-orangepi-one-plus.dtb \ > - sun50i-h6-pine-h64.dtb > + sun50i-h6-pine-h64.dtb \ > + sun50i-h6-tanix-tx6.dtb > dtb-$(CONFIG_MACH_SUN50I) += \ > sun50i-a64-amarula-relic.dtb \ > sun50i-a64-bananapi-m64.dtb \ > diff --git a/arch/arm/dts/sun50i-h6-tanix-tx6.dts b/arch/arm/dts/sun50i-h6-tanix-tx6.dts > new file mode 100644 > index 000000000000..be81330db14f > --- /dev/null > +++ b/arch/arm/dts/sun50i-h6-tanix-tx6.dts > @@ -0,0 +1,124 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +// Copyright (c) 2019 Jernej Skrabec <jernej.skrabec@siol.net> > + > +/dts-v1/; > + > +#include "sun50i-h6.dtsi" > +#include "sun50i-h6-cpu-opp.dtsi" > + > +#include <dt-bindings/gpio/gpio.h> > + > +/ { > + model = "Tanix TX6"; > + compatible = "oranth,tanix-tx6", "allwinner,sun50i-h6"; > + > + aliases { > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + connector { > + compatible = "hdmi-connector"; > + ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ > + type = "a"; > + > + port { > + hdmi_con_in: endpoint { > + remote-endpoint = <&hdmi_out_con>; > + }; > + }; > + }; > + > + reg_vcc3v3: vcc3v3 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc3v3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + reg_vdd_cpu_gpu: vdd-cpu-gpu { > + compatible = "regulator-fixed"; > + regulator-name = "vdd-cpu-gpu"; > + regulator-min-microvolt = <1135000>; > + regulator-max-microvolt = <1135000>; > + }; > +}; > + > +&cpu0 { > + cpu-supply = <®_vdd_cpu_gpu>; > +}; > + > +&de { > + status = "okay"; > +}; > + > +&dwc3 { > + status = "okay"; > +}; > + > +&ehci0 { > + status = "okay"; > +}; > + > +&ehci3 { > + status = "okay"; > +}; > + > +&gpu { > + mali-supply = <®_vdd_cpu_gpu>; > + status = "okay"; > +}; > + > +&hdmi { > + status = "okay"; > +}; > + > +&hdmi_out { > + hdmi_out_con: endpoint { > + remote-endpoint = <&hdmi_con_in>; > + }; > +}; > + > +&mmc0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc0_pins>; > + vmmc-supply = <®_vcc3v3>; > + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; > + bus-width = <4>; > + status = "okay"; > +}; > + > +&ohci0 { > + status = "okay"; > +}; > + > +&ohci3 { > + status = "okay"; > +}; > + > +&r_ir { > + linux,rc-map-name = "rc-tanix-tx5max"; > + status = "okay"; > +}; > + > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_ph_pins>; > + status = "okay"; > +}; > + > +&usb2otg { > + dr_mode = "host"; > + status = "okay"; > +}; > + > +&usb2phy { > + status = "okay"; > +}; > + > +&usb3phy { > + status = "okay"; > +}; > diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS > index d3755ae41a9d..1b37a9899edd 100644 > --- a/board/sunxi/MAINTAINERS > +++ b/board/sunxi/MAINTAINERS > @@ -489,6 +489,12 @@ S: Maintained > F: configs/Sunchip_CX-A99_defconfig > W: https://linux-sunxi.org/Sunchip_CX-A99 > > +TANIX TX6 BOARD > +M: Jernej Skrabec <jernej.skrabec@siol.net> > +S: Maintained > +F: configs/tanix_tx6_defconfig > +W: https://linux-sunxi.org/Tanix_TX6 > + > TBS A711 BOARD > M: Maxime Ripard <mripard@kernel.org> > S: Maintained > diff --git a/configs/tanix_tx6_defconfig b/configs/tanix_tx6_defconfig > new file mode 100644 > index 000000000000..5b93d1c956fe > --- /dev/null > +++ b/configs/tanix_tx6_defconfig > @@ -0,0 +1,11 @@ > +CONFIG_ARM=y > +CONFIG_ARCH_SUNXI=y > +CONFIG_SPL=y > +CONFIG_MACH_SUN50I_H6=y > +CONFIG_SUNXI_DRAM_H6_DDR3_1333=y > +CONFIG_DRAM_CLK=648 > +CONFIG_MMC0_CD_PIN="PF6" > +CONFIG_MMC_SUNXI_SLOT_EXTRA=2 > +# CONFIG_PSCI_RESET is not set This line is not needed. I know it's in every other H6 defconfig, but it should go there as well (will try to send patches). The rest looks alright. Cheers, Andre > +CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-tanix-tx6" > +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set >
Dne sreda, 06. januar 2021 ob 16:51:09 CET je André Przywara napisal(a): > On 03/01/2021 10:00, Jernej Skrabec wrote: > > This commit adds support for Tanix TX6 TV box, based on H6. It's low end > > H6 board, with 3 GiB of RAM, eMMC, fast ethernet, USB, IR and other > > peripherals. > > > > DT file is taken from Linux 5.11-rc1 release. > > > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> > > --- > > arch/arm/dts/Makefile | 3 +- > > arch/arm/dts/sun50i-h6-tanix-tx6.dts | 124 +++++++++++++++++++++++++++ > > board/sunxi/MAINTAINERS | 6 ++ > > configs/tanix_tx6_defconfig | 11 +++ > > 4 files changed, 143 insertions(+), 1 deletion(-) > > create mode 100644 arch/arm/dts/sun50i-h6-tanix-tx6.dts > > create mode 100644 configs/tanix_tx6_defconfig > > > > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile > > index fd47e408f826..e00aed1ec207 100644 > > --- a/arch/arm/dts/Makefile > > +++ b/arch/arm/dts/Makefile > > @@ -607,7 +607,8 @@ dtb-$(CONFIG_MACH_SUN50I_H6) += \ > > sun50i-h6-beelink-gs1.dtb \ > > sun50i-h6-orangepi-lite2.dtb \ > > sun50i-h6-orangepi-one-plus.dtb \ > > - sun50i-h6-pine-h64.dtb > > + sun50i-h6-pine-h64.dtb \ > > + sun50i-h6-tanix-tx6.dtb > > dtb-$(CONFIG_MACH_SUN50I) += \ > > sun50i-a64-amarula-relic.dtb \ > > sun50i-a64-bananapi-m64.dtb \ > > diff --git a/arch/arm/dts/sun50i-h6-tanix-tx6.dts b/arch/arm/dts/sun50i-h6- tanix-tx6.dts > > new file mode 100644 > > index 000000000000..be81330db14f > > --- /dev/null > > +++ b/arch/arm/dts/sun50i-h6-tanix-tx6.dts > > @@ -0,0 +1,124 @@ > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > +// Copyright (c) 2019 Jernej Skrabec <jernej.skrabec@siol.net> > > + > > +/dts-v1/; > > + > > +#include "sun50i-h6.dtsi" > > +#include "sun50i-h6-cpu-opp.dtsi" > > + > > +#include <dt-bindings/gpio/gpio.h> > > + > > +/ { > > + model = "Tanix TX6"; > > + compatible = "oranth,tanix-tx6", "allwinner,sun50i-h6"; > > + > > + aliases { > > + serial0 = &uart0; > > + }; > > + > > + chosen { > > + stdout-path = "serial0:115200n8"; > > + }; > > + > > + connector { > > + compatible = "hdmi-connector"; > > + ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ > > + type = "a"; > > + > > + port { > > + hdmi_con_in: endpoint { > > + remote-endpoint = <&hdmi_out_con>; > > + }; > > + }; > > + }; > > + > > + reg_vcc3v3: vcc3v3 { > > + compatible = "regulator-fixed"; > > + regulator-name = "vcc3v3"; > > + regulator-min-microvolt = <3300000>; > > + regulator-max-microvolt = <3300000>; > > + }; > > + > > + reg_vdd_cpu_gpu: vdd-cpu-gpu { > > + compatible = "regulator-fixed"; > > + regulator-name = "vdd-cpu-gpu"; > > + regulator-min-microvolt = <1135000>; > > + regulator-max-microvolt = <1135000>; > > + }; > > +}; > > + > > +&cpu0 { > > + cpu-supply = <®_vdd_cpu_gpu>; > > +}; > > + > > +&de { > > + status = "okay"; > > +}; > > + > > +&dwc3 { > > + status = "okay"; > > +}; > > + > > +&ehci0 { > > + status = "okay"; > > +}; > > + > > +&ehci3 { > > + status = "okay"; > > +}; > > + > > +&gpu { > > + mali-supply = <®_vdd_cpu_gpu>; > > + status = "okay"; > > +}; > > + > > +&hdmi { > > + status = "okay"; > > +}; > > + > > +&hdmi_out { > > + hdmi_out_con: endpoint { > > + remote-endpoint = <&hdmi_con_in>; > > + }; > > +}; > > + > > +&mmc0 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&mmc0_pins>; > > + vmmc-supply = <®_vcc3v3>; > > + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; > > + bus-width = <4>; > > + status = "okay"; > > +}; > > + > > +&ohci0 { > > + status = "okay"; > > +}; > > + > > +&ohci3 { > > + status = "okay"; > > +}; > > + > > +&r_ir { > > + linux,rc-map-name = "rc-tanix-tx5max"; > > + status = "okay"; > > +}; > > + > > +&uart0 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart0_ph_pins>; > > + status = "okay"; > > +}; > > + > > +&usb2otg { > > + dr_mode = "host"; > > + status = "okay"; > > +}; > > + > > +&usb2phy { > > + status = "okay"; > > +}; > > + > > +&usb3phy { > > + status = "okay"; > > +}; > > diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS > > index d3755ae41a9d..1b37a9899edd 100644 > > --- a/board/sunxi/MAINTAINERS > > +++ b/board/sunxi/MAINTAINERS > > @@ -489,6 +489,12 @@ S: Maintained > > F: configs/Sunchip_CX-A99_defconfig > > W: https://linux-sunxi.org/Sunchip_CX-A99 > > > > +TANIX TX6 BOARD > > +M: Jernej Skrabec <jernej.skrabec@siol.net> > > +S: Maintained > > +F: configs/tanix_tx6_defconfig > > +W: https://linux-sunxi.org/Tanix_TX6 > > + > > TBS A711 BOARD > > M: Maxime Ripard <mripard@kernel.org> > > S: Maintained > > diff --git a/configs/tanix_tx6_defconfig b/configs/tanix_tx6_defconfig > > new file mode 100644 > > index 000000000000..5b93d1c956fe > > --- /dev/null > > +++ b/configs/tanix_tx6_defconfig > > @@ -0,0 +1,11 @@ > > +CONFIG_ARM=y > > +CONFIG_ARCH_SUNXI=y > > +CONFIG_SPL=y > > +CONFIG_MACH_SUN50I_H6=y > > +CONFIG_SUNXI_DRAM_H6_DDR3_1333=y > > +CONFIG_DRAM_CLK=648 > > +CONFIG_MMC0_CD_PIN="PF6" > > +CONFIG_MMC_SUNXI_SLOT_EXTRA=2 > > +# CONFIG_PSCI_RESET is not set > > This line is not needed. I know it's in every other H6 defconfig, but it > should go there as well (will try to send patches). Ok, I'll remove it in v3. Best regards, Jernej > > The rest looks alright. > > Cheers, > Andre > > > +CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-tanix-tx6" > > +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set > > > >
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index fd47e408f826..e00aed1ec207 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -607,7 +607,8 @@ dtb-$(CONFIG_MACH_SUN50I_H6) += \ sun50i-h6-beelink-gs1.dtb \ sun50i-h6-orangepi-lite2.dtb \ sun50i-h6-orangepi-one-plus.dtb \ - sun50i-h6-pine-h64.dtb + sun50i-h6-pine-h64.dtb \ + sun50i-h6-tanix-tx6.dtb dtb-$(CONFIG_MACH_SUN50I) += \ sun50i-a64-amarula-relic.dtb \ sun50i-a64-bananapi-m64.dtb \ diff --git a/arch/arm/dts/sun50i-h6-tanix-tx6.dts b/arch/arm/dts/sun50i-h6-tanix-tx6.dts new file mode 100644 index 000000000000..be81330db14f --- /dev/null +++ b/arch/arm/dts/sun50i-h6-tanix-tx6.dts @@ -0,0 +1,124 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +// Copyright (c) 2019 Jernej Skrabec <jernej.skrabec@siol.net> + +/dts-v1/; + +#include "sun50i-h6.dtsi" +#include "sun50i-h6-cpu-opp.dtsi" + +#include <dt-bindings/gpio/gpio.h> + +/ { + model = "Tanix TX6"; + compatible = "oranth,tanix-tx6", "allwinner,sun50i-h6"; + + aliases { + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + connector { + compatible = "hdmi-connector"; + ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; + + reg_vcc3v3: vcc3v3 { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + reg_vdd_cpu_gpu: vdd-cpu-gpu { + compatible = "regulator-fixed"; + regulator-name = "vdd-cpu-gpu"; + regulator-min-microvolt = <1135000>; + regulator-max-microvolt = <1135000>; + }; +}; + +&cpu0 { + cpu-supply = <®_vdd_cpu_gpu>; +}; + +&de { + status = "okay"; +}; + +&dwc3 { + status = "okay"; +}; + +&ehci0 { + status = "okay"; +}; + +&ehci3 { + status = "okay"; +}; + +&gpu { + mali-supply = <®_vdd_cpu_gpu>; + status = "okay"; +}; + +&hdmi { + status = "okay"; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + +&mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>; + vmmc-supply = <®_vcc3v3>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; + bus-width = <4>; + status = "okay"; +}; + +&ohci0 { + status = "okay"; +}; + +&ohci3 { + status = "okay"; +}; + +&r_ir { + linux,rc-map-name = "rc-tanix-tx5max"; + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_ph_pins>; + status = "okay"; +}; + +&usb2otg { + dr_mode = "host"; + status = "okay"; +}; + +&usb2phy { + status = "okay"; +}; + +&usb3phy { + status = "okay"; +}; diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS index d3755ae41a9d..1b37a9899edd 100644 --- a/board/sunxi/MAINTAINERS +++ b/board/sunxi/MAINTAINERS @@ -489,6 +489,12 @@ S: Maintained F: configs/Sunchip_CX-A99_defconfig W: https://linux-sunxi.org/Sunchip_CX-A99 +TANIX TX6 BOARD +M: Jernej Skrabec <jernej.skrabec@siol.net> +S: Maintained +F: configs/tanix_tx6_defconfig +W: https://linux-sunxi.org/Tanix_TX6 + TBS A711 BOARD M: Maxime Ripard <mripard@kernel.org> S: Maintained diff --git a/configs/tanix_tx6_defconfig b/configs/tanix_tx6_defconfig new file mode 100644 index 000000000000..5b93d1c956fe --- /dev/null +++ b/configs/tanix_tx6_defconfig @@ -0,0 +1,11 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_SPL=y +CONFIG_MACH_SUN50I_H6=y +CONFIG_SUNXI_DRAM_H6_DDR3_1333=y +CONFIG_DRAM_CLK=648 +CONFIG_MMC0_CD_PIN="PF6" +CONFIG_MMC_SUNXI_SLOT_EXTRA=2 +# CONFIG_PSCI_RESET is not set +CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-tanix-tx6" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
This commit adds support for Tanix TX6 TV box, based on H6. It's low end H6 board, with 3 GiB of RAM, eMMC, fast ethernet, USB, IR and other peripherals. DT file is taken from Linux 5.11-rc1 release. Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> --- arch/arm/dts/Makefile | 3 +- arch/arm/dts/sun50i-h6-tanix-tx6.dts | 124 +++++++++++++++++++++++++++ board/sunxi/MAINTAINERS | 6 ++ configs/tanix_tx6_defconfig | 11 +++ 4 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/sun50i-h6-tanix-tx6.dts create mode 100644 configs/tanix_tx6_defconfig