Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d78cda5a authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'amlogic-dt64' of...

Merge tag 'amlogic-dt64' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

arm64: dts: Amlogic updates for v5.3

Highlights:
- new SoC: S922X (G12B family, A73/A53 big.LITTLE)
- new board: Hardkernel odroid-N2 (SoC: G12B S922X)
- add/use ethernet PHY interrupt/reset lines
- G12A: add/enable audio, PWM, IR, i2c, SD/eMMC, WiFi, bluetooth, network
- gxbb-vega-s95 board: fix WiFi/BT, enable more peripherals

* tag 'amlogic-dt64' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic

: (79 commits)
  arm64: dts: meson: g12a: x96-max: add the Ethernet PHY interrupt line
  arm64: dts: meson: g12b: odroid-n2: add the Ethernet PHY interrupt line
  arm64: dts: meson: g12b: odroid-n2: add the Ethernet PHY reset line
  arm64: dts: meson: use the generic Ethernet PHY reset GPIO bindings
  arm64: dts: meson: g12a: x96-max: fix the Ethernet PHY reset line
  arm64: dts: meson: g12a: sort sdio nodes correctly
  arm64: dts: meson-g12a-x96-max: add sound card
  arm64: dts: meson-g12b-odroid-n2: add sound card
  arm64: dts: meson: sei510: add sound card
  arm64: dts: meson: sei510: add max98357a DAC
  ASoC: meson: add tohdmitx DT bindings
  arm64: dts: meson: g12a: add the GPIO interrupt controller
  arm64: dts: meson-g12a-x96-max: bump bluetooth bus speed to 2Mbaud/s
  arm64: dts: meson-g12a-sei510: bump bluetooth bus speed to 2Mbaud/s
  arm64: dts: meson-g12a-x96-max: add 32k clock to bluetooth node
  arm64: dts: meson-g12a-sei510: add 32k clock to bluetooth node
  arm64: dts: meson-g12a-sei510: Enable Wifi SDIO module
  arm64: dts: meson-g12a-x96-max: Enable Wifi SDIO Module
  arm64: dts: meson-g12a-x96-max: add support for sdcard and emmc
  arm64: dts: meson: g12a: add SDIO controller
  ...

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 37937ee7 50b617a6
Loading
Loading
Loading
Loading
+0 −142
Original line number Diff line number Diff line
Amlogic MesonX device tree bindings
-------------------------------------------

Work in progress statement:

Device tree files and bindings applying to Amlogic SoCs and boards are
considered "unstable". Any Amlogic device tree binding may change at
any time. Be sure to use a device tree binary and a kernel image
generated from the same source tree.

Please refer to Documentation/devicetree/bindings/ABI.txt for a definition of a
stable binding/ABI.

---------------------------------------------------------------

Boards with the Amlogic Meson6 SoC shall have the following properties:
  Required root node property:
    compatible: "amlogic,meson6"

Boards with the Amlogic Meson8 SoC shall have the following properties:
  Required root node property:
    compatible: "amlogic,meson8";

Boards with the Amlogic Meson8b SoC shall have the following properties:
  Required root node property:
    compatible: "amlogic,meson8b";

Boards with the Amlogic Meson8m2 SoC shall have the following properties:
  Required root node property:
    compatible: "amlogic,meson8m2";

Boards with the Amlogic Meson GXBaby SoC shall have the following properties:
  Required root node property:
    compatible: "amlogic,meson-gxbb";

Boards with the Amlogic Meson GXL S905X SoC shall have the following properties:
  Required root node property:
    compatible: "amlogic,s905x", "amlogic,meson-gxl";

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 S805X SoC shall have the following properties:
  Required root node property:
    compatible: "amlogic,s805x", "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";

Boards with the Amlogic Meson AXG A113D SoC shall have the following properties:
  Required root node property:
    compatible: "amlogic,a113d", "amlogic,meson-axg";

Boards with the Amlogic Meson G12A S905D2 SoC shall have the following properties:
  Required root node property:
    compatible: "amlogic,g12a";

Board compatible values (alphabetically, grouped by SoC):

  - "geniatech,atv1200" (Meson6)

  - "minix,neo-x8" (Meson8)

  - "endless,ec100" (Meson8b)
  - "hardkernel,odroid-c1" (Meson8b)
  - "tronfy,mxq" (Meson8b)

  - "tronsmart,mxiii-plus" (Meson8m2)

  - "amlogic,p200" (Meson gxbb)
  - "amlogic,p201" (Meson gxbb)
  - "friendlyarm,nanopi-k2" (Meson gxbb)
  - "hardkernel,odroid-c2" (Meson gxbb)
  - "nexbox,a95x" (Meson gxbb or Meson gxl s905x)
  - "tronsmart,vega-s95-pro", "tronsmart,vega-s95" (Meson gxbb)
  - "tronsmart,vega-s95-meta", "tronsmart,vega-s95" (Meson gxbb)
  - "tronsmart,vega-s95-telos", "tronsmart,vega-s95" (Meson gxbb)
  - "wetek,hub" (Meson gxbb)
  - "wetek,play2" (Meson gxbb)

  - "amlogic,p212" (Meson gxl s905x)
  - "hwacom,amazetv" (Meson gxl s905x)
  - "khadas,vim" (Meson gxl s905x)
  - "libretech,cc" (Meson gxl s905x)

  - "amlogic,p230" (Meson gxl s905d)
  - "amlogic,p231" (Meson gxl s905d)
  - "phicomm,n1" (Meson gxl s905d)

  - "amlogic,p241" (Meson gxl s805x)
  - "libretech,aml-s805x-ac" (Meson gxl s805x)

  - "amlogic,p281" (Meson gxl s905w)
  - "oranth,tx3-mini" (Meson gxl s905w)

  - "amlogic,q200" (Meson gxm s912)
  - "amlogic,q201" (Meson gxm s912)
  - "khadas,vim2" (Meson gxm s912)
  - "kingnovel,r-box-pro" (Meson gxm S912)
  - "nexbox,a1" (Meson gxm s912)
  - "tronsmart,vega-s96" (Meson gxm s912)

  - "amlogic,s400" (Meson axg a113d)

  - "amlogic,u200" (Meson g12a s905d2)
  - "amediatech,x96-max" (Meson g12a s905x2)
  - "seirobotics,sei510" (Meson g12a s905x2)

Amlogic Meson Firmware registers Interface
------------------------------------------

The Meson SoCs have a register bank with status and data shared with the
secure firmware.

Required properties:
 - compatible: For Meson GX SoCs, must be "amlogic,meson-gx-ao-secure", "syscon"

Properties should indentify components of this register interface :

Meson GX SoC Information
------------------------
A firmware register encodes the SoC type, package and revision information on
the Meson GX SoCs.
If present, the following property should be added :

Optional properties:
  - amlogic,has-chip-id: If present, the interface gives the current SoC version.

Example
-------

ao-secure@140 {
	compatible = "amlogic,meson-gx-ao-secure", "syscon";
	reg = <0x0 0x140 0x0 0x140>;
	amlogic,has-chip-id;
};
+144 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/amlogic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic MesonX device tree bindings

maintainers:
  - Kevin Hilman <khilman@baylibre.com>

description: |+
  Work in progress statement:

  Device tree files and bindings applying to Amlogic SoCs and boards are
  considered "unstable". Any Amlogic device tree binding may change at
  any time. Be sure to use a device tree binary and a kernel image
  generated from the same source tree.

  Please refer to Documentation/devicetree/bindings/ABI.txt for a definition of a
  stable binding/ABI.

properties:
  $nodename:
    const: '/'
  compatible:
    oneOf:
      - description: Boards with the Amlogic Meson6 SoC
        items:
          - enum:
              - geniatech,atv1200
          - const: amlogic,meson6

      - description: Boards with the Amlogic Meson8 SoC
        items:
          - enum:
              - minix,neo-x8
          - const: amlogic,meson8

      - description: Boards with the Amlogic Meson8m2 SoC
        items:
          - enum:
              - tronsmart,mxiii-plus
          - const: amlogic,meson8m2

      - description: Boards with the Amlogic Meson8b SoC
        items:
          - enum:
              - endless,ec100
              - hardkernel,odroid-c1
              - tronfy,mxq
          - const: amlogic,meson8b

      - description: Boards with the Amlogic Meson GXBaby SoC
        items:
          - enum:
              - amlogic,p200
              - amlogic,p201
              - friendlyarm,nanopi-k2
              - hardkernel,odroid-c2
              - nexbox,a95x
              - wetek,hub
              - wetek,play2
          - const: amlogic,meson-gxbb

      - description: Tronsmart Vega S95 devices
        items:
          - enum:
              - tronsmart,vega-s95-pro
              - tronsmart,vega-s95-meta
              - tronsmart,vega-s95-telos
          - const: tronsmart,vega-s95
          - const: amlogic,meson-gxbb

      - description: Boards with the Amlogic Meson GXL S805X SoC
        items:
          - enum:
              - amlogic,p241
              - libretech,aml-s805x-ac
          - const: amlogic,s805x
          - const: amlogic,meson-gxl

      - description: Boards with the Amlogic Meson GXL S905W SoC
        items:
          - enum:
              - amlogic,p281
              - oranth,tx3-mini
          - const: amlogic,s905w
          - const: amlogic,meson-gxl

      - description: Boards with the Amlogic Meson GXL S905X SoC
        items:
          - enum:
              - amediatech,x96-max
              - amlogic,p212
              - hwacom,amazetv
              - khadas,vim
              - libretech,cc
              - nexbox,a95x
              - seirobotics,sei510
          - const: amlogic,s905x
          - const: amlogic,meson-gxl

      - description: Boards with the Amlogic Meson GXL S905D SoC
        items:
          - enum:
              - amlogic,p230
              - amlogic,p231
              - phicomm,n1
          - const: amlogic,s905d
          - const: amlogic,meson-gxl

      - description: Boards with the Amlogic Meson GXM S912 SoC
        items:
          - enum:
              - amlogic,q200
              - amlogic,q201
              - khadas,vim2
              - kingnovel,r-box-pro
              - nexbox,a1
              - tronsmart,vega-s96
          - const: amlogic,s912
          - const: amlogic,meson-gxm

      - description: Boards with the Amlogic Meson AXG A113D SoC
        items:
          - enum:
              - amlogic,s400
          - const: amlogic,a113d
          - const: amlogic,meson-axg

      - description: Boards with the Amlogic Meson G12A S905D2 SoC
        items:
          - enum:
              - amlogic,u200
          - const: amlogic,g12a

      - description: Boards with the Amlogic Meson G12B S922X SoC
        items:
          - enum:
              - hardkernel,odroid-n2
          - const: amlogic,g12b

...
+28 −0
Original line number Diff line number Diff line
Amlogic Meson Firmware registers Interface
------------------------------------------

The Meson SoCs have a register bank with status and data shared with the
secure firmware.

Required properties:
 - compatible: For Meson GX SoCs, must be "amlogic,meson-gx-ao-secure", "syscon"

Properties should indentify components of this register interface :

Meson GX SoC Information
------------------------
A firmware register encodes the SoC type, package and revision information on
the Meson GX SoCs.
If present, the following property should be added :

Optional properties:
  - amlogic,has-chip-id: If present, the interface gives the current SoC version.

Example
-------

ao-secure@140 {
	compatible = "amlogic,meson-gx-ao-secure", "syscon";
	reg = <0x0 0x140 0x0 0x140>;
	amlogic,has-chip-id;
};
+55 −0
Original line number Diff line number Diff line
* Amlogic HDMI Tx control glue

Required properties:
- compatible: "amlogic,g12a-tohdmitx"
- reg: physical base address of the controller and length of memory
       mapped region.
- #sound-dai-cells: should be 1.

Example on the S905X2 SoC:

tohdmitx: audio-controller@744 {
	compatible = "amlogic,g12a-tohdmitx";
	reg = <0x0 0x744 0x0 0x4>;
	#sound-dai-cells = <1>;
};

Example of an 'amlogic,axg-sound-card':

sound {
	compatible = "amlogic,axg-sound-card";

[...]

	dai-link-x {
		sound-dai = <&tdmif_a>;
		dai-format = "i2s";
		dai-tdm-slot-tx-mask-0 = <1 1>;

		codec-0 {
			sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
		};

		codec-1 {
			sound-dai = <&external_dac>;
		};
	};

	dai-link-y {
		sound-dai = <&tdmif_c>;
		dai-format = "i2s";
		dai-tdm-slot-tx-mask-0 = <1 1>;

		codec {
			sound-dai = <&tohdmitx TOHDMITX_I2S_IN_C>;
		};
	};

	dai-link-z {
		sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;

		codec {
			sound-dai = <&hdmi_tx>;
		};
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb
Loading