mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 08:03:01 +09:00
Pull pin control updates from Linus Walleij:
"We have some patches to DTS[I] files in arm and arm64 as well, that
were merged here as DT headers were being changed.
The most interesting stuff is the Intel Tangier chip support and
AMLogic C3 in my opinion.
No core changes this time.
Drivers:
- Intel Tangier SoC pin control support
- AMLogic C3 SoC pin control support
- Texas Instruments AM654 SoC pin control support
- Qualcomm SM8350 and SM6115 LPASS (Low Power Audio Sub-System) pin
control support
- Qualcomm PMX75 and PM7550BA (Power Management) pin control support
- Qualcomm PMC8180 and PMC8180C (Power Management) pin control
support
- DROP the Oxnas driver as there is not enough of community interest
to keep carrying this ARM(11) port
Enhancements:
- Bias control in the MT7986 pin control driver
- Misc device tree binding enhancements such as the Broadcom 11351
being converted to YAML
- New macro: DEFINE_NOIRQ_DEV_PM_OPS() put to use
- Clean up some SPDX headers
- Handle non-unique devicetree subnode names in two Renesas drivers"
* tag 'pinctrl-v6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (80 commits)
pinctrl: mlxbf3: Remove gpio_disable_free()
pinctrl: use capital "OR" for multiple licenses in SPDX
dt-bindings: pinctrl: renesas,rza2: Use 'additionalProperties' for child nodes
pinctrl: cherryview: fix address_space_handler() argument
pinctrl: intel: consolidate ACPI dependency
pinctrl: tegra: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper
pinctrl: renesas: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper
pinctrl: mvebu: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper
pinctrl: at91: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper
pinctrl: cherryview: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper
pm: Introduce DEFINE_NOIRQ_DEV_PM_OPS() helper
pinctrl: mediatek: assign functions to configure pin bias on MT7986
pinctrl: mediatek: fix pull_type data for MT7981
dt-bindings: pinctrl: aspeed: Allow only defined pin mux node properties
dt-bindings: pinctrl: Drop 'phandle' properties
pinctrl: lynxpoint: Make use of pm_ptr()
pinctrl: baytrail: Make use of pm_ptr()
pinctrl: intel: Switch to use exported namespace
pinctrl: lynxpoint: reuse common functions from pinctrl-intel
pinctrl: cherryview: reuse common functions from pinctrl-intel
...
723 lines
15 KiB
Plaintext
723 lines
15 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Copyright (c) 2022 Neil Armstrong <neil.armstrong@linaro.org>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "meson-g12b-s922x.dtsi"
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
|
#include <dt-bindings/sound/meson-g12a-toacodec.h>
|
|
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
|
|
|
/ {
|
|
compatible = "hardkernel,odroid-go-ultra", "amlogic,s922x", "amlogic,g12b";
|
|
model = "Hardkernel ODROID-GO-Ultra";
|
|
|
|
aliases {
|
|
serial0 = &uart_AO;
|
|
rtc0 = &vrtc;
|
|
};
|
|
|
|
adc-joystick-left {
|
|
compatible = "adc-joystick";
|
|
io-channels = <&saradc 2>, <&saradc 3>;
|
|
poll-interval = <10>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
axis@0 {
|
|
reg = <0>;
|
|
linux,code = <ABS_Y>;
|
|
abs-range = <3150 950>;
|
|
abs-fuzz = <32>;
|
|
abs-flat = <64>;
|
|
};
|
|
axis@1 {
|
|
reg = <1>;
|
|
linux,code = <ABS_X>;
|
|
abs-range = <700 2900>;
|
|
abs-fuzz = <32>;
|
|
abs-flat = <64>;
|
|
};
|
|
};
|
|
|
|
adc-joystick-right {
|
|
compatible = "adc-joystick";
|
|
io-channels = <&saradc 0>, <&saradc 1>;
|
|
poll-interval = <10>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
axis@0 {
|
|
reg = <0>;
|
|
linux,code = <ABS_RY>;
|
|
abs-range = <3150 950>;
|
|
abs-fuzz = <32>;
|
|
abs-flat = <64>;
|
|
};
|
|
axis@1 {
|
|
reg = <1>;
|
|
linux,code = <ABS_RX>;
|
|
abs-range = <800 3000>;
|
|
abs-fuzz = <32>;
|
|
abs-flat = <64>;
|
|
};
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
codec_clk: codec-clk {
|
|
compatible = "fixed-clock";
|
|
clock-frequency = <12288000>;
|
|
clock-output-names = "codec_clk";
|
|
#clock-cells = <0>;
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys-polled";
|
|
poll-interval = <10>;
|
|
pinctrl-0 = <&keypad_gpio_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
volume-up-button {
|
|
label = "VOLUME-UP";
|
|
linux,code = <KEY_VOLUMEUP>;
|
|
gpios = <&gpio GPIOX_8 GPIO_ACTIVE_LOW>;
|
|
};
|
|
volume-down-button {
|
|
label = "VOLUME-DOWN";
|
|
linux,code = <KEY_VOLUMEDOWN>;
|
|
gpios = <&gpio GPIOX_9 GPIO_ACTIVE_LOW>;
|
|
};
|
|
dpad-up-button {
|
|
label = "DPAD-UP";
|
|
linux,code = <BTN_DPAD_UP>;
|
|
gpios = <&gpio GPIOX_0 GPIO_ACTIVE_LOW>;
|
|
};
|
|
dpad-down-button {
|
|
label = "DPAD-DOWN";
|
|
linux,code = <BTN_DPAD_DOWN>;
|
|
gpios = <&gpio GPIOX_1 GPIO_ACTIVE_LOW>;
|
|
};
|
|
dpad-left-button {
|
|
label = "DPAD-LEFT";
|
|
linux,code = <BTN_DPAD_LEFT>;
|
|
gpios = <&gpio GPIOX_2 GPIO_ACTIVE_LOW>;
|
|
};
|
|
dpad-right-button {
|
|
label = "DPAD-RIGHT";
|
|
linux,code = <BTN_DPAD_RIGHT>;
|
|
gpios = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>;
|
|
};
|
|
a-button {
|
|
label = "A";
|
|
linux,code = <BTN_EAST>;
|
|
gpios = <&gpio GPIOX_4 GPIO_ACTIVE_LOW>;
|
|
};
|
|
b-button {
|
|
label = "B";
|
|
linux,code = <BTN_SOUTH>;
|
|
gpios = <&gpio GPIOX_5 GPIO_ACTIVE_LOW>;
|
|
};
|
|
y-button {
|
|
label = "Y";
|
|
linux,code = <BTN_WEST>;
|
|
gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
|
|
};
|
|
x-button {
|
|
label = "X";
|
|
linux,code = <BTN_NORTH>;
|
|
gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
|
|
};
|
|
f1-button {
|
|
label = "F1";
|
|
linux,code = <BTN_TRIGGER_HAPPY1>;
|
|
gpios = <&gpio GPIOX_17 GPIO_ACTIVE_LOW>;
|
|
};
|
|
f2-button {
|
|
label = "F2";
|
|
linux,code = <BTN_TRIGGER_HAPPY2>;
|
|
gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>;
|
|
};
|
|
f3-button {
|
|
label = "F3";
|
|
linux,code = <BTN_TRIGGER_HAPPY3>;
|
|
gpios = <&gpio GPIOX_11 GPIO_ACTIVE_LOW>;
|
|
};
|
|
f4-button {
|
|
label = "F4";
|
|
linux,code = <BTN_TRIGGER_HAPPY4>;
|
|
gpios = <&gpio GPIOX_12 GPIO_ACTIVE_LOW>;
|
|
};
|
|
f5-button {
|
|
label = "F5";
|
|
linux,code = <BTN_TRIGGER_HAPPY5>;
|
|
gpios = <&gpio GPIOX_13 GPIO_ACTIVE_LOW>;
|
|
};
|
|
f6-button {
|
|
label = "F6";
|
|
linux,code = <BTN_TRIGGER_HAPPY6>;
|
|
gpios = <&gpio GPIOX_16 GPIO_ACTIVE_LOW>;
|
|
};
|
|
top-left-button {
|
|
label = "TOP Left";
|
|
linux,code = <BTN_TL>;
|
|
gpios = <&gpio GPIOX_14 GPIO_ACTIVE_LOW>;
|
|
};
|
|
top-left2-button {
|
|
label = "TOP Left 2";
|
|
linux,code = <BTN_TL2>;
|
|
gpios = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>;
|
|
};
|
|
top-right-button {
|
|
label = "TOP Right";
|
|
linux,code = <BTN_TR>;
|
|
gpios = <&gpio GPIOX_15 GPIO_ACTIVE_LOW>;
|
|
};
|
|
top-right2-button {
|
|
label = "TOP Right 2";
|
|
linux,code = <BTN_TR2>;
|
|
gpios = <&gpio GPIOX_18 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
memory@0 {
|
|
device_type = "memory";
|
|
reg = <0x0 0x0 0x0 0x40000000>;
|
|
};
|
|
|
|
emmc_pwrseq: emmc-pwrseq {
|
|
compatible = "mmc-pwrseq-emmc";
|
|
reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led-blue {
|
|
color = <LED_COLOR_ID_BLUE>;
|
|
gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "heartbeat";
|
|
};
|
|
};
|
|
|
|
vdd_sys: regulator-vdd-sys {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "VDD_SYS";
|
|
regulator-min-microvolt = <3800000>;
|
|
regulator-max-microvolt = <3800000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sound {
|
|
compatible = "amlogic,axg-sound-card";
|
|
model = "Odroid GO Ultra";
|
|
audio-widgets = "Microphone", "Mic Jack",
|
|
"Headphone", "Headphones",
|
|
"Speaker", "Internal Speakers";
|
|
audio-aux-devs = <&tdmout_b>, <&tdmin_b>, <&speaker_amp>;
|
|
audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
|
|
"TDM_B Playback", "TDMOUT_B OUT",
|
|
"TDMIN_B IN 1", "TDM_B Capture",
|
|
"TDMIN_B IN 4", "TDM_B Loopback",
|
|
"TODDR_A IN 1", "TDMIN_B OUT",
|
|
"MICL", "Mic Jack",
|
|
"Headphones", "HPOL",
|
|
"Headphones", "HPOR",
|
|
"Speaker Amplifier INL", "HPOL",
|
|
"Speaker Amplifier INR", "HPOR",
|
|
"Internal Speakers", "Speaker Amplifier OUTL",
|
|
"Internal Speakers", "Speaker Amplifier OUTR";
|
|
|
|
assigned-clocks = <&clkc CLKID_MPLL2>,
|
|
<&clkc CLKID_MPLL0>,
|
|
<&clkc CLKID_MPLL1>;
|
|
assigned-clock-parents = <0>, <0>, <0>;
|
|
assigned-clock-rates = <294912000>,
|
|
<270950400>,
|
|
<393216000>;
|
|
|
|
dai-link-0 {
|
|
sound-dai = <&frddr_a>;
|
|
};
|
|
|
|
dai-link-1 {
|
|
sound-dai = <&toddr_a>;
|
|
};
|
|
|
|
dai-link-2 {
|
|
sound-dai = <&tdmif_b>;
|
|
dai-format = "i2s";
|
|
dai-tdm-slot-tx-mask-0 = <1 1>;
|
|
mclk-fs = <256>;
|
|
|
|
codec-0 {
|
|
sound-dai = <&rk817>;
|
|
};
|
|
};
|
|
};
|
|
|
|
speaker_amp: speaker-amplifier {
|
|
compatible = "simple-audio-amplifier";
|
|
sound-name-prefix = "Speaker Amplifier";
|
|
VCC-supply = <&hp_5v>;
|
|
};
|
|
};
|
|
|
|
&arb {
|
|
status = "okay";
|
|
};
|
|
|
|
&cpu0 {
|
|
cpu-supply = <&vddcpu_b>;
|
|
operating-points-v2 = <&cpu_opp_table_0>;
|
|
clocks = <&clkc CLKID_CPU_CLK>;
|
|
clock-latency = <50000>;
|
|
};
|
|
|
|
&cpu1 {
|
|
cpu-supply = <&vddcpu_b>;
|
|
operating-points-v2 = <&cpu_opp_table_0>;
|
|
clocks = <&clkc CLKID_CPU_CLK>;
|
|
clock-latency = <50000>;
|
|
};
|
|
|
|
&cpu100 {
|
|
cpu-supply = <&vddcpu_a>;
|
|
operating-points-v2 = <&cpub_opp_table_1>;
|
|
clocks = <&clkc CLKID_CPUB_CLK>;
|
|
clock-latency = <50000>;
|
|
};
|
|
|
|
&cpu101 {
|
|
cpu-supply = <&vddcpu_a>;
|
|
operating-points-v2 = <&cpub_opp_table_1>;
|
|
clocks = <&clkc CLKID_CPUB_CLK>;
|
|
clock-latency = <50000>;
|
|
};
|
|
|
|
&cpu102 {
|
|
cpu-supply = <&vddcpu_a>;
|
|
operating-points-v2 = <&cpub_opp_table_1>;
|
|
clocks = <&clkc CLKID_CPUB_CLK>;
|
|
clock-latency = <50000>;
|
|
};
|
|
|
|
&cpu103 {
|
|
cpu-supply = <&vddcpu_a>;
|
|
operating-points-v2 = <&cpub_opp_table_1>;
|
|
clocks = <&clkc CLKID_CPUB_CLK>;
|
|
clock-latency = <50000>;
|
|
};
|
|
|
|
/* RK817 only supports 12.5mV steps, round up the values */
|
|
&cpu_opp_table_0 {
|
|
opp-1000000000 {
|
|
opp-microvolt = <737500>;
|
|
};
|
|
opp-1200000000 {
|
|
opp-microvolt = <737500>;
|
|
};
|
|
opp-1398000000 {
|
|
opp-microvolt = <762500>;
|
|
};
|
|
opp-1512000000 {
|
|
opp-microvolt = <800000>;
|
|
};
|
|
opp-1608000000 {
|
|
opp-microvolt = <837500>;
|
|
};
|
|
opp-1704000000 {
|
|
opp-microvolt = <862500>;
|
|
};
|
|
opp-1896000000 {
|
|
opp-microvolt = <987500>;
|
|
};
|
|
opp-1992000000 {
|
|
opp-microvolt = <1012500>;
|
|
};
|
|
};
|
|
|
|
/* RK818 only supports 12.5mV steps, round up the values */
|
|
&cpub_opp_table_1 {
|
|
opp-1000000000 {
|
|
opp-microvolt = <775000>;
|
|
};
|
|
opp-1200000000 {
|
|
opp-microvolt = <775000>;
|
|
};
|
|
opp-1398000000 {
|
|
opp-microvolt = <800000>;
|
|
};
|
|
opp-1512000000 {
|
|
opp-microvolt = <825000>;
|
|
};
|
|
opp-1608000000 {
|
|
opp-microvolt = <862500>;
|
|
};
|
|
opp-1704000000 {
|
|
opp-microvolt = <900000>;
|
|
};
|
|
opp-1800000000 {
|
|
opp-microvolt = <987500>;
|
|
};
|
|
opp-1908000000 {
|
|
opp-microvolt = <1025000>;
|
|
};
|
|
};
|
|
|
|
&i2c_AO {
|
|
status = "okay";
|
|
pinctrl-0 = <&i2c_ao_sck_pins>, <&i2c_ao_sda_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
rk818: pmic@1c {
|
|
compatible = "rockchip,rk818";
|
|
reg = <0x1c>;
|
|
interrupt-parent = <&gpio_intc>;
|
|
interrupts = <IRQID_GPIOAO_7 IRQ_TYPE_LEVEL_LOW>; /* GPIOAO_7 */
|
|
#clock-cells = <1>;
|
|
|
|
vcc1-supply = <&vdd_sys>;
|
|
vcc2-supply = <&vdd_sys>;
|
|
vcc3-supply = <&vdd_sys>;
|
|
vcc4-supply = <&vdd_sys>;
|
|
vcc6-supply = <&vdd_sys>;
|
|
vcc7-supply = <&vcc_2v3>;
|
|
vcc8-supply = <&vcc_2v3>;
|
|
vcc9-supply = <&vddao_3v3>;
|
|
boost-supply = <&vdd_sys>;
|
|
|
|
regulators {
|
|
vddcpu_a: DCDC_REG1 {
|
|
regulator-name = "vddcpu_a";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <775000>;
|
|
regulator-max-microvolt = <1025000>;
|
|
regulator-ramp-delay = <6001>;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <775000>;
|
|
};
|
|
};
|
|
|
|
vdd_ee: DCDC_REG2 {
|
|
regulator-name = "vdd_ee";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <875000>;
|
|
regulator-max-microvolt = <1250000>;
|
|
regulator-ramp-delay = <6001>;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <875000>;
|
|
};
|
|
};
|
|
|
|
vddq_1v1: DCDC_REG3 {
|
|
regulator-name = "vddq_1v1";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
};
|
|
};
|
|
|
|
vddao_3v3: DCDC_REG4 {
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vddao_3v3";
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3300000>;
|
|
};
|
|
};
|
|
|
|
hp_5v: DCDC_BOOST {
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-name = "hp_5v";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
vddio_ao1v8: LDO_REG5 {
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "vddio_ao1v8";
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
|
|
vddq_1v8: LDO_REG7 {
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "vddq_1v8";
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
|
|
vddio_c: LDO_REG9 {
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vddio_c";
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3300000>;
|
|
};
|
|
};
|
|
|
|
vcc_sd: SWITCH_REG {
|
|
regulator-name = "vcc_sd";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
};
|
|
};
|
|
|
|
OTG_SWITCH {
|
|
regulator-name = "otg_switch";
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c3 {
|
|
status = "okay";
|
|
pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
rk817: pmic@20 {
|
|
compatible = "rockchip,rk817";
|
|
reg = <0x20>;
|
|
interrupt-parent = <&gpio_intc>;
|
|
|
|
interrupts = <IRQID_GPIOAO_5 IRQ_TYPE_LEVEL_LOW>; /* GPIOAO_5 */
|
|
|
|
vcc1-supply = <&vdd_sys>;
|
|
vcc2-supply = <&vdd_sys>;
|
|
vcc3-supply = <&vdd_sys>;
|
|
vcc4-supply = <&vdd_sys>;
|
|
vcc5-supply = <&vdd_sys>;
|
|
vcc6-supply = <&vdd_sys>;
|
|
vcc7-supply = <&vdd_sys>;
|
|
vcc8-supply = <&vdd_sys>;
|
|
vcc9-supply = <&rk817_boost>;
|
|
|
|
#sound-dai-cells = <0>;
|
|
clocks = <&codec_clk>;
|
|
clock-names = "mclk";
|
|
|
|
#clock-cells = <1>;
|
|
|
|
regulators {
|
|
vddcpu_b: DCDC_REG2 {
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <737500>;
|
|
regulator-max-microvolt = <1012500>;
|
|
regulator-ramp-delay = <6001>;
|
|
regulator-initial-mode = <0x2>;
|
|
regulator-name = "vddcpu_b";
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1000000>;
|
|
};
|
|
};
|
|
|
|
vcc_2v3: DCDC_REG3 {
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <2300000>;
|
|
regulator-max-microvolt = <2400000>;
|
|
regulator-initial-mode = <0x2>;
|
|
regulator-name = "vcc_2v3";
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
};
|
|
};
|
|
|
|
LDO_REG4 {
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vdd_codec";
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
vcc_lcd: LDO_REG8 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc_lcd";
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
rk817_boost: BOOST {
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5400000>;
|
|
regulator-name = "rk817_boost";
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
usb_host: OTG_SWITCH {
|
|
regulator-name = "usb_host";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&clkc_audio {
|
|
status = "okay";
|
|
};
|
|
|
|
ð_phy {
|
|
status = "disabled";
|
|
};
|
|
|
|
&frddr_a {
|
|
status = "okay";
|
|
};
|
|
|
|
&periphs_pinctrl {
|
|
keypad_gpio_pins: keypad-gpio-state {
|
|
mux {
|
|
groups = "GPIOX_0", "GPIOX_1", "GPIOX_2", "GPIOX_3",
|
|
"GPIOX_4", "GPIOX_5", "GPIOX_6", "GPIOX_7",
|
|
"GPIOX_8", "GPIOX_9", "GPIOX_10", "GPIOX_11",
|
|
"GPIOX_12", "GPIOX_13", "GPIOX_14", "GPIOX_15",
|
|
"GPIOX_16", "GPIOX_17", "GPIOX_18", "GPIOX_19";
|
|
function = "gpio_periphs";
|
|
bias-pull-up;
|
|
output-disable;
|
|
};
|
|
};
|
|
};
|
|
|
|
&saradc {
|
|
status = "okay";
|
|
vref-supply = <&vddio_ao1v8>;
|
|
};
|
|
|
|
/* SD card */
|
|
&sd_emmc_b {
|
|
status = "okay";
|
|
pinctrl-0 = <&sdcard_c_pins>;
|
|
pinctrl-1 = <&sdcard_clk_gate_c_pins>;
|
|
pinctrl-names = "default", "clk-gate";
|
|
|
|
bus-width = <4>;
|
|
cap-sd-highspeed;
|
|
max-frequency = <50000000>;
|
|
disable-wp;
|
|
|
|
cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
|
|
vmmc-supply = <&vcc_sd>;
|
|
vqmmc-supply = <&vddio_c>;
|
|
|
|
};
|
|
|
|
/* eMMC */
|
|
&sd_emmc_c {
|
|
status = "okay";
|
|
pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
|
|
pinctrl-1 = <&emmc_clk_gate_pins>;
|
|
pinctrl-names = "default", "clk-gate";
|
|
|
|
bus-width = <8>;
|
|
cap-mmc-highspeed;
|
|
mmc-ddr-1_8v;
|
|
mmc-hs200-1_8v;
|
|
max-frequency = <200000000>;
|
|
disable-wp;
|
|
|
|
mmc-pwrseq = <&emmc_pwrseq>;
|
|
vmmc-supply = <&vcc_sd>;
|
|
vqmmc-supply = <&vddio_ao1v8>;
|
|
};
|
|
|
|
|
|
&tdmif_b {
|
|
pinctrl-0 = <&tdm_b_dout0_pins>, <&tdm_b_fs_pins>, <&tdm_b_sclk_pins>, <&tdm_b_din1_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
|
|
assigned-clocks = <&clkc_audio AUD_CLKID_TDM_SCLK_PAD1>,
|
|
<&clkc_audio AUD_CLKID_TDM_LRCLK_PAD1>;
|
|
assigned-clock-parents = <&clkc_audio AUD_CLKID_MST_B_SCLK>,
|
|
<&clkc_audio AUD_CLKID_MST_B_LRCLK>;
|
|
assigned-clock-rates = <0>, <0>;
|
|
};
|
|
|
|
&tdmin_b {
|
|
status = "okay";
|
|
};
|
|
|
|
&tdmout_b {
|
|
status = "okay";
|
|
};
|
|
|
|
&toddr_a {
|
|
status = "okay";
|
|
};
|
|
|
|
&uart_AO {
|
|
status = "okay";
|
|
pinctrl-0 = <&uart_ao_a_pins>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&usb {
|
|
status = "okay";
|
|
dr_mode = "peripheral";
|
|
};
|
|
|
|
&usb2_phy0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2_phy1 {
|
|
status = "okay";
|
|
phy-supply = <&usb_host>;
|
|
};
|