Skip to contentSkip to conversation

ARM64: amlogic: add support for the S905W and two boards

RFC Superseded Martin Blumenstingl 4 participants 13 messages Jun 24, 2018 – Jun 29, 2018

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Martin Blumenstingl

author reviewer
#0 lore raw

cover ARM64: amlogic: add support for the S905W and two boards

The goal of this series is to to add support for the Amlogic S905W SoC along with Amlogic's P281 development board and the Tanix TX3 Mini (which both use the S905W SoC).

I am sending this as request-for-comments because I would like to get feedback specifically on:
- the naming of the new vendor "Oranth" and their brand "Tanix". more information regarding their relation can be found in patch #1
- I do not have access to the P281 development board (nor any documentation apart from what is available in Amlogic's GPL kernel sources). thus it would be great if someone from Amlogic could confirm that my .dts is working
- the S905W SoC is a cost-reduced version of the S905X SoC. I have documented the differences that I am aware of in patch #2. none of these changes require adjustments to any existing driver/binding because these changes are either handled in the SCPI firmware (CPU frequency and DDR interface) or there is no Linux support for them yet (4k HDMI resolutions and the HW video decoder)

Martin Blumenstingl (5):
dt-bindings: add vendor prefix for Shenzhen Oranth Technology Co.,
Ltd.
dt-bindings: arm: amlogic: Add support for GXL S905W and the P281
board
dt-bindings: arm: amlogic: Add support for the Oranth Tanix TX3 Mini
ARM64: dts: meson-gxl: add support for the S905W SoC and the P281
board - WiP
ARM64: dts: meson-gxl: add support for the Oranth Tanix TX3 Mini

 .../devicetree/bindings/arm/amlogic.txt       |  7 ++++++
 .../devicetree/bindings/vendor-prefixes.txt   |  1 +
 arch/arm64/boot/dts/amlogic/Makefile          |  2 ++
 .../boot/dts/amlogic/meson-gxl-s905w-p281.dts | 22 +++++++++++++++++++
 .../dts/amlogic/meson-gxl-s905w-tx3-mini.dts  | 22 +++++++++++++++++++
 .../boot/dts/amlogic/meson-gxl-s905w.dtsi     | 20 +++++++++++++++++
 6 files changed, 74 insertions(+)
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi
Signature · 1 line
2.18.0
author reviewer
#1 lore raw

RFC 1/5 dt-bindings: add vendor prefix for Shenzhen Oranth Technology Co., Ltd.

According to their website (http://www.oranth.com/about-oranth/)
Shenzhen Oranth Technology Co., Ltd. (or simply "Oranth") "is a professional Design House & Manufacturer for Android TV Box established in 2014". One of their brands is Tanix (sometimes also spelled "TANIX").

One of their most popular devices is the "Tanix TX3 Mini" TV box (which uses the Amlogic S905W chipset).

---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
index 7cad066191ee..5b9a96d863ee 100644
@@ -271,6 +271,7 @@ opalkelly	Opal Kelly Incorporated
 opencores	OpenCores.org
 openrisc	OpenRISC.io
 option	Option NV
+oranth	Shenzhen Oranth Technology Co., Ltd.
 ORCL	Oracle Corporation
 orisetech	Orise Technology
 ortustech	Ortus Technology Co., Ltd.
Signature · 1 line
2.18.0
maintainer
#2 lore raw

RFC 1/5 dt-bindings: add vendor prefix for Shenzhen Oranth Technology Co., Ltd.

Quoted 5 lines · Martin Blumenstingl

According to their website (http://www.oranth.com/about-oranth/)
Shenzhen Oranth Technology Co., Ltd. (or simply "Oranth") "is a professional Design House & Manufacturer for Android TV Box established in 2014". One of their brands is Tanix (sometimes also spelled "TANIX").

Quoted 7 lines

One of their most popular devices is the "Tanix TX3 Mini" TV box (which uses the Amlogic S905W chipset).

---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)
author reviewer
#3 lore raw

RFC 2/5 dt-bindings: arm: amlogic: Add support for GXL S905W and the P281 board

In reply to Martin Blumenstingl

S905W SoC is another SoC from the GXL family. It is a cost-reduced version of the S905X SoC. The following differences are known:
- S905W supports HDMI resolutions up to 4k at 30fps (while S905X support resolutions up to 4k at 60fps)
- the built-in video decoders of S905W decode up to 4k at 30fps (while S905X supports decoding up to 4k at 60fps)
- CPU speed on S905W is limited to 1.2GHz (compared to 1.5GHz on S905X, this is handled in the SCPI firmware)
- the DRAM interface on S905W is limited to 16-bit (GXL supports both, 16-bit and 32-bit)

Notes based on Amlogic's GPL kernel sources:
- the P281 is a development board from Amlogic which uses the S905W SoC. Amlogic's GPL kernel sources indicate that it uses the same PCB layout as the "P231" board (and simply replaces the S905D from the original P231 board with a S905W SoC).
- it is assumed that the S905W SoC is pin-compatible with the S905X SoC since Amlogic's GPL kernel sources use the same driver for both SoCs.
- gxl_p281_1g.dts contains a comment which mentions that "max gp pll for gpu is 650M, temporarily disabled". However, it seems to boot fine with 744MHz (as used on GXBB and the other GXL SoCs).

---
 Documentation/devicetree/bindings/arm/amlogic.txt | 6 ++++++
 1 file changed, 6 insertions(+)
Documentation/devicetree/bindings/arm/amlogic.txt +6 -0
index 69880560c0f0..33c672284963 100644
@@ -41,6 +41,10 @@ Boards with the Amlogic Meson GXL S905D SoC shall have the following properties:
   Required root node property:
     compatible: "amlogic,s905d", "amlogic,meson-gxl";
 
+Boards with the Amlogic Meson GXL S905W SoC shall have the following properties:
+  Required root node property:
+    compatible: "amlogic,s905w", "amlogic,meson-gxl";
+
 Boards with the Amlogic Meson GXM S912 SoC shall have the following properties:
   Required root node property:
     compatible: "amlogic,s912", "amlogic,meson-gxm";
@@ -79,6 +83,8 @@ Board compatible values (alphabetically, grouped by SoC):
   - "amlogic,p230" (Meson gxl s905d)
   - "amlogic,p231" (Meson gxl s905d)
 
+  - "amlogic,p281" (Meson gxl s905w)
+
   - "amlogic,q200" (Meson gxm s912)
   - "amlogic,q201" (Meson gxm s912)
   - "khadas,vim2" (Meson gxm s912)
Signature · 1 line
2.18.0
maintainer
#4 lore raw

RFC 2/5 dt-bindings: arm: amlogic: Add support for GXL S905W and the P281 board

Quoted 22 lines · Martin Blumenstingl

S905W SoC is another SoC from the GXL family. It is a cost-reduced version of the S905X SoC. The following differences are known:
- S905W supports HDMI resolutions up to 4k at 30fps (while S905X support resolutions up to 4k at 60fps)
- the built-in video decoders of S905W decode up to 4k at 30fps (while S905X supports decoding up to 4k at 60fps)
- CPU speed on S905W is limited to 1.2GHz (compared to 1.5GHz on S905X, this is handled in the SCPI firmware)
- the DRAM interface on S905W is limited to 16-bit (GXL supports both, 16-bit and 32-bit)

Notes based on Amlogic's GPL kernel sources:
- the P281 is a development board from Amlogic which uses the S905W SoC. Amlogic's GPL kernel sources indicate that it uses the same PCB layout as the "P231" board (and simply replaces the S905D from the original P231 board with a S905W SoC).
- it is assumed that the S905W SoC is pin-compatible with the S905X SoC since Amlogic's GPL kernel sources use the same driver for both SoCs.
- gxl_p281_1g.dts contains a comment which mentions that "max gp pll for gpu is 650M, temporarily disabled". However, it seems to boot fine with 744MHz (as used on GXBB and the other GXL SoCs).

Quoted 4 lines
---
 Documentation/devicetree/bindings/arm/amlogic.txt | 6 ++++++
 1 file changed, 6 insertions(+)
author reviewer
#5 lore raw

RFC 3/5 dt-bindings: arm: amlogic: Add support for the Oranth Tanix TX3 Mini

In reply to Martin Blumenstingl

The Tanix TX3 Mini is a TV box based on the Amlogic S905W chipset. It comes with:
- 1 GiB or 2 GiB of DDR3 memory depending on the model
- 8 GB or 16 GB eMMC flash depending on the model
- 802.11 b/g/n wifi (Silicon Valley Microelectronics SSV6051, does not support Bluetooth, not supported by any mailine driver)
- an LED 7 segment display with an FD628 controller (not supported by any mainline driver)
- HDMI and AV (CVBS) output
- 2x USB (utilizing both USB ports provided by the SoC)
- micro SD card slot

The board seems to be very similar to the P23x and Q20x reference boards:
- eMMC reset routed to BOOT_9
- the SDIO wifi chip's reset line is routed to GPIOX_6 and the reference clock is 32.768KHz on PWM_E
- SD card detection is routed to CARD_6
- vqmmc of all MMC controllers is hard-wired to 1.8V (VDDIO_BOOT)
- uart_AO can be accessed after opening the case and soldering RX, TX and GND lines onto the exposed solder points (marked with RX, TX and GND)

---
 Documentation/devicetree/bindings/arm/amlogic.txt | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/amlogic.txt +1 -0
index 33c672284963..79b8ebe08444 100644
@@ -84,6 +84,7 @@ Board compatible values (alphabetically, grouped by SoC):
   - "amlogic,p231" (Meson gxl s905d)
 
   - "amlogic,p281" (Meson gxl s905w)
+  - "oranth,tx3-mini" (Meson gxl s905w)
 
   - "amlogic,q200" (Meson gxm s912)
   - "amlogic,q201" (Meson gxm s912)
Signature · 1 line
2.18.0
maintainer
#6 lore raw

RFC 3/5 dt-bindings: arm: amlogic: Add support for the Oranth Tanix TX3 Mini

Quoted 23 lines · Martin Blumenstingl

The Tanix TX3 Mini is a TV box based on the Amlogic S905W chipset. It comes with:
- 1 GiB or 2 GiB of DDR3 memory depending on the model
- 8 GB or 16 GB eMMC flash depending on the model
- 802.11 b/g/n wifi (Silicon Valley Microelectronics SSV6051, does not support Bluetooth, not supported by any mailine driver)
- an LED 7 segment display with an FD628 controller (not supported by any mainline driver)
- HDMI and AV (CVBS) output
- 2x USB (utilizing both USB ports provided by the SoC)
- micro SD card slot

The board seems to be very similar to the P23x and Q20x reference boards:
- eMMC reset routed to BOOT_9
- the SDIO wifi chip's reset line is routed to GPIOX_6 and the reference clock is 32.768KHz on PWM_E
- SD card detection is routed to CARD_6
- vqmmc of all MMC controllers is hard-wired to 1.8V (VDDIO_BOOT)
- uart_AO can be accessed after opening the case and soldering RX, TX and GND lines onto the exposed solder points (marked with RX, TX and GND)

Quoted 4 lines
---
 Documentation/devicetree/bindings/arm/amlogic.txt | 1 +
 1 file changed, 1 insertion(+)
author reviewer
#7 lore raw

RFC 4/5 ARM64: dts: meson-gxl: add support for the S905W SoC and the P281 board - WiP

In reply to Martin Blumenstingl

S905W is a new SoC from the GXL series. It is a cost-reduced version of the S905X.
The P281 development board from Amlogic uses the same layout as the P231 (S905D development board). Thus the new P281 board inherits meson-gx-p23x-q20x.dtsi to avoid code-duplication.

---
 arch/arm64/boot/dts/amlogic/Makefile          |  1 +
 .../boot/dts/amlogic/meson-gxl-s905w-p281.dts | 22 +++++++++++++++++++
 .../boot/dts/amlogic/meson-gxl-s905w.dtsi     | 20 +++++++++++++++++
 3 files changed, 43 insertions(+)
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi
arch/arm64/boot/dts/amlogic/Makefile +1 -0
index 34dd0e9b5cbb..6de2e7f5a9cc 100644
@@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb
arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts new file +22 -0
new file mode 100644
index 000000000000..d4faed54c223
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2018 Martin Blumenstingl <[email protected]>.
+ * Based on meson-gxl-s905d-p231.dts:
+ * - Copyright (c) 2016 Endless Computers, Inc.
+ *   Author: Carlo Caione <[email protected]>
+ */
+
+/dts-v1/;
+
+#include "meson-gxl-s905w.dtsi"
+#include "meson-gx-p23x-q20x.dtsi"
+
+/ {
+	compatible = "amlogic,p281", "amlogic,s905w", "amlogic,meson-gxl";
+	model = "Amlogic Meson GXL (S905W) P281 Development Board";
+
+	memory at 0 {
+		device_type = "memory";
+		reg = <0x0 0x0 0x0 0x40000000>;
+	};
+};
arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi new file +20 -0
new file mode 100644
index 000000000000..a4ed586d328b
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2018 Martin Blumenstingl <[email protected]>.
+ * Based on meson-gxl-s905x.dtsi:
+ * - Copyright (c) 2016 Endless Computers, Inc.
+ *   Author: Carlo Caione <[email protected]>
+ */
+
+#include "meson-gxl.dtsi"
+#include "meson-gxl-mali.dtsi"
+
+/ {
+	compatible = "amlogic,s905w", "amlogic,meson-gxl";
+};
+
+/* S905W only has access to it's internal PHY */
+&ethmac {
+	phy-mode = "rmii";
+	phy-handle = <&internal_phy>;
+};
Signature · 1 line
2.18.0
#8 lore raw

RFC 4/5 ARM64: dts: meson-gxl: add support for the S905W SoC and the P281 board - WiP

Quoted 27 lines · Martin Blumenstingl

S905W is a new SoC from the GXL series. It is a cost-reduced version of the S905X.
The P281 development board from Amlogic uses the same layout as the P231 (S905D development board). Thus the new P281 board inherits meson-gx-p23x-q20x.dtsi to avoid code-duplication.

---
 arch/arm64/boot/dts/amlogic/Makefile          |  1 +
 .../boot/dts/amlogic/meson-gxl-s905w-p281.dts | 22 +++++++++++++++++++
 .../boot/dts/amlogic/meson-gxl-s905w.dtsi     | 20 +++++++++++++++++
 3 files changed, 43 insertions(+)
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi
arch/arm64/boot/dts/amlogic/Makefile +1 -0
index 34dd0e9b5cbb..6de2e7f5a9cc 100644
@@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb

[...]

Quoted 17 lines
arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi new file +10 -0
new file mode 100644
index 000000000000..a4ed586d328b
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2018 Martin Blumenstingl <[email protected]>.
+ * Based on meson-gxl-s905x.dtsi:
+ * - Copyright (c) 2016 Endless Computers, Inc.
+ *   Author: Carlo Caione <[email protected]>
+ */
+
+#include "meson-gxl.dtsi"
+#include "meson-gxl-mali.dtsi"

arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi line 20

Quoted 10 lines
arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi new file +10 -0
+
+/ {
+	compatible = "amlogic,s905w", "amlogic,meson-gxl";
+};
+
+/* S905W only has access to it's internal PHY */
+&ethmac {
+	phy-mode = "rmii";
+	phy-handle = <&internal_phy>;
+};

Hi Martin, Kevin, Carlo, Jerome,

I would like to discuss how we should handle all the GXl variants, since from linux PoV, S905x, S905W and S805X are the same (S905W and S805X only has ledd IO balls, less IO available but same pinctrl interface).

At some point, meson-gxl-s905w.dtsi and meson-gxl-s805x.dtsi will be exactly the same as meson-gxl-s905x.dtsi, and maybe the same for S905Z in the Fire TV.

The can be multiple solution :
- duplicate the files
- unify all the internal-PHY-only GXL variant into a meson-gxl-sx05x.dtsi
- use meson-gxl-s905x.dtsi and override the compatible in board dts
- move the meson-gxl-s905x.dtsi into a separate meson-gxl-internal-phy.dtsi and include it instead of meson-gxl-s905x.dtsi and drop the intermediate package specific dtsi

Neil

author reviewer
#9 lore raw

RFC 4/5 ARM64: dts: meson-gxl: add support for the S905W SoC and the P281 board - WiP

Hi Neil,

Quoted 5 lines · Neil Armstrong

Hi Martin, Kevin, Carlo, Jerome,

I would like to discuss how we should handle all the GXl variants, since from linux PoV, S905x, S905W and S805X are the same (S905W and S805X only has ledd IO balls, less IO available but same pinctrl interface).

At some point, meson-gxl-s905w.dtsi and meson-gxl-s805x.dtsi will be exactly the same as meson-gxl-s905x.dtsi, and maybe the same for S905Z in the Fire TV.

like you mentioned, most things (all using the internal PHY, same GPU, same pinctrl interface, ...) are going to be identical, but what about the differences?
- available HDMI modes are different for S905X (max. 4k60), S905W (max. 4k30) and S805X (max. 1080p)
- video encoders / decoders are different for S905X (max. 4k60), S905W (max. 4k30) and S805X (max. 1080p)
- CPU frequency changes are probably a no-op for us since it's handled by the SCPI firmware: 1.5GHz for S905X, 1.2GHz for S905W and S805X
- according to lvrp16 the S805X SoC itself measures 11mm x 11mm whereas the S905X SoC measures 14mm x 14mm
- what else did I miss?

at least the first two may require SoC/package specific compatible strings for the HDMI controller and video decoder (if these IP blocks don't come with a way to auto-detect the max supported resolutions)

Regards
Martin

maintainer
#10 lore raw

RFC 4/5 ARM64: dts: meson-gxl: add support for the S905W SoC and the P281 board - WiP

In reply to Neil Armstrong
Quoted 66 lines · Neil Armstrong
Quoted 27 lines · Martin Blumenstingl

S905W is a new SoC from the GXL series. It is a cost-reduced version of the S905X.
The P281 development board from Amlogic uses the same layout as the P231 (S905D development board). Thus the new P281 board inherits meson-gx-p23x-q20x.dtsi to avoid code-duplication.

---
 arch/arm64/boot/dts/amlogic/Makefile          |  1 +
 .../boot/dts/amlogic/meson-gxl-s905w-p281.dts | 22 +++++++++++++++++++
 .../boot/dts/amlogic/meson-gxl-s905w.dtsi     | 20 +++++++++++++++++
 3 files changed, 43 insertions(+)
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi
arch/arm64/boot/dts/amlogic/Makefile +1 -0
index 34dd0e9b5cbb..6de2e7f5a9cc 100644
@@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb

[...]

Quoted 17 lines
arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi new file +10 -0
new file mode 100644
index 000000000000..a4ed586d328b
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2018 Martin Blumenstingl <[email protected]>.
+ * Based on meson-gxl-s905x.dtsi:
+ * - Copyright (c) 2016 Endless Computers, Inc.
+ *   Author: Carlo Caione <[email protected]>
+ */
+
+#include "meson-gxl.dtsi"
+#include "meson-gxl-mali.dtsi"

arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi line 20

Quoted 10 lines
arch/arm64/boot/dts/amlogic/meson-gxl-s905w.dtsi new file +10 -0
+
+/ {
+	compatible = "amlogic,s905w", "amlogic,meson-gxl";
+};
+
+/* S905W only has access to it's internal PHY */
+&ethmac {
+	phy-mode = "rmii";
+	phy-handle = <&internal_phy>;
+};

Hi Martin, Kevin, Carlo, Jerome,

I would like to discuss how we should handle all the GXl variants, since from linux PoV, S905x, S905W and S805X are the same (S905W and S805X only has ledd IO balls, less IO available but same pinctrl interface).

Quoted 7 lines

At some point, meson-gxl-s905w.dtsi and meson-gxl-s805x.dtsi will be exactly the same as meson-gxl-s905x.dtsi, and maybe the same for S905Z in the Fire TV.

The can be multiple solution :
- duplicate the files
- unify all the internal-PHY-only GXL variant into a meson-gxl-sx05x.dtsi
- use meson-gxl-s905x.dtsi and override the compatible in board dts
- move the meson-gxl-s905x.dtsi into a separate meson-gxl-internal-phy.dtsi and include it instead of meson-gxl-s905x.dtsi and drop the intermediate package specific dtsi

I vote for unifying, but I think renaming is messy unncessary.

I'd rather just see reuse of the existing s905x .dtsi for any s905w or s805x boards. We can add compatibles to s905x.dtsi if we really need to, but for now I don't even thing that's necessary.

IOW, for this patch, drop the new s905w dtsi, and just have the board .dts include the s905x.dtsi.

Kevin

author reviewer
#11 lore raw

RFC 5/5 ARM64: dts: meson-gxl: add support for the Oranth Tanix TX3 Mini

In reply to Martin Blumenstingl

The Tanix TX3 Mini is a TV box based on the Amlogic S905W chipset. There are two variants:
- 1 GiB or 2 GiB of DDR3 memory
- 8 GB or 16 GB eMMC flash

Both variants come with:
- 802.11 b/g/n wifi (Silicon Valley Microelectronics SSV6051, does not support Bluetooth)
- an LED 7 segment display with an FD628 controller
- HDMI and AV (CVBS) output
- 2x USB (utilizing both USB ports provided by the SoC)
- micro SD card slot
- serial console (uart_AO) has to be soldered after opening the case

The board seems to be very similar to the P23x and Q20x reference boards, which is why it includes meson-gx-p23x-q20x.dtsi:
- eMMC reset routed to BOOT_9
- the SDIO wifi chip's reset line is routed to GPIOX_6 and the reference clock is 32.768KHz on PWM_E
- SD card detection is routed to CARD_6
- vqmmc of all MMC controllers is hard-wired to 1.8V (VDDIO_BOOT)
- uart_AO can be accessed after opening the case and soldering RX, TX and GND lines onto the exposed solder points (marked with RX, TX and GND)

---
 arch/arm64/boot/dts/amlogic/Makefile          |  1 +
 .../dts/amlogic/meson-gxl-s905w-tx3-mini.dts  | 22 +++++++++++++++++++
 2 files changed, 23 insertions(+)
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts
arch/arm64/boot/dts/amlogic/Makefile +1 -0
index 6de2e7f5a9cc..1b46affd376d 100644
@@ -18,6 +18,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb
arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts new file +22 -0
new file mode 100644
index 000000000000..08aca8346b72
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2018 Martin Blumenstingl <[email protected]>.
+ * Based on meson-gxl-s905d-p231.dts:
+ * - Copyright (c) 2016 Endless Computers, Inc.
+ *   Author: Carlo Caione <[email protected]>
+ */
+
+/dts-v1/;
+
+#include "meson-gxl-s905w.dtsi"
+#include "meson-gx-p23x-q20x.dtsi"
+
+/ {
+	compatible = "oranth,tx3-mini", "amlogic,s905w", "amlogic,meson-gxl";
+	model = "Oranth Tanix TX3 Mini";
+
+	memory at 0 {
+		device_type = "memory";
+		reg = <0x0 0x0 0x0 0x40000000>; /* 1 GiB or 2 GiB */
+	};
+};
Signature · 1 line
2.18.0
maintainer
#12 lore raw

RFC 5/5 ARM64: dts: meson-gxl: add support for the Oranth Tanix TX3 Mini

Quoted 51 lines · Martin Blumenstingl

The Tanix TX3 Mini is a TV box based on the Amlogic S905W chipset. There are two variants:
- 1 GiB or 2 GiB of DDR3 memory
- 8 GB or 16 GB eMMC flash

Both variants come with:
- 802.11 b/g/n wifi (Silicon Valley Microelectronics SSV6051, does not support Bluetooth)
- an LED 7 segment display with an FD628 controller
- HDMI and AV (CVBS) output
- 2x USB (utilizing both USB ports provided by the SoC)
- micro SD card slot
- serial console (uart_AO) has to be soldered after opening the case

The board seems to be very similar to the P23x and Q20x reference boards, which is why it includes meson-gx-p23x-q20x.dtsi:
- eMMC reset routed to BOOT_9
- the SDIO wifi chip's reset line is routed to GPIOX_6 and the reference clock is 32.768KHz on PWM_E
- SD card detection is routed to CARD_6
- vqmmc of all MMC controllers is hard-wired to 1.8V (VDDIO_BOOT)
- uart_AO can be accessed after opening the case and soldering RX, TX and GND lines onto the exposed solder points (marked with RX, TX and GND)

---
 arch/arm64/boot/dts/amlogic/Makefile          |  1 +
 .../dts/amlogic/meson-gxl-s905w-tx3-mini.dts  | 22 +++++++++++++++++++
 2 files changed, 23 insertions(+)
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts
arch/arm64/boot/dts/amlogic/Makefile +1 -0
index 6de2e7f5a9cc..1b46affd376d 100644
@@ -18,6 +18,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb
arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts new file +1 -0
new file mode 100644
index 000000000000..08aca8346b72
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)

arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts line 11

Quoted 10 lines
arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts new file +10 -0
+/*
+ * Copyright (c) 2018 Martin Blumenstingl <[email protected]>.
+ * Based on meson-gxl-s905d-p231.dts:
+ * - Copyright (c) 2016 Endless Computers, Inc.
+ *   Author: Carlo Caione <[email protected]>
+ */
+
+/dts-v1/;
+
+#include "meson-gxl-s905w.dtsi"

Just use meson-gxl-s905x.dtsi

Kevin

Quoted 11 lines
arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts new file +11 -0
+#include "meson-gx-p23x-q20x.dtsi"
+
+/ {
+	compatible = "oranth,tx3-mini", "amlogic,s905w", "amlogic,meson-gxl";
+	model = "Oranth Tanix TX3 Mini";
+
+	memory at 0 {
+		device_type = "memory";
+		reg = <0x0 0x0 0x0 0x40000000>; /* 1 GiB or 2 GiB */
+	};
+};