* [PATCH v4 0/3] Add initial support for T95 TV boxes
@ 2024-03-19 17:50 Kamil Kasperski
2024-03-19 17:50 ` [PATCH v4 1/3] dt-bindings: vendor-prefixes: add t95 string Kamil Kasperski
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Kamil Kasperski @ 2024-03-19 17:50 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Maxime Ripard
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-sunxi,
Kamil Kasperski, Krzysztof Kozlowski
Changes in v4:
- change wifi pwrseq node name to 'pwrseq' in sun50i-h616-t95.dtsi
- replace vcc-pg-supply value to reg_aldo1 in &pio
- Link to v3: https://lore.kernel.org/r/20240317-add-t95-axp313-support-v3-0-0d63f7c23d37@gmail.com
Changes in v3:
- remove underscore from wifi_pwrseq node name in sun50i-h616-t95.dtsi
- fix line wrap in commit message
- Link to v2: https://lore.kernel.org/r/20240317-add-t95-axp313-support-v2-0-e38032811758@gmail.com
T95 is a most commonly known for being a box with a pre-installed
malware. It uses Allwinner H616 and comes with NAND, and DDR3
memory.
Those TV boxes usually come with common hardware:
- Allwinner H616 SoC
- 2/4 GB DDR3 SDRAM (Hynix H5TQ2G43BFR)
- 16/32/64 GB NAND flash
- microSD slot
- AXP305 or AXP313 PMIC depending on board revision
- 3.5mm A/V output
- HDMI port
- 2x USB 2.0 ports
- 100M ETH using Internal PHY
- LG642 Wi-Fi and BT chip (rebranded BCM43342)
- 7-segment display
- DC 5V barrel jack port
The board contains holes hor UART header wired to &uart0.
&uart1 is used by bluetooth module
From the DRAM specification its operation voltage is 1.5V.
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Chen-Yu Tsai <wens@csie.org>
To: Jernej Skrabec <jernej.skrabec@gmail.com>
To: Samuel Holland <samuel@sholland.org>
To: Maxime Ripard <mripard@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-sunxi@lists.linux.dev
Signed-off-by: Kamil Kasperski <ressetkk@gmail.com>
---
Kamil Kasperski (3):
dt-bindings: vendor-prefixes: add t95 string
dt-bindings: arm: sunxi: add T95 AXP313
arm64: dts: allwinner: h616: add support for T95 tv boxes
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm64/boot/dts/allwinner/Makefile | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi | 109 +++++++++++++++++++++
.../dts/allwinner/sun50i-h616-t95max-axp313.dts | 84 ++++++++++++++++
5 files changed, 201 insertions(+)
---
base-commit: 4138f02288333cb596885e9af03dd3ea2de845cb
change-id: 20240315-add-t95-axp313-support-5f3da8996edd
Best regards,
--
Kamil Kasperski <ressetkk@gmail.com>
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH v4 1/3] dt-bindings: vendor-prefixes: add t95 string 2024-03-19 17:50 [PATCH v4 0/3] Add initial support for T95 TV boxes Kamil Kasperski @ 2024-03-19 17:50 ` Kamil Kasperski 2024-03-19 17:50 ` [PATCH v4 2/3] dt-bindings: arm: sunxi: add T95 AXP313 Kamil Kasperski 2024-03-19 17:50 ` [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes Kamil Kasperski 2 siblings, 0 replies; 8+ messages in thread From: Kamil Kasperski @ 2024-03-19 17:50 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Maxime Ripard Cc: devicetree, linux-kernel, linux-arm-kernel, linux-sunxi, Kamil Kasperski, Krzysztof Kozlowski Add vendor prefix for T95 tv boxes of unnamed brand. It's hard to determine the actual vendor, so let's assume t95 as default vendor for all t95-branded tv boxes. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Kamil Kasperski <ressetkk@gmail.com> --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index 04505cb0b640..65025ad4dcd5 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -1416,6 +1416,8 @@ patternProperties: "^synopsys,.*": description: Synopsys, Inc. (deprecated, use snps) deprecated: true + "^t95,.*": + description: T95 "^tbs,.*": description: TBS Technologies "^tbs-biometrics,.*": -- 2.34.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 2/3] dt-bindings: arm: sunxi: add T95 AXP313 2024-03-19 17:50 [PATCH v4 0/3] Add initial support for T95 TV boxes Kamil Kasperski 2024-03-19 17:50 ` [PATCH v4 1/3] dt-bindings: vendor-prefixes: add t95 string Kamil Kasperski @ 2024-03-19 17:50 ` Kamil Kasperski 2024-03-19 17:50 ` [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes Kamil Kasperski 2 siblings, 0 replies; 8+ messages in thread From: Kamil Kasperski @ 2024-03-19 17:50 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Maxime Ripard Cc: devicetree, linux-kernel, linux-arm-kernel, linux-sunxi, Kamil Kasperski, Krzysztof Kozlowski Add T95 AXP313 TV Box variant to dt-bindings. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Kamil Kasperski <ressetkk@gmail.com> --- Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml index 09d835db6db5..6fe137605ba5 100644 --- a/Documentation/devicetree/bindings/arm/sunxi.yaml +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml @@ -860,6 +860,11 @@ properties: - const: allwinner,sl631 - const: allwinner,sun8i-v3 + - description: T95 5G (AXP313) TV Box + items: + - const: t95,t95max-axp313 + - const: allwinner,sun50i-h616 + - description: Tanix TX6 items: - const: oranth,tanix-tx6 -- 2.34.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes 2024-03-19 17:50 [PATCH v4 0/3] Add initial support for T95 TV boxes Kamil Kasperski 2024-03-19 17:50 ` [PATCH v4 1/3] dt-bindings: vendor-prefixes: add t95 string Kamil Kasperski 2024-03-19 17:50 ` [PATCH v4 2/3] dt-bindings: arm: sunxi: add T95 AXP313 Kamil Kasperski @ 2024-03-19 17:50 ` Kamil Kasperski 2024-03-19 23:22 ` Andre Przywara 2024-04-15 21:16 ` Jernej Škrabec 2 siblings, 2 replies; 8+ messages in thread From: Kamil Kasperski @ 2024-03-19 17:50 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Maxime Ripard Cc: devicetree, linux-kernel, linux-arm-kernel, linux-sunxi, Kamil Kasperski Add dtsi file for T95 tv boxes and add initial support for T95 5G AXP313A variant with a board name H616-T95MAX-AXP313A-v3.0 Internal storage is not accessible due to lack of support for H616 NAND controller. Signed-off-by: Kamil Kasperski <ressetkk@gmail.com> --- arch/arm64/boot/dts/allwinner/Makefile | 1 + arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi | 109 +++++++++++++++++++++ .../dts/allwinner/sun50i-h616-t95max-axp313.dts | 84 ++++++++++++++++ 3 files changed, 194 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile index 21149b346a60..294921f12b73 100644 --- a/arch/arm64/boot/dts/allwinner/Makefile +++ b/arch/arm64/boot/dts/allwinner/Makefile @@ -42,6 +42,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-pi.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-t95max-axp313.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-longanpi-3h.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi new file mode 100644 index 000000000000..4c02408733bc --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi @@ -0,0 +1,109 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2024 Kamil Kasperski <ressetkk@gmail.com> + * + * Common DT nodes for H616-based T95 TV boxes + * There are two versions reported with different PMIC variants. + */ + +#include "sun50i-h616.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/arm-gic.h> + +/ { + aliases { + ethernet1 = &sdio_wifi; + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + reg_vcc5v: vcc5v { + /* board wide 5V supply directly from the DC input */ + compatible = "regulator-fixed"; + regulator-name = "vcc-5v"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + reg_vcc3v3: vcc3v3 { + /* discrete 3.3V regulator */ + compatible = "regulator-fixed"; + regulator-name = "vcc-3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + wifi_pwrseq: pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rtc CLK_OSC32K_FANOUT>; + clock-names = "ext_clock"; + pinctrl-0 = <&x32clk_fanout_pin>; + pinctrl-names = "default"; + reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ + }; +}; + +&ehci0 { + status = "okay"; +}; + +&ehci2 { + status = "okay"; +}; + +&ir { + status = "okay"; +}; + +&mmc0 { + cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */ + bus-width = <4>; + status = "okay"; +}; + +&mmc1 { + mmc-pwrseq = <&wifi_pwrseq>; + bus-width = <4>; + non-removable; + status = "okay"; + + sdio_wifi: wifi@1 { + reg = <1>; + }; +}; + +&ohci0 { + status = "okay"; +}; + +&ohci2 { + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_ph_pins>; + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; + uart-has-rtscts; + status = "okay"; +}; + +&usbotg { + dr_mode = "host"; /* USB A type receptable */ + status = "okay"; +}; + +&usbphy { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts new file mode 100644 index 000000000000..08a6b4fcc235 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2024 Kamil Kasperski <ressetkk@gmail.com> + * + * Configuration for T95 TV box with board label H616-T95MAX-AXP313A-v3.0 + */ + +/dts-v1/; + +#include "sun50i-h616-t95.dtsi" + +/ { + model = "T95 5G (AXP313)"; + compatible = "t95,t95max-axp313", "allwinner,sun50i-h616"; +}; + +&mmc0 { + vmmc-supply = <®_dldo1>; +}; + +&mmc1 { + vmmc-supply = <®_dldo1>; + vqmmc-supply = <®_aldo1>; +}; + +&r_i2c { + status = "okay"; + + axp313: pmic@36 { + compatible = "x-powers,axp313a"; + reg = <0x36>; + #interrupt-cells = <1>; + interrupt-controller; + + vin1-supply = <®_vcc5v>; + vin2-supply = <®_vcc5v>; + vin3-supply = <®_vcc5v>; + + regulators { + reg_aldo1: aldo1 { + regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc1v8"; + }; + + reg_dldo1: dldo1 { + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc3v3"; + }; + + reg_dcdc1: dcdc1 { + regulator-always-on; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <990000>; + regulator-name = "vdd-gpu-sys"; + }; + + reg_dcdc2: dcdc2 { + regulator-always-on; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <1100000>; + regulator-name = "vdd-cpu"; + }; + + reg_dcdc3: dcdc3 { + regulator-always-on; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <1500000>; + regulator-name = "vdd-dram"; + }; + }; + }; +}; + +&pio { + vcc-pc-supply = <®_aldo1>; + vcc-pf-supply = <®_dldo1>; + vcc-pg-supply = <®_aldo1>; + vcc-ph-supply = <®_dldo1>; + vcc-pi-supply = <®_dldo1>; +}; -- 2.34.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes 2024-03-19 17:50 ` [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes Kamil Kasperski @ 2024-03-19 23:22 ` Andre Przywara 2024-03-19 23:33 ` Kamil Kasperski 2024-04-15 21:16 ` Jernej Škrabec 1 sibling, 1 reply; 8+ messages in thread From: Andre Przywara @ 2024-03-19 23:22 UTC (permalink / raw) To: Kamil Kasperski Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Maxime Ripard, devicetree, linux-kernel, linux-arm-kernel, linux-sunxi On Tue, 19 Mar 2024 18:50:24 +0100 Kamil Kasperski <ressetkk@gmail.com> wrote: Hi Kamil, > Add dtsi file for T95 tv boxes and add initial support for T95 5G AXP313A > variant with a board name H616-T95MAX-AXP313A-v3.0 Internal storage is not > accessible due to lack of support for H616 NAND controller. > > Signed-off-by: Kamil Kasperski <ressetkk@gmail.com> thanks for the changes, looks good now, although a bit minimal ;-) Reviewed-by: Andre Przywara <andre.przywara@arm.com> Please can you wait till the -rc1 release on Sunday, and send a rebased version next week? There is a small merge conflict in the dts Makefile as of now. Cheers, Andre > --- > arch/arm64/boot/dts/allwinner/Makefile | 1 + > arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi | 109 +++++++++++++++++++++ > .../dts/allwinner/sun50i-h616-t95max-axp313.dts | 84 ++++++++++++++++ > 3 files changed, 194 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > index 21149b346a60..294921f12b73 100644 > --- a/arch/arm64/boot/dts/allwinner/Makefile > +++ b/arch/arm64/boot/dts/allwinner/Makefile > @@ -42,6 +42,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-pi.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-t95max-axp313.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-longanpi-3h.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi > new file mode 100644 > index 000000000000..4c02408733bc > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi > @@ -0,0 +1,109 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (C) 2024 Kamil Kasperski <ressetkk@gmail.com> > + * > + * Common DT nodes for H616-based T95 TV boxes > + * There are two versions reported with different PMIC variants. > + */ > + > +#include "sun50i-h616.dtsi" > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/interrupt-controller/arm-gic.h> > + > +/ { > + aliases { > + ethernet1 = &sdio_wifi; > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + reg_vcc5v: vcc5v { > + /* board wide 5V supply directly from the DC input */ > + compatible = "regulator-fixed"; > + regulator-name = "vcc-5v"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + regulator-always-on; > + }; > + > + reg_vcc3v3: vcc3v3 { > + /* discrete 3.3V regulator */ > + compatible = "regulator-fixed"; > + regulator-name = "vcc-3v3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + wifi_pwrseq: pwrseq { > + compatible = "mmc-pwrseq-simple"; > + clocks = <&rtc CLK_OSC32K_FANOUT>; > + clock-names = "ext_clock"; > + pinctrl-0 = <&x32clk_fanout_pin>; > + pinctrl-names = "default"; > + reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ > + }; > +}; > + > +&ehci0 { > + status = "okay"; > +}; > + > +&ehci2 { > + status = "okay"; > +}; > + > +&ir { > + status = "okay"; > +}; > + > +&mmc0 { > + cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */ > + bus-width = <4>; > + status = "okay"; > +}; > + > +&mmc1 { > + mmc-pwrseq = <&wifi_pwrseq>; > + bus-width = <4>; > + non-removable; > + status = "okay"; > + > + sdio_wifi: wifi@1 { > + reg = <1>; > + }; > +}; > + > +&ohci0 { > + status = "okay"; > +}; > + > +&ohci2 { > + status = "okay"; > +}; > + > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_ph_pins>; > + status = "okay"; > +}; > + > +&uart1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; > + uart-has-rtscts; > + status = "okay"; > +}; > + > +&usbotg { > + dr_mode = "host"; /* USB A type receptable */ > + status = "okay"; > +}; > + > +&usbphy { > + status = "okay"; > +}; > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts > new file mode 100644 > index 000000000000..08a6b4fcc235 > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts > @@ -0,0 +1,84 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (C) 2024 Kamil Kasperski <ressetkk@gmail.com> > + * > + * Configuration for T95 TV box with board label H616-T95MAX-AXP313A-v3.0 > + */ > + > +/dts-v1/; > + > +#include "sun50i-h616-t95.dtsi" > + > +/ { > + model = "T95 5G (AXP313)"; > + compatible = "t95,t95max-axp313", "allwinner,sun50i-h616"; > +}; > + > +&mmc0 { > + vmmc-supply = <®_dldo1>; > +}; > + > +&mmc1 { > + vmmc-supply = <®_dldo1>; > + vqmmc-supply = <®_aldo1>; > +}; > + > +&r_i2c { > + status = "okay"; > + > + axp313: pmic@36 { > + compatible = "x-powers,axp313a"; > + reg = <0x36>; > + #interrupt-cells = <1>; > + interrupt-controller; > + > + vin1-supply = <®_vcc5v>; > + vin2-supply = <®_vcc5v>; > + vin3-supply = <®_vcc5v>; > + > + regulators { > + reg_aldo1: aldo1 { > + regulator-always-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-name = "vcc1v8"; > + }; > + > + reg_dldo1: dldo1 { > + regulator-always-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vcc3v3"; > + }; > + > + reg_dcdc1: dcdc1 { > + regulator-always-on; > + regulator-min-microvolt = <810000>; > + regulator-max-microvolt = <990000>; > + regulator-name = "vdd-gpu-sys"; > + }; > + > + reg_dcdc2: dcdc2 { > + regulator-always-on; > + regulator-min-microvolt = <810000>; > + regulator-max-microvolt = <1100000>; > + regulator-name = "vdd-cpu"; > + }; > + > + reg_dcdc3: dcdc3 { > + regulator-always-on; > + regulator-min-microvolt = <1500000>; > + regulator-max-microvolt = <1500000>; > + regulator-name = "vdd-dram"; > + }; > + }; > + }; > +}; > + > +&pio { > + vcc-pc-supply = <®_aldo1>; > + vcc-pf-supply = <®_dldo1>; > + vcc-pg-supply = <®_aldo1>; > + vcc-ph-supply = <®_dldo1>; > + vcc-pi-supply = <®_dldo1>; > +}; > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes 2024-03-19 23:22 ` Andre Przywara @ 2024-03-19 23:33 ` Kamil Kasperski 2024-09-19 10:59 ` Andre Przywara 0 siblings, 1 reply; 8+ messages in thread From: Kamil Kasperski @ 2024-03-19 23:33 UTC (permalink / raw) To: Andre Przywara Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Maxime Ripard, devicetree, linux-kernel, linux-arm-kernel, linux-sunxi W dniu 20.03.2024 o 00:22, Andre Przywara pisze: > On Tue, 19 Mar 2024 18:50:24 +0100 > Kamil Kasperski <ressetkk@gmail.com> wrote: > > Hi Kamil, > >> Add dtsi file for T95 tv boxes and add initial support for T95 5G AXP313A >> variant with a board name H616-T95MAX-AXP313A-v3.0 Internal storage is not >> accessible due to lack of support for H616 NAND controller. >> >> Signed-off-by: Kamil Kasperski <ressetkk@gmail.com> > thanks for the changes, looks good now, although a bit minimal ;-) > > Reviewed-by: Andre Przywara <andre.przywara@arm.com> > > Please can you wait till the -rc1 release on Sunday, and send a rebased > version next week? There is a small merge conflict in the dts Makefile > as of now. > > Cheers, > Andre Sure, no problem. Thank you very much for a review. Once it gets merged I'll get back to u-boot patch. Cheers, Kamil > >> --- >> arch/arm64/boot/dts/allwinner/Makefile | 1 + >> arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi | 109 +++++++++++++++++++++ >> .../dts/allwinner/sun50i-h616-t95max-axp313.dts | 84 ++++++++++++++++ >> 3 files changed, 194 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile >> index 21149b346a60..294921f12b73 100644 >> --- a/arch/arm64/boot/dts/allwinner/Makefile >> +++ b/arch/arm64/boot/dts/allwinner/Makefile >> @@ -42,6 +42,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-pi.dtb >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb >> +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-t95max-axp313.dtb >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-longanpi-3h.dtb >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb >> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi >> new file mode 100644 >> index 000000000000..4c02408733bc >> --- /dev/null >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi >> @@ -0,0 +1,109 @@ >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) >> +/* >> + * Copyright (C) 2024 Kamil Kasperski <ressetkk@gmail.com> >> + * >> + * Common DT nodes for H616-based T95 TV boxes >> + * There are two versions reported with different PMIC variants. >> + */ >> + >> +#include "sun50i-h616.dtsi" >> + >> +#include <dt-bindings/gpio/gpio.h> >> +#include <dt-bindings/interrupt-controller/arm-gic.h> >> + >> +/ { >> + aliases { >> + ethernet1 = &sdio_wifi; >> + serial0 = &uart0; >> + }; >> + >> + chosen { >> + stdout-path = "serial0:115200n8"; >> + }; >> + >> + reg_vcc5v: vcc5v { >> + /* board wide 5V supply directly from the DC input */ >> + compatible = "regulator-fixed"; >> + regulator-name = "vcc-5v"; >> + regulator-min-microvolt = <5000000>; >> + regulator-max-microvolt = <5000000>; >> + regulator-always-on; >> + }; >> + >> + reg_vcc3v3: vcc3v3 { >> + /* discrete 3.3V regulator */ >> + compatible = "regulator-fixed"; >> + regulator-name = "vcc-3v3"; >> + regulator-min-microvolt = <3300000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-always-on; >> + }; >> + >> + wifi_pwrseq: pwrseq { >> + compatible = "mmc-pwrseq-simple"; >> + clocks = <&rtc CLK_OSC32K_FANOUT>; >> + clock-names = "ext_clock"; >> + pinctrl-0 = <&x32clk_fanout_pin>; >> + pinctrl-names = "default"; >> + reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ >> + }; >> +}; >> + >> +&ehci0 { >> + status = "okay"; >> +}; >> + >> +&ehci2 { >> + status = "okay"; >> +}; >> + >> +&ir { >> + status = "okay"; >> +}; >> + >> +&mmc0 { >> + cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */ >> + bus-width = <4>; >> + status = "okay"; >> +}; >> + >> +&mmc1 { >> + mmc-pwrseq = <&wifi_pwrseq>; >> + bus-width = <4>; >> + non-removable; >> + status = "okay"; >> + >> + sdio_wifi: wifi@1 { >> + reg = <1>; >> + }; >> +}; >> + >> +&ohci0 { >> + status = "okay"; >> +}; >> + >> +&ohci2 { >> + status = "okay"; >> +}; >> + >> +&uart0 { >> + pinctrl-names = "default"; >> + pinctrl-0 = <&uart0_ph_pins>; >> + status = "okay"; >> +}; >> + >> +&uart1 { >> + pinctrl-names = "default"; >> + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; >> + uart-has-rtscts; >> + status = "okay"; >> +}; >> + >> +&usbotg { >> + dr_mode = "host"; /* USB A type receptable */ >> + status = "okay"; >> +}; >> + >> +&usbphy { >> + status = "okay"; >> +}; >> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts >> new file mode 100644 >> index 000000000000..08a6b4fcc235 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts >> @@ -0,0 +1,84 @@ >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) >> +/* >> + * Copyright (C) 2024 Kamil Kasperski <ressetkk@gmail.com> >> + * >> + * Configuration for T95 TV box with board label H616-T95MAX-AXP313A-v3.0 >> + */ >> + >> +/dts-v1/; >> + >> +#include "sun50i-h616-t95.dtsi" >> + >> +/ { >> + model = "T95 5G (AXP313)"; >> + compatible = "t95,t95max-axp313", "allwinner,sun50i-h616"; >> +}; >> + >> +&mmc0 { >> + vmmc-supply = <®_dldo1>; >> +}; >> + >> +&mmc1 { >> + vmmc-supply = <®_dldo1>; >> + vqmmc-supply = <®_aldo1>; >> +}; >> + >> +&r_i2c { >> + status = "okay"; >> + >> + axp313: pmic@36 { >> + compatible = "x-powers,axp313a"; >> + reg = <0x36>; >> + #interrupt-cells = <1>; >> + interrupt-controller; >> + >> + vin1-supply = <®_vcc5v>; >> + vin2-supply = <®_vcc5v>; >> + vin3-supply = <®_vcc5v>; >> + >> + regulators { >> + reg_aldo1: aldo1 { >> + regulator-always-on; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-name = "vcc1v8"; >> + }; >> + >> + reg_dldo1: dldo1 { >> + regulator-always-on; >> + regulator-min-microvolt = <3300000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-name = "vcc3v3"; >> + }; >> + >> + reg_dcdc1: dcdc1 { >> + regulator-always-on; >> + regulator-min-microvolt = <810000>; >> + regulator-max-microvolt = <990000>; >> + regulator-name = "vdd-gpu-sys"; >> + }; >> + >> + reg_dcdc2: dcdc2 { >> + regulator-always-on; >> + regulator-min-microvolt = <810000>; >> + regulator-max-microvolt = <1100000>; >> + regulator-name = "vdd-cpu"; >> + }; >> + >> + reg_dcdc3: dcdc3 { >> + regulator-always-on; >> + regulator-min-microvolt = <1500000>; >> + regulator-max-microvolt = <1500000>; >> + regulator-name = "vdd-dram"; >> + }; >> + }; >> + }; >> +}; >> + >> +&pio { >> + vcc-pc-supply = <®_aldo1>; >> + vcc-pf-supply = <®_dldo1>; >> + vcc-pg-supply = <®_aldo1>; >> + vcc-ph-supply = <®_dldo1>; >> + vcc-pi-supply = <®_dldo1>; >> +}; >> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes 2024-03-19 23:33 ` Kamil Kasperski @ 2024-09-19 10:59 ` Andre Przywara 0 siblings, 0 replies; 8+ messages in thread From: Andre Przywara @ 2024-09-19 10:59 UTC (permalink / raw) To: Kamil Kasperski Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Maxime Ripard, devicetree, linux-kernel, linux-arm-kernel, linux-sunxi On Wed, 20 Mar 2024 00:33:50 +0100 Kamil Kasperski <ressetkk@gmail.com> wrote: Hi Kamil, > W dniu 20.03.2024 o 00:22, Andre Przywara pisze: > > On Tue, 19 Mar 2024 18:50:24 +0100 > > Kamil Kasperski <ressetkk@gmail.com> wrote: > > > > Hi Kamil, > > > >> Add dtsi file for T95 tv boxes and add initial support for T95 5G AXP313A > >> variant with a board name H616-T95MAX-AXP313A-v3.0 Internal storage is not > >> accessible due to lack of support for H616 NAND controller. > >> > >> Signed-off-by: Kamil Kasperski <ressetkk@gmail.com> > > thanks for the changes, looks good now, although a bit minimal ;-) > > > > Reviewed-by: Andre Przywara <andre.przywara@arm.com> > > > > Please can you wait till the -rc1 release on Sunday, and send a rebased > > version next week? There is a small merge conflict in the dts Makefile > > as of now. > > > > Cheers, > > Andre > > Sure, no problem. Thank you very much for a review. It's been a while, but can you maybe send a rebased version of this patch set again? The merge window has just opened, so exactly now is probably not a good time, but if you rebase on v6.12-rc1, due to be released on the 29th September, we can get this queued. Some minor things I just spotted below: > Once it gets merged I'll get back to u-boot patch. > > Cheers, > Kamil > > > > >> --- > >> arch/arm64/boot/dts/allwinner/Makefile | 1 + > >> arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi | 109 +++++++++++++++++++++ > >> .../dts/allwinner/sun50i-h616-t95max-axp313.dts | 84 ++++++++++++++++ > >> 3 files changed, 194 insertions(+) > >> > >> diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > >> index 21149b346a60..294921f12b73 100644 > >> --- a/arch/arm64/boot/dts/allwinner/Makefile > >> +++ b/arch/arm64/boot/dts/allwinner/Makefile > >> @@ -42,6 +42,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb > >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb > >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-pi.dtb > >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb > >> +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-t95max-axp313.dtb > >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb > >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-longanpi-3h.dtb > >> dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb > >> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi > >> new file mode 100644 > >> index 000000000000..4c02408733bc > >> --- /dev/null > >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi > >> @@ -0,0 +1,109 @@ > >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > >> +/* > >> + * Copyright (C) 2024 Kamil Kasperski <ressetkk@gmail.com> > >> + * > >> + * Common DT nodes for H616-based T95 TV boxes > >> + * There are two versions reported with different PMIC variants. > >> + */ > >> + > >> +#include "sun50i-h616.dtsi" > >> + > >> +#include <dt-bindings/gpio/gpio.h> > >> +#include <dt-bindings/interrupt-controller/arm-gic.h> > >> + > >> +/ { > >> + aliases { > >> + ethernet1 = &sdio_wifi; > >> + serial0 = &uart0; > >> + }; > >> + > >> + chosen { > >> + stdout-path = "serial0:115200n8"; > >> + }; > >> + > >> + reg_vcc5v: vcc5v { > >> + /* board wide 5V supply directly from the DC input */ > >> + compatible = "regulator-fixed"; > >> + regulator-name = "vcc-5v"; > >> + regulator-min-microvolt = <5000000>; > >> + regulator-max-microvolt = <5000000>; > >> + regulator-always-on; > >> + }; > >> + > >> + reg_vcc3v3: vcc3v3 { > >> + /* discrete 3.3V regulator */ > >> + compatible = "regulator-fixed"; > >> + regulator-name = "vcc-3v3"; > >> + regulator-min-microvolt = <3300000>; > >> + regulator-max-microvolt = <3300000>; > >> + regulator-always-on; Can you please add a line: vin-supply = <®_vcc5v>; here, to not leave this regulator dangling? That should also suppress a warning about a dummy regulator. > >> + }; > >> + > >> + wifi_pwrseq: pwrseq { > >> + compatible = "mmc-pwrseq-simple"; > >> + clocks = <&rtc CLK_OSC32K_FANOUT>; > >> + clock-names = "ext_clock"; > >> + pinctrl-0 = <&x32clk_fanout_pin>; > >> + pinctrl-names = "default"; > >> + reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ > >> + }; > >> +}; > >> + > >> +&ehci0 { > >> + status = "okay"; > >> +}; > >> + > >> +&ehci2 { > >> + status = "okay"; > >> +}; > >> + > >> +&ir { > >> + status = "okay"; > >> +}; > >> + > >> +&mmc0 { > >> + cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */ > >> + bus-width = <4>; > >> + status = "okay"; Please add a: disable-wp; here, as microSD slots don't have a write-protect switch. We are in the process of fixing all sunxi arm64 boards in this respect, but this DT would probably miss that effort. > >> +}; > >> + > >> +&mmc1 { > >> + mmc-pwrseq = <&wifi_pwrseq>; > >> + bus-width = <4>; > >> + non-removable; > >> + status = "okay"; > >> + > >> + sdio_wifi: wifi@1 { > >> + reg = <1>; > >> + }; > >> +}; > >> + > >> +&ohci0 { > >> + status = "okay"; > >> +}; > >> + > >> +&ohci2 { > >> + status = "okay"; > >> +}; > >> + > >> +&uart0 { > >> + pinctrl-names = "default"; > >> + pinctrl-0 = <&uart0_ph_pins>; > >> + status = "okay"; > >> +}; > >> + > >> +&uart1 { > >> + pinctrl-names = "default"; > >> + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; > >> + uart-has-rtscts; > >> + status = "okay"; As Jernej mentioned: this is probably for connecting to the Bluetooth part of the WiFi chip, so please add a least a comment here. And I wonder if we know what Bluetooth IP this is, and if there is a compatible string for that? Does the vendor firmware give any clue here? Cheers, Andre > >> +}; > >> + > >> +&usbotg { > >> + dr_mode = "host"; /* USB A type receptable */ > >> + status = "okay"; > >> +}; > >> + > >> +&usbphy { > >> + status = "okay"; > >> +}; > >> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts > >> new file mode 100644 > >> index 000000000000..08a6b4fcc235 > >> --- /dev/null > >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts > >> @@ -0,0 +1,84 @@ > >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > >> +/* > >> + * Copyright (C) 2024 Kamil Kasperski <ressetkk@gmail.com> > >> + * > >> + * Configuration for T95 TV box with board label H616-T95MAX-AXP313A-v3.0 > >> + */ > >> + > >> +/dts-v1/; > >> + > >> +#include "sun50i-h616-t95.dtsi" > >> + > >> +/ { > >> + model = "T95 5G (AXP313)"; > >> + compatible = "t95,t95max-axp313", "allwinner,sun50i-h616"; > >> +}; > >> + > >> +&mmc0 { > >> + vmmc-supply = <®_dldo1>; > >> +}; > >> + > >> +&mmc1 { > >> + vmmc-supply = <®_dldo1>; > >> + vqmmc-supply = <®_aldo1>; > >> +}; > >> + > >> +&r_i2c { > >> + status = "okay"; > >> + > >> + axp313: pmic@36 { > >> + compatible = "x-powers,axp313a"; > >> + reg = <0x36>; > >> + #interrupt-cells = <1>; > >> + interrupt-controller; > >> + > >> + vin1-supply = <®_vcc5v>; > >> + vin2-supply = <®_vcc5v>; > >> + vin3-supply = <®_vcc5v>; > >> + > >> + regulators { > >> + reg_aldo1: aldo1 { > >> + regulator-always-on; > >> + regulator-min-microvolt = <1800000>; > >> + regulator-max-microvolt = <1800000>; > >> + regulator-name = "vcc1v8"; > >> + }; > >> + > >> + reg_dldo1: dldo1 { > >> + regulator-always-on; > >> + regulator-min-microvolt = <3300000>; > >> + regulator-max-microvolt = <3300000>; > >> + regulator-name = "vcc3v3"; > >> + }; > >> + > >> + reg_dcdc1: dcdc1 { > >> + regulator-always-on; > >> + regulator-min-microvolt = <810000>; > >> + regulator-max-microvolt = <990000>; > >> + regulator-name = "vdd-gpu-sys"; > >> + }; > >> + > >> + reg_dcdc2: dcdc2 { > >> + regulator-always-on; > >> + regulator-min-microvolt = <810000>; > >> + regulator-max-microvolt = <1100000>; > >> + regulator-name = "vdd-cpu"; > >> + }; > >> + > >> + reg_dcdc3: dcdc3 { > >> + regulator-always-on; > >> + regulator-min-microvolt = <1500000>; > >> + regulator-max-microvolt = <1500000>; > >> + regulator-name = "vdd-dram"; > >> + }; > >> + }; > >> + }; > >> +}; > >> + > >> +&pio { > >> + vcc-pc-supply = <®_aldo1>; > >> + vcc-pf-supply = <®_dldo1>; > >> + vcc-pg-supply = <®_aldo1>; > >> + vcc-ph-supply = <®_dldo1>; > >> + vcc-pi-supply = <®_dldo1>; > >> +}; > >> > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes 2024-03-19 17:50 ` [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes Kamil Kasperski 2024-03-19 23:22 ` Andre Przywara @ 2024-04-15 21:16 ` Jernej Škrabec 1 sibling, 0 replies; 8+ messages in thread From: Jernej Škrabec @ 2024-04-15 21:16 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Samuel Holland, Maxime Ripard, Kamil Kasperski Cc: devicetree, linux-kernel, linux-arm-kernel, linux-sunxi, Kamil Kasperski Hi Kamil, sorry for being a bit late. Dne torek, 19. marec 2024 ob 18:50:24 GMT +2 je Kamil Kasperski napisal(a): > Add dtsi file for T95 tv boxes and add initial support for T95 5G AXP313A > variant with a board name H616-T95MAX-AXP313A-v3.0 Internal storage is not > accessible due to lack of support for H616 NAND controller. > > Signed-off-by: Kamil Kasperski <ressetkk@gmail.com> > --- > arch/arm64/boot/dts/allwinner/Makefile | 1 + > arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi | 109 +++++++++++++++++++++ > .../dts/allwinner/sun50i-h616-t95max-axp313.dts | 84 ++++++++++++++++ > 3 files changed, 194 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > index 21149b346a60..294921f12b73 100644 > --- a/arch/arm64/boot/dts/allwinner/Makefile > +++ b/arch/arm64/boot/dts/allwinner/Makefile > @@ -42,6 +42,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-pi.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-t95max-axp313.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-longanpi-3h.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi > new file mode 100644 > index 000000000000..4c02408733bc > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi > @@ -0,0 +1,109 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (C) 2024 Kamil Kasperski <ressetkk@gmail.com> > + * > + * Common DT nodes for H616-based T95 TV boxes > + * There are two versions reported with different PMIC variants. > + */ > + > +#include "sun50i-h616.dtsi" > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/interrupt-controller/arm-gic.h> > + > +/ { > + aliases { > + ethernet1 = &sdio_wifi; > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + reg_vcc5v: vcc5v { > + /* board wide 5V supply directly from the DC input */ > + compatible = "regulator-fixed"; > + regulator-name = "vcc-5v"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + regulator-always-on; > + }; > + > + reg_vcc3v3: vcc3v3 { > + /* discrete 3.3V regulator */ > + compatible = "regulator-fixed"; > + regulator-name = "vcc-3v3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + wifi_pwrseq: pwrseq { > + compatible = "mmc-pwrseq-simple"; > + clocks = <&rtc CLK_OSC32K_FANOUT>; > + clock-names = "ext_clock"; > + pinctrl-0 = <&x32clk_fanout_pin>; > + pinctrl-names = "default"; > + reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ > + }; > +}; > + > +&ehci0 { > + status = "okay"; > +}; > + > +&ehci2 { > + status = "okay"; > +}; > + > +&ir { > + status = "okay"; > +}; > + > +&mmc0 { > + cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */ > + bus-width = <4>; > + status = "okay"; > +}; > + > +&mmc1 { > + mmc-pwrseq = <&wifi_pwrseq>; > + bus-width = <4>; > + non-removable; > + status = "okay"; > + > + sdio_wifi: wifi@1 { > + reg = <1>; > + }; > +}; > + > +&ohci0 { > + status = "okay"; > +}; > + > +&ohci2 { > + status = "okay"; > +}; > + > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_ph_pins>; > + status = "okay"; > +}; > + > +&uart1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; > + uart-has-rtscts; > + status = "okay"; > +}; I suppose UART1 is used for bluetooth, right? As is, this currently doesn't help much. Is there any appropriate BT compatible? Best regards, Jernej > + > +&usbotg { > + dr_mode = "host"; /* USB A type receptable */ > + status = "okay"; > +}; > + > +&usbphy { > + status = "okay"; > +}; > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts > new file mode 100644 > index 000000000000..08a6b4fcc235 > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts > @@ -0,0 +1,84 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (C) 2024 Kamil Kasperski <ressetkk@gmail.com> > + * > + * Configuration for T95 TV box with board label H616-T95MAX-AXP313A-v3.0 > + */ > + > +/dts-v1/; > + > +#include "sun50i-h616-t95.dtsi" > + > +/ { > + model = "T95 5G (AXP313)"; > + compatible = "t95,t95max-axp313", "allwinner,sun50i-h616"; > +}; > + > +&mmc0 { > + vmmc-supply = <®_dldo1>; > +}; > + > +&mmc1 { > + vmmc-supply = <®_dldo1>; > + vqmmc-supply = <®_aldo1>; > +}; > + > +&r_i2c { > + status = "okay"; > + > + axp313: pmic@36 { > + compatible = "x-powers,axp313a"; > + reg = <0x36>; > + #interrupt-cells = <1>; > + interrupt-controller; > + > + vin1-supply = <®_vcc5v>; > + vin2-supply = <®_vcc5v>; > + vin3-supply = <®_vcc5v>; > + > + regulators { > + reg_aldo1: aldo1 { > + regulator-always-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-name = "vcc1v8"; > + }; > + > + reg_dldo1: dldo1 { > + regulator-always-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vcc3v3"; > + }; > + > + reg_dcdc1: dcdc1 { > + regulator-always-on; > + regulator-min-microvolt = <810000>; > + regulator-max-microvolt = <990000>; > + regulator-name = "vdd-gpu-sys"; > + }; > + > + reg_dcdc2: dcdc2 { > + regulator-always-on; > + regulator-min-microvolt = <810000>; > + regulator-max-microvolt = <1100000>; > + regulator-name = "vdd-cpu"; > + }; > + > + reg_dcdc3: dcdc3 { > + regulator-always-on; > + regulator-min-microvolt = <1500000>; > + regulator-max-microvolt = <1500000>; > + regulator-name = "vdd-dram"; > + }; > + }; > + }; > +}; > + > +&pio { > + vcc-pc-supply = <®_aldo1>; > + vcc-pf-supply = <®_dldo1>; > + vcc-pg-supply = <®_aldo1>; > + vcc-ph-supply = <®_dldo1>; > + vcc-pi-supply = <®_dldo1>; > +}; > > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-09-19 10:59 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-03-19 17:50 [PATCH v4 0/3] Add initial support for T95 TV boxes Kamil Kasperski 2024-03-19 17:50 ` [PATCH v4 1/3] dt-bindings: vendor-prefixes: add t95 string Kamil Kasperski 2024-03-19 17:50 ` [PATCH v4 2/3] dt-bindings: arm: sunxi: add T95 AXP313 Kamil Kasperski 2024-03-19 17:50 ` [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes Kamil Kasperski 2024-03-19 23:22 ` Andre Przywara 2024-03-19 23:33 ` Kamil Kasperski 2024-09-19 10:59 ` Andre Przywara 2024-04-15 21:16 ` Jernej Škrabec
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).