Commit 49919eab authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'amlogic-dt' of...

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

ARM: dts: Amlogic updates for v4.20
- fix clock controller register sizes
- new board: Endless Mini (EC-100) by Endless Mobile
- add voltage regulators

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

:
  ARM: dts: meson8b: odroidc1: add stdout-path property
  ARM: dts: meson8b: odroidc1: enable the SAR ADC
  ARM: dts: meson8b: odroidc1: add the fixed voltage regulators
  ARM: dts: meson8b: odroidc1: add the CPU voltage regulator
  ARM: dts: meson8b: Add support for the Endless Mini (EC-100)
  ARM: dts: meson8b: add the RMII pins
  ARM: dts: meson8b: add the I2C_A, PWM_C and UART_B pins
  dt-bindings: arm: amlogic: Add the Endless Mobile Endless Mini (EC-100)
  dt-bindings: add vendor prefix for "Endless Mobile, Inc."
  ARM: dts: meson8b: fix the clock controller register size
  ARM: dts: meson8: fix the clock controller register size

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 262c083d 54ef8539
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ Board compatible values (alphabetically, grouped by SoC):

  - "minix,neo-x8" (Meson8)

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

+1 −0
Original line number Diff line number Diff line
@@ -114,6 +114,7 @@ elan Elan Microelectronic Corp.
embest	Shenzhen Embest Technology Co., Ltd.
emmicro	EM Microelectronic
emtrion	emtrion GmbH
endless	Endless Mobile, Inc.
energymicro	Silicon Laboratories (formerly Energy Micro AS)
engicam	Engicam S.r.l.
epcos	EPCOS AG
+1 −0
Original line number Diff line number Diff line
@@ -322,6 +322,7 @@ dtb-$(CONFIG_MACH_MESON6) += \
	meson6-atv1200.dtb
dtb-$(CONFIG_MACH_MESON8) += \
	meson8-minix-neo-x8.dtb \
	meson8b-ec100.dtb \
	meson8b-mxq.dtb \
	meson8b-odroidc1.dtb \
	meson8m2-mxiii-plus.dtb
+1 −1
Original line number Diff line number Diff line
@@ -194,7 +194,7 @@
		#clock-cells = <1>;
		#reset-cells = <1>;
		compatible = "amlogic,meson8-clkc";
		reg = <0x8000 0x4>, <0x4000 0x460>;
		reg = <0x8000 0x4>, <0x4000 0x400>;
	};

	reset: reset-controller@4404 {
+248 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

#include "meson8b.dtsi"

/ {
	model = "Endless Computers Endless Mini";
	compatible = "endless,ec100", "amlogic,meson8b";

	aliases {
		serial0 = &uart_AO;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	memory {
		reg = <0x40000000 0x40000000>;
	};

	gpio-keys {
		compatible = "gpio-keys-polled";
		#address-cells = <1>;
		#size-cells = <0>;
		poll-interval = <100>;

		pal-switch {
			label = "pal";
			linux,input-type = <EV_SW>;
			linux,code = <KEY_SWITCHVIDEOMODE>;
			gpios = <&gpio GPIOH_7 GPIO_ACTIVE_LOW>;
		};

		ntsc-switch {
			label = "ntsc";
			linux,input-type = <EV_SW>;
			linux,code = <KEY_SWITCHVIDEOMODE>;
			gpios = <&gpio GPIOH_8 GPIO_ACTIVE_HIGH>;
		};

		power-button {
			label = "power";
			linux,code = <KEY_POWER>;
			gpios = <&gpio GPIOH_9 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-poweroff {
		compatible = "gpio-poweroff";
		/*
		 * shutdown is managed by the EC (embedded micro-controller)
		 * which is configured through GPIOAO_2 (poweroff GPIO) and
		 * GPIOAO_7 (power LED, which has to go LOW as well).
		 */
		gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
		timeout-ms = <20000>;
	};

	leds {
		compatible = "gpio-leds";

		power {
			label = "ec100:red:power";
			/*
			 * Needs to go LOW (together with the poweroff GPIO)
			 * during shutdown to allow the EC (embedded
			 * micro-controller) to shutdown the system. Setting
			 * the output to LOW signals the EC to start a
			 * "breathing"/pulsing effect until the power is fully
			 * turned off.
			 */
			gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>;
			default-state = "on";
		};
	};

	usb_vbus: regulator-usb-vbus {
		compatible = "regulator-fixed";

		regulator-name = "USB_VBUS";

		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;

		gpio = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	vcc_5v: regulator-vcc5v {
		compatible = "regulator-fixed";

		regulator-name = "VCC5V";

		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;

		gpio = <&gpio GPIODV_29 GPIO_ACTIVE_LOW>;

		regulator-boot-on;
		regulator-always-on;
	};

	vcck: regulator-vcck {
		compatible = "pwm-regulator";

		regulator-name = "VCCK";
		regulator-min-microvolt = <860000>;
		regulator-max-microvolt = <1140000>;

		pwms = <&pwm_cd 0 1148 0>;
		pwm-dutycycle-range = <100 0>;

		regulator-boot-on;
		regulator-always-on;
	};

	vcc_1v8: regulator-vcc1v8 {
		compatible = "regulator-fixed";

		regulator-name = "VCC1V8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	vcc_3v3: regulator-vcc3v3 {
		compatible = "regulator-fixed";

		regulator-name = "VCC3V3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
};

&cpu0 {
	cpu-supply = <&vcck>;
};

&ethmac {
	status = "okay";

	pinctrl-0 = <&eth_rmii_pins>;
	pinctrl-names = "default";

	phy-handle = <&eth_phy0>;
	phy-mode = "rmii";

	snps,reset-gpio = <&gpio GPIOH_4 0>;
	snps,reset-delays-us = <0 10000 1000000>;
	snps,reset-active-low;

	mdio {
		compatible = "snps,dwmac-mdio";
		#address-cells = <1>;
		#size-cells = <0>;

		eth_phy0: ethernet-phy@0 {
			/* IC Plus IP101A/G (0x02430c54) */
			reg = <0>;
		};
	};
};

&i2c_A {
	status = "okay";
	pinctrl-0 = <&i2c_a_pins>;
	pinctrl-names = "default";

	rt5640: codec@1c {
		compatible = "realtek,rt5640";
		reg = <0x1c>;
		interrupt-parent = <&gpio_intc>;
		interrupts = <13 IRQ_TYPE_EDGE_BOTH>; /* GPIOAO_13 */
		realtek,in1-differential;
	};
};

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

&sdio {
	status = "okay";

	pinctrl-0 = <&sd_b_pins>;
	pinctrl-names = "default";

	/* SD card */
	sd_card_slot: slot@1 {
		compatible = "mmc-slot";
		reg = <1>;
		status = "okay";

		bus-width = <4>;
		no-sdio;
		cap-mmc-highspeed;
		cap-sd-highspeed;
		disable-wp;

		cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
		cd-inverted;

		vmmc-supply = <&vcc_3v3>;
	};
};

&pwm_cd {
	status = "okay";
	pinctrl-0 = <&pwm_c1_pins>;
	pinctrl-names = "default";
	clocks = <&clkc CLKID_XTAL>;
	clock-names = "clkin0";
};

/* exposed through the pin headers labeled "URDUG1" on the top of the PCB */
&uart_AO {
	status = "okay";
	pinctrl-0 = <&uart_ao_a_pins>;
	pinctrl-names = "default";
};

/*
 * connected to the Bluetooth part of the RTL8723BS SDIO wifi / Bluetooth
 * combo chip. This is only available on the variant with 2GB RAM.
 */
&uart_B {
	status = "okay";
	pinctrl-0 = <&uart_b0_pins>, <&uart_b0_cts_rts_pins>;
	pinctrl-names = "default";
	uart-has-rtscts;
};

&usb1 {
	status = "okay";
	vbus-supply = <&usb_vbus>;
};

&usb1_phy {
	status = "okay";
};
Loading