Commit 88657e90 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'amlogic-dt64-1' of...

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

Amlogic 64-bit DT updates for v4.19
- new SoC: S805x
- new board: S805x-based P241 board from Amlogic
- AXG: add ADC support w/buttons, add pins for PDM, SPDIF
- AXG: s400 board: preliminary support for audio
- GX: nanopi-k2: add HDMI, CEC, CVBS support

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

:
  ARM64: dts: meson-axg: add pdm pins
  ARM64: dts: meson-axg: add spdif input pins
  ARM64: dts: meson-axg: remove spdif out from gpio a7
  ARM64: dts: meson-axg: add adc buttons the S400
  ARM64: dts: meson-axg: remove vddio_ao18 from SoC dtsi
  ARM64: dts: meson-axg: add saradc support
  ARM64: dts: add S805X based P241 board
  dt-bindings: amlogic: Add support for GXL S805X and the P241 board
  ARM64: dts: amlogic: Add missing cooling device properties for CPUs
  ARM64: dts: meson-axg: add spdif output pins
  ARM64: dts: meson-axg: add s400 speaker amplifier
  ARM64: dts: meson-axg: add s400 main 12v supply
  ARM64: dts: meson-axg: add s400 microphone card leds
  ARM64: dts: meson-gxbb-nanopi-k2: Add HDMI, CEC and CVBS nodes
  ARM64: dts: meson-gx-p23x-q20x: move the wifi node to each board's .dts
  ARM64: dts: meson: enable the saradc node in meson-gx-p23x-q20x.dtsi

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 2ec46892 89803e8b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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 S805X SoC shall have the following properties:
  Required root node property:
    compatible: "amlogic,s805x", "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,p241" (Meson gxl s805x)

  - "amlogic,q200" (Meson gxm s912)
  - "amlogic,q201" (Meson gxm s912)
  - "khadas,vim2" (Meson gxm s912)
+1 −0
Original line number Diff line number Diff line
@@ -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-s805x-p241.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
+111 −0
Original line number Diff line number Diff line
@@ -6,16 +6,67 @@
/dts-v1/;

#include "meson-axg.dtsi"
#include <dt-bindings/input/input.h>

/ {
	compatible = "amlogic,s400", "amlogic,a113d", "amlogic,meson-axg";
	model = "Amlogic Meson AXG S400 Development Board";

	adc_keys {
		compatible = "adc-keys";
		io-channels = <&saradc 0>;
		io-channel-names = "buttons";
		keyup-threshold-microvolt = <1800000>;

		button-next {
			label = "Next";
			linux,code = <KEY_NEXT>;
			press-threshold-microvolt = <1116000>; /* 62% */
		};

		button-prev {
			label = "Previous";
			linux,code = <KEY_PREVIOUS>;
			press-threshold-microvolt = <900000>; /* 50% */
		};

		button-wifi {
			label = "Wifi";
			linux,code = <KEY_WLAN>;
			press-threshold-microvolt = <684000>; /* 38% */
		};

		button-up {
			label = "Volume Up";
			linux,code = <KEY_VOLUMEUP>;
			press-threshold-microvolt = <468000>; /* 26% */
		};

		button-down {
			label = "Volume Down";
			linux,code = <KEY_VOLUMEDOWN>;
			press-threshold-microvolt = <252000>; /* 14% */
		};

		button-voice {
			label = "Voice";
			linux,code = <KEY_VOICECOMMAND>;
			press-threshold-microvolt = <0>; /* 0% */
		};
	};

	aliases {
		serial0 = &uart_AO;
		serial1 = &uart_A;
	};

	main_12v: regulator-main_12v {
		compatible = "regulator-fixed";
		regulator-name = "12V";
		regulator-min-microvolt = <12000000>;
		regulator-max-microvolt = <12000000>;
	};

	vddio_boot: regulator-vddio_boot {
		compatible = "regulator-fixed";
		regulator-name = "VDDIO_BOOT";
@@ -62,6 +113,40 @@
		clock-frequency = <32768>;
		pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
	};

	speaker-leds {
		compatible = "gpio-leds";

		aled1 {
			label = "speaker:aled1";
			gpios = <&gpio_speaker 7 0>;
		};

		aled2 {
			label = "speaker:aled2";
			gpios = <&gpio_speaker 6 0>;
		};

		aled3 {
			label = "speaker:aled3";
			gpios = <&gpio_speaker 5 0>;
		};

		aled4 {
			label = "speaker:aled4";
			gpios = <&gpio_speaker 4 0>;
		};

		aled5 {
			label = "speaker:aled5";
			gpios = <&gpio_speaker 3 0>;
		};

		aled6 {
			label = "speaker:aled6";
			gpios = <&gpio_speaker 2 0>;
		};
	};
};

&ethmac {
@@ -106,12 +191,33 @@
	status = "okay";
	pinctrl-0 = <&i2c1_z_pins>;
	pinctrl-names = "default";

	speaker_amp1: audio-codec@1b {
		compatible = "ti,tas5707";
		reg = <0x1b>;
		reset-gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>;
		#sound-dai-cells = <0>;
		AVDD-supply = <&vcc_3v3>;
		DVDD-supply = <&vcc_3v3>;
		PVDD_A-supply = <&main_12v>;
		PVDD_B-supply = <&main_12v>;
		PVDD_C-supply = <&main_12v>;
		PVDD_D-supply = <&main_12v>;
	};
};

&i2c_AO {
	status = "okay";
	pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
	pinctrl-names = "default";

	gpio_speaker: gpio-controller@1f {
		compatible = "nxp,pca9557";
		reg = <0x1f>;
		gpio-controller;
		#gpio-cells = <2>;
		vcc-supply = <&vddao_3v3>;
	};
};

&pwm_ab {
@@ -166,3 +272,8 @@
		compatible = "brcm,bcm4329-fmac";
	};
};

&saradc {
	status = "okay";
	vref-supply = <&vddio_ao18>;
};
+126 −0
Original line number Diff line number Diff line
@@ -477,6 +477,48 @@
					};
				};

				pdm_dclk_a14_pins: pdm_dclk_a14 {
					mux {
						groups = "pdm_dclk_a14";
						function = "pdm";
					};
				};

				pdm_dclk_a19_pins: pdm_dclk_a19 {
					mux {
						groups = "pdm_dclk_a19";
						function = "pdm";
					};
				};

				pdm_din0_pins: pdm_din0 {
					mux {
						groups = "pdm_din0";
						function = "pdm";
					};
				};

				pdm_din1_pins: pdm_din1 {
					mux {
						groups = "pdm_din1";
						function = "pdm";
					};
				};

				pdm_din2_pins: pdm_din2 {
					mux {
						groups = "pdm_din2";
						function = "pdm";
					};
				};

				pdm_din3_pins: pdm_din3 {
					mux {
						groups = "pdm_din3";
						function = "pdm";
					};
				};

				pwm_a_a_pins: pwm_a_a {
					mux {
						groups = "pwm_a_a";
@@ -561,6 +603,76 @@
					};
				};

				spdif_in_z_pins: spdif_in_z {
					mux {
						groups = "spdif_in_z";
						function = "spdif_in";
					};
				};

				spdif_in_a1_pins: spdif_in_a1 {
					mux {
						groups = "spdif_in_a1";
						function = "spdif_in";
					};
				};

				spdif_in_a7_pins: spdif_in_a7 {
					mux {
						groups = "spdif_in_a7";
						function = "spdif_in";
					};
				};

				spdif_in_a19_pins: spdif_in_a19 {
					mux {
						groups = "spdif_in_a19";
						function = "spdif_in";
					};
				};

				spdif_in_a20_pins: spdif_in_a20 {
					mux {
						groups = "spdif_in_a20";
						function = "spdif_in";
					};
				};

				spdif_out_z_pins: spdif_out_z {
					mux {
						groups = "spdif_out_z";
						function = "spdif_out";
					};
				};

				spdif_out_a1_pins: spdif_out_a1 {
					mux {
						groups = "spdif_out_a1";
						function = "spdif_out";
					};
				};

				spdif_out_a11_pins: spdif_out_a11 {
					mux {
						groups = "spdif_out_a11";
						function = "spdif_out";
					};
				};

				spdif_out_a19_pins: spdif_out_a19 {
					mux {
						groups = "spdif_out_a19";
						function = "spdif_out";
					};
				};

				spdif_out_a20_pins: spdif_out_a20 {
					mux {
						groups = "spdif_out_a20";
						function = "spdif_out";
					};
				};

				spi0_pins: spi0 {
					mux {
						groups = "spi0_miso",
@@ -1194,6 +1306,20 @@
				interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
				status = "disabled";
			};

			saradc: adc@9000 {
				compatible = "amlogic,meson-axg-saradc",
					"amlogic,meson-saradc";
				reg = <0x0 0x9000 0x0 0x38>;
				#io-channel-cells = <1>;
				interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
				clocks = <&xtal>,
					<&clkc_AO CLKID_AO_SAR_ADC>,
					<&clkc_AO CLKID_AO_SAR_ADC_CLK>,
					<&clkc_AO CLKID_AO_SAR_ADC_SEL>;
				clock-names = "clkin", "core", "adc_clk", "adc_sel";
				status = "disabled";
			};
		};
	};
};
+12 −5
Original line number Diff line number Diff line
@@ -35,6 +35,13 @@
		regulator-always-on;
	};

	vddio_ao18: regulator-vddio_ao18 {
		compatible = "regulator-fixed";
		regulator-name = "VDDIO_AO18";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	vddio_boot: regulator-vddio_boot {
		compatible = "regulator-fixed";
		regulator-name = "VDDIO_BOOT";
@@ -140,6 +147,11 @@
	clock-names = "clkin0";
};

&saradc {
	status = "okay";
	vref-supply = <&vddio_ao18>;
};

/* Wireless SDIO Module */
&sd_emmc_a {
	status = "okay";
@@ -160,11 +172,6 @@

	vmmc-supply = <&vddao_3v3>;
	vqmmc-supply = <&vddio_boot>;

	brcmf: wifi@1 {
		reg = <1>;
		compatible = "brcm,bcm4329-fmac";
	};
};

/* SD card */
Loading