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

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
......@@ -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)
......
......@@ -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
......
......@@ -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
......
......@@ -194,7 +194,7 @@ clkc: clock-controller@4000 {
#clock-cells = <1>;
#reset-cells = <1>;
compatible = "amlogic,meson8-clkc";
reg = <0x8000 0x4>, <0x4000 0x460>;
reg = <0x8000 0x4>, <0x4000 0x400>;
};
reset: reset-controller@4404 {
......
// 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";
};
......@@ -57,6 +57,10 @@ aliases {
mmc0 = &sd_card_slot;
};
chosen {
stdout-path = "serial0:115200n8";
};
memory {
reg = <0x40000000 0x40000000>;
};
......@@ -71,6 +75,14 @@ blue {
};
};
p5v0: regulator-p5v0 {
compatible = "regulator-fixed";
regulator-name = "P5V0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
tflash_vdd: regulator-tflash_vdd {
/*
* signal name from schematics: TFLASH_VDD_EN
......@@ -81,6 +93,8 @@ tflash_vdd: regulator-tflash_vdd {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vcc_3v3>;
gpio = <&gpio GPIOY_12 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
......@@ -92,6 +106,8 @@ tf_io: gpio-regulator-tf_io {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vcc_3v3>;
/*
* signal name from schematics: TF_3V3N_1V8_EN
*/
......@@ -101,6 +117,86 @@ tf_io: gpio-regulator-tf_io {
states = <3300000 0
1800000 1>;
};
vcc_1v8: regulator-vcc-1v8 {
/*
* RICHTEK RT9179 configured for a fixed output voltage of
* 1.8V. This supplies not only VCC1V8 but also IOREF_1V8 and
* VDD1V8 according to the schematics.
*/
compatible = "regulator-fixed";
regulator-name = "VCC1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&p5v0>;
};
vcc_3v3: regulator-vcc-3v3 {
/*
* Monolithic Power Systems MP2161 configured for a fixed
* output voltage of 3.3V. This supplies not only VCC3V3 but
* also VDD3V3 and VDDIO_AO3V3 according to the schematics.
*/
compatible = "regulator-fixed";
regulator-name = "VCC3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&p5v0>;
};
vcck: regulator-vcck {
/* Monolithic Power Systems MP2161 */
compatible = "pwm-regulator";
regulator-name = "VCCK";
regulator-min-microvolt = <860000>;
regulator-max-microvolt = <1140000>;
vin-supply = <&p5v0>;
pwms = <&pwm_cd 0 12218 0>;
pwm-dutycycle-range = <91 0>;
regulator-boot-on;
regulator-always-on;
};
vddc_ddr: regulator-vddc-ddr {
/*
* Monolithic Power Systems MP2161 configured for a fixed
* output voltage of 1.5V. This supplies not only DDR_VDDC but
* also DDR3_1V5 according to the schematics.
*/
compatible = "regulator-fixed";
regulator-name = "DDR_VDDC";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
vin-supply = <&p5v0>;
};
vdd_rtc: regulator-vdd-rtc {
/*
* Torex Semiconductor XC6215 configured for a fixed output of
* 0.9V.
*/
compatible = "regulator-fixed";
regulator-name = "VDD_RTC";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
vin-supply = <&vcc_3v3>;
};
};
&cpu0 {
cpu-supply = <&vcck>;
};
&ethmac {
......@@ -154,6 +250,11 @@ &ir_receiver {
pinctrl-names = "default";
};
&saradc {
status = "okay";
vref-supply = <&vcc_1v8>;
};
&sdio {
status = "okay";
......@@ -180,6 +281,14 @@ sd_card_slot: slot@1 {
};
};
&pwm_cd {
status = "okay";
pinctrl-0 = <&pwm_c1_pins>;
pinctrl-names = "default";
clocks = <&clkc CLKID_XTAL>;
clock-names = "clkin0";
};
&uart_AO {
status = "okay";
pinctrl-0 = <&uart_ao_a_pins>;
......
......@@ -163,7 +163,7 @@ clkc: clock-controller@4000 {
#clock-cells = <1>;
#reset-cells = <1>;
compatible = "amlogic,meson8b-clkc";
reg = <0x8000 0x4>, <0x4000 0x460>;
reg = <0x8000 0x4>, <0x4000 0x400>;
};
reset: reset-controller@4404 {
......@@ -223,6 +223,28 @@ mux {
};
};
eth_rmii_pins: eth-rmii {
mux {
groups = "eth_tx_en",
"eth_txd1_0",
"eth_txd0_0",
"eth_rx_clk",
"eth_rx_dv",
"eth_rxd1",
"eth_rxd0",
"eth_mdio_en",
"eth_mdc";
function = "ethernet";
};
};
i2c_a_pins: i2c-a {
mux {
groups = "i2c_sda_a", "i2c_sck_a";
function = "i2c_a";
};
};
sd_b_pins: sd-b {
mux {
groups = "sd_d0_b", "sd_d1_b", "sd_d2_b",
......@@ -230,6 +252,29 @@ mux {
function = "sd_b";
};
};
pwm_c1_pins: pwm-c1 {
mux {
groups = "pwm_c1";
function = "pwm_c";
};
};
uart_b0_pins: uart-b0 {
mux {
groups = "uart_tx_b0",
"uart_rx_b0";
function = "uart_b";
};
};
uart_b0_cts_rts_pins: uart-b0-cts-rts {
mux {
groups = "uart_cts_b0",
"uart_rts_b0";
function = "uart_b";
};
};
};
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment