From nobody Sun Sep 14 12:31:46 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4C92C05027 for ; Mon, 23 Jan 2023 14:07:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231893AbjAWOHh (ORCPT ); Mon, 23 Jan 2023 09:07:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232178AbjAWOH2 (ORCPT ); Mon, 23 Jan 2023 09:07:28 -0500 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A0E1283DF for ; Mon, 23 Jan 2023 06:07:25 -0800 (PST) Received: by mail-wm1-x32a.google.com with SMTP id f25-20020a1c6a19000000b003da221fbf48so8641595wmc.1 for ; Mon, 23 Jan 2023 06:07:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=gGUAR1En37XugGMNccVNI7KblImun0/osCgGe3nLWnE=; b=fuA8UDw3svwL9ToTFKVKhGlgH9QkQkz6Q42bq/vZqv/2MN9ZCH6jX/SbCOdGgapguD 3n3EpM0mChY+oh1SVJ0LQffLLzhmtVW2WZgKAQItlhIqd5e/iWSpd3JQ1hWSQEA4Du7/ r1ZEKowKPDlSkaJxNwIMbEnERrwisH1BtlLboWoiwZWuOfcV6vw9aMbVZivENnToJrXB 4s0CKNl0Ctfv/849eNVx9ao6PXIWKytYeqiEUhQWnXnPHXMmsGiPTT5NB20ow90phRv8 548ArezgLW2AlSfUgApC6IsZn/ip/eCUYMN1XhlLg0wGU9yv3UmOf/od9XPXfFmEWoQi jD2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gGUAR1En37XugGMNccVNI7KblImun0/osCgGe3nLWnE=; b=Q8SUrZEDMzwwsX9iipeIVo8etsHlD4EpcQ0Yrbx/X2xo30gMn76tRaC8UUOE7JQ8RI MJusRqWhPOSyEg4kYH1XM05acQhkE8fDJDKnBEeW/FvRiBD+tc14BfyhycIwIdLfh58n ipyyzDUSNkRx//2u/qBiMMoWsPeKFw6r3B3E3e5haOSX1SzRmh0VDzg5Bn2LevbcKd7D CuahjSw3RaLDXe5AGNXdv4uclCWu0h8M98AHeMlg9NyBf5U6fPQzMoBXydzYx4RsRCwv sbMP3f1VKYAISojwvd1hXrWl2N9Bjx1DtywCqIedKma2dZprtNcxHLmkAL5BXX4gK1JE tr5A== X-Gm-Message-State: AFqh2krUimzYi14m+eL6hstAO1hJY/ifPyW15oGTm/AxMztSYffkIeBO Dn4f5WCCqBzAsW4WrRV6LDkEoA== X-Google-Smtp-Source: AMrXdXsYdi46C1yEoy6DguLsXSDNZ6thyQwue7cCXkWOSqxe7MGKTfcYjm31mLjpZqXCaHtDT5CZcA== X-Received: by 2002:a7b:cd9a:0:b0:3d3:5d69:7aa5 with SMTP id y26-20020a7bcd9a000000b003d35d697aa5mr24129927wmj.25.1674482844031; Mon, 23 Jan 2023 06:07:24 -0800 (PST) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id q7-20020a05600c46c700b003c6bbe910fdsm13841655wmo.9.2023.01.23.06.07.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jan 2023 06:07:23 -0800 (PST) From: Neil Armstrong Date: Mon, 23 Jan 2023 15:07:17 +0100 Subject: [PATCH 2/3] arm64: dts: meson-g12b: move common node into new odroid.dtsi MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230122-topic-odroid-n2l-upstream-initial-v1-2-1ce5e08039d0@linaro.org> References: <20230122-topic-odroid-n2l-upstream-initial-v1-0-1ce5e08039d0@linaro.org> In-Reply-To: <20230122-topic-odroid-n2l-upstream-initial-v1-0-1ce5e08039d0@linaro.org> To: Rob Herring , Krzysztof Kozlowski , Kevin Hilman , Jerome Brunet , Martin Blumenstingl Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, Dongjin Kim , Neil Armstrong X-Mailer: b4 0.12.0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In order to introduce Odroid-N2L which is basically an Odroid-N2+ without some on-board peripherals (Ethernet, RTC, Hub, Jack), move the common nodes into a new meson-g12b-odroid.dtsi which will will be the common dtsi for all the Odroid-N2 derived boards. Signed-off-by: Neil Armstrong --- .../boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 448 +----------------= ---- arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi | 445 +++++++++++++++++= +++ 2 files changed, 454 insertions(+), 439 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/a= rm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi index 667d2b774924..24d0442dffb2 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi @@ -4,17 +4,11 @@ * Author: Neil Armstrong */ =20 -#include -#include -#include -#include +#include "meson-g12b-odroid.dtsi" =20 / { aliases { - serial0 =3D &uart_AO; - ethernet0 =3D ðmac; rtc0 =3D &rtc; - rtc1 =3D &vrtc; }; =20 dio2133: audio-amplifier-0 { @@ -25,149 +19,6 @@ dio2133: audio-amplifier-0 { status =3D "okay"; }; =20 - chosen { - stdout-path =3D "serial0:115200n8"; - }; - - memory@0 { - device_type =3D "memory"; - reg =3D <0x0 0x0 0x0 0x40000000>; - }; - - emmc_pwrseq: emmc-pwrseq { - compatible =3D "mmc-pwrseq-emmc"; - reset-gpios =3D <&gpio BOOT_12 GPIO_ACTIVE_LOW>; - }; - - fan: gpio-fan { - compatible =3D "gpio-fan"; - gpios =3D <&gpio_ao GPIOAO_10 GPIO_ACTIVE_HIGH>; - /* Using Dummy Speed */ - gpio-fan,speed-map =3D <0 0>, <1 1>; - #cooling-cells =3D <2>; - }; - - leds { - compatible =3D "gpio-leds"; - - led-blue { - label =3D "n2:blue"; - gpios =3D <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>; - linux,default-trigger =3D "heartbeat"; - }; - }; - - tflash_vdd: regulator-tflash_vdd { - compatible =3D "regulator-fixed"; - - regulator-name =3D "TFLASH_VDD"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - - gpio =3D <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>; - enable-active-high; - regulator-always-on; - }; - - tf_io: gpio-regulator-tf_io { - compatible =3D "regulator-gpio"; - - regulator-name =3D "TF_IO"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <3300000>; - - gpios =3D <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; - gpios-states =3D <0>; - - states =3D <3300000 0>, - <1800000 1>; - }; - - flash_1v8: regulator-flash_1v8 { - compatible =3D "regulator-fixed"; - regulator-name =3D "FLASH_1V8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - vin-supply =3D <&vcc_3v3>; - regulator-always-on; - }; - - main_12v: regulator-main_12v { - compatible =3D "regulator-fixed"; - regulator-name =3D "12V"; - regulator-min-microvolt =3D <12000000>; - regulator-max-microvolt =3D <12000000>; - regulator-always-on; - }; - - vcc_5v: regulator-vcc_5v { - compatible =3D "regulator-fixed"; - regulator-name =3D "5V"; - regulator-min-microvolt =3D <5000000>; - regulator-max-microvolt =3D <5000000>; - regulator-always-on; - vin-supply =3D <&main_12v>; - gpio =3D <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; - enable-active-high; - }; - - vcc_1v8: regulator-vcc_1v8 { - compatible =3D "regulator-fixed"; - regulator-name =3D "VCC_1V8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - vin-supply =3D <&vcc_3v3>; - regulator-always-on; - }; - - vcc_3v3: regulator-vcc_3v3 { - compatible =3D "regulator-fixed"; - regulator-name =3D "VCC_3V3"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - vin-supply =3D <&vddao_3v3>; - regulator-always-on; - /* FIXME: actually controlled by VDDCPU_B_EN */ - }; - - vddcpu_a: regulator-vddcpu-a { - /* - * MP8756GD Regulator. - */ - compatible =3D "pwm-regulator"; - - regulator-name =3D "VDDCPU_A"; - regulator-min-microvolt =3D <721000>; - regulator-max-microvolt =3D <1022000>; - - pwm-supply =3D <&main_12v>; - - pwms =3D <&pwm_ab 0 1250 0>; - pwm-dutycycle-range =3D <100 0>; - - regulator-boot-on; - regulator-always-on; - }; - - vddcpu_b: regulator-vddcpu-b { - /* - * Silergy SY8120B1ABC Regulator. - */ - compatible =3D "pwm-regulator"; - - regulator-name =3D "VDDCPU_B"; - regulator-min-microvolt =3D <721000>; - regulator-max-microvolt =3D <1022000>; - - pwm-supply =3D <&main_12v>; - - pwms =3D <&pwm_AO_cd 1 1250 0>; - pwm-dutycycle-range =3D <100 0>; - - regulator-boot-on; - regulator-always-on; - }; - hub_5v: regulator-hub_5v { compatible =3D "regulator-fixed"; regulator-name =3D "HUB_5V"; @@ -180,47 +31,6 @@ hub_5v: regulator-hub_5v { enable-active-high; }; =20 - usb_pwr_en: regulator-usb_pwr_en { - compatible =3D "regulator-fixed"; - regulator-name =3D "USB_PWR_EN"; - regulator-min-microvolt =3D <5000000>; - regulator-max-microvolt =3D <5000000>; - vin-supply =3D <&vcc_5v>; - - /* Connected to the microUSB port power enable */ - gpio =3D <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; - - vddao_1v8: regulator-vddao_1v8 { - compatible =3D "regulator-fixed"; - regulator-name =3D "VDDAO_1V8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - vin-supply =3D <&vddao_3v3>; - regulator-always-on; - }; - - vddao_3v3: regulator-vddao_3v3 { - compatible =3D "regulator-fixed"; - regulator-name =3D "VDDAO_3V3"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - vin-supply =3D <&main_12v>; - regulator-always-on; - }; - - hdmi-connector { - compatible =3D "hdmi-connector"; - type =3D "a"; - - port { - hdmi_connector_in: endpoint { - remote-endpoint =3D <&hdmi_tx_tmds_out>; - }; - }; - }; - sound { compatible =3D "amlogic,axg-sound-card"; model =3D "ODROID-N2"; @@ -354,102 +164,13 @@ &acodec { status =3D "okay"; }; =20 -&arb { - status =3D "okay"; -}; - -&cec_AO { - pinctrl-0 =3D <&cec_ao_a_h_pins>; - pinctrl-names =3D "default"; - status =3D "disabled"; - hdmi-phandle =3D <&hdmi_tx>; -}; - -&cecb_AO { - pinctrl-0 =3D <&cec_ao_b_h_pins>; +ðmac { + pinctrl-0 =3D <ð_pins>, <ð_rgmii_pins>; pinctrl-names =3D "default"; status =3D "okay"; - hdmi-phandle =3D <&hdmi_tx>; -}; - -&clkc_audio { - status =3D "okay"; -}; - -&cpu0 { - cpu-supply =3D <&vddcpu_b>; - operating-points-v2 =3D <&cpu_opp_table_0>; - clocks =3D <&clkc CLKID_CPU_CLK>; - clock-latency =3D <50000>; -}; - -&cpu1 { - cpu-supply =3D <&vddcpu_b>; - operating-points-v2 =3D <&cpu_opp_table_0>; - clocks =3D <&clkc CLKID_CPU_CLK>; - clock-latency =3D <50000>; -}; - -&cpu100 { - cpu-supply =3D <&vddcpu_a>; - operating-points-v2 =3D <&cpub_opp_table_1>; - clocks =3D <&clkc CLKID_CPUB_CLK>; - clock-latency =3D <50000>; -}; - -&cpu101 { - cpu-supply =3D <&vddcpu_a>; - operating-points-v2 =3D <&cpub_opp_table_1>; - clocks =3D <&clkc CLKID_CPUB_CLK>; - clock-latency =3D <50000>; -}; - -&cpu102 { - cpu-supply =3D <&vddcpu_a>; - operating-points-v2 =3D <&cpub_opp_table_1>; - clocks =3D <&clkc CLKID_CPUB_CLK>; - clock-latency =3D <50000>; -}; - -&cpu103 { - cpu-supply =3D <&vddcpu_a>; - operating-points-v2 =3D <&cpub_opp_table_1>; - clocks =3D <&clkc CLKID_CPUB_CLK>; - clock-latency =3D <50000>; -}; - -&cpu_thermal { - trips { - cpu_active: cpu-active { - temperature =3D <60000>; /* millicelsius */ - hysteresis =3D <2000>; /* millicelsius */ - type =3D "active"; - }; - }; - - cooling-maps { - map { - trip =3D <&cpu_active>; - cooling-device =3D <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; - }; - }; -}; - -&ddr_thermal { - trips { - ddr_active: ddr-active { - temperature =3D <60000>; /* millicelsius */ - hysteresis =3D <2000>; /* millicelsius */ - type =3D "active"; - }; - }; - - cooling-maps { - map { - trip =3D <&ddr_active>; - cooling-device =3D <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; - }; - }; + phy-mode =3D "rgmii"; + phy-handle =3D <&external_phy>; + amlogic,tx-delay-ns =3D <2>; }; =20 &ext_mdio { @@ -468,27 +189,6 @@ external_phy: ethernet-phy@0 { }; }; =20 -ðmac { - pinctrl-0 =3D <ð_pins>, <ð_rgmii_pins>; - pinctrl-names =3D "default"; - status =3D "okay"; - phy-mode =3D "rgmii"; - phy-handle =3D <&external_phy>; - amlogic,tx-delay-ns =3D <2>; -}; - -&frddr_a { - status =3D "okay"; -}; - -&frddr_b { - status =3D "okay"; -}; - -&frddr_c { - status =3D "okay"; -}; - &gpio { gpio-line-names =3D /* GPIOZ */ @@ -549,26 +249,6 @@ hog-0 { }; }; =20 -&hdmi_tx { - status =3D "okay"; - pinctrl-0 =3D <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; - pinctrl-names =3D "default"; - hdmi-supply =3D <&vcc_5v>; -}; - -&hdmi_tx_tmds_port { - hdmi_tx_tmds_out: endpoint { - remote-endpoint =3D <&hdmi_connector_in>; - }; -}; - -&ir { - status =3D "okay"; - pinctrl-0 =3D <&remote_input_ao_pins>; - pinctrl-names =3D "default"; - linux,rc-map-name =3D "rc-odroid"; -}; - &i2c3 { status =3D "okay"; pinctrl-0 =3D <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; @@ -581,62 +261,11 @@ rtc: rtc@51 { }; }; =20 -&pwm_ab { - pinctrl-0 =3D <&pwm_a_e_pins>; - pinctrl-names =3D "default"; - clocks =3D <&xtal>; - clock-names =3D "clkin0"; +&ir { status =3D "okay"; -}; - -&pwm_AO_cd { - pinctrl-0 =3D <&pwm_ao_d_e_pins>; + pinctrl-0 =3D <&remote_input_ao_pins>; pinctrl-names =3D "default"; - clocks =3D <&xtal>; - clock-names =3D "clkin1"; - status =3D "okay"; -}; - -&saradc { - status =3D "okay"; - vref-supply =3D <&vddao_1v8>; -}; - -/* SD card */ -&sd_emmc_b { - status =3D "okay"; - pinctrl-0 =3D <&sdcard_c_pins>; - pinctrl-1 =3D <&sdcard_clk_gate_c_pins>; - pinctrl-names =3D "default", "clk-gate"; - - bus-width =3D <4>; - cap-sd-highspeed; - max-frequency =3D <50000000>; - disable-wp; - - cd-gpios =3D <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; - vmmc-supply =3D <&tflash_vdd>; - vqmmc-supply =3D <&tf_io>; - -}; - -/* eMMC */ -&sd_emmc_c { - status =3D "okay"; - pinctrl-0 =3D <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; - pinctrl-1 =3D <&emmc_clk_gate_pins>; - pinctrl-names =3D "default", "clk-gate"; - - bus-width =3D <8>; - cap-mmc-highspeed; - mmc-ddr-1_8v; - mmc-hs200-1_8v; - max-frequency =3D <200000000>; - disable-wp; - - mmc-pwrseq =3D <&emmc_pwrseq>; - vmmc-supply =3D <&vcc_3v3>; - vqmmc-supply =3D <&flash_1v8>; + linux,rc-map-name =3D "rc-odroid"; }; =20 /* @@ -660,73 +289,14 @@ mx25u64: flash@0 { }; }; =20 -&tdmif_b { - status =3D "okay"; -}; - -&tdmif_c { - status =3D "okay"; -}; - -&tdmin_a { - status =3D "okay"; -}; - -&tdmin_b { - status =3D "okay"; -}; - -&tdmin_c { - status =3D "okay"; -}; - -&tdmin_lb { - status =3D "okay"; -}; - -&tdmout_b { - status =3D "okay"; -}; - -&tdmout_c { - status =3D "okay"; -}; - &toacodec { status =3D "okay"; }; =20 -&tohdmitx { - status =3D "okay"; -}; - -&toddr_a { - status =3D "okay"; -}; - -&toddr_b { - status =3D "okay"; -}; - -&toddr_c { - status =3D "okay"; -}; - -&uart_AO { - status =3D "okay"; - pinctrl-0 =3D <&uart_ao_a_pins>; - pinctrl-names =3D "default"; -}; - &usb { - status =3D "okay"; vbus-supply =3D <&usb_pwr_en>; }; =20 -&usb2_phy0 { - phy-supply =3D <&vcc_5v>; -}; - &usb2_phy1 { /* Enable the hub which is connected to this port */ phy-supply =3D <&hub_5v>; diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi b/arch/arm6= 4/boot/dts/amlogic/meson-g12b-odroid.dtsi new file mode 100644 index 000000000000..9e12a34b2840 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi @@ -0,0 +1,445 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 BayLibre, SAS + * Author: Neil Armstrong + */ + +#include +#include +#include +#include + +/ { + aliases { + serial0 =3D &uart_AO; + ethernet0 =3D ðmac; + rtc1 =3D &vrtc; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + memory@0 { + device_type =3D "memory"; + reg =3D <0x0 0x0 0x0 0x40000000>; + }; + + emmc_pwrseq: emmc-pwrseq { + compatible =3D "mmc-pwrseq-emmc"; + reset-gpios =3D <&gpio BOOT_12 GPIO_ACTIVE_LOW>; + }; + + fan: gpio-fan { + compatible =3D "gpio-fan"; + gpios =3D <&gpio_ao GPIOAO_10 GPIO_ACTIVE_HIGH>; + /* Using Dummy Speed */ + gpio-fan,speed-map =3D <0 0>, <1 1>; + #cooling-cells =3D <2>; + }; + + leds { + compatible =3D "gpio-leds"; + + led-blue { + label =3D "n2:blue"; + gpios =3D <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "heartbeat"; + }; + }; + + tflash_vdd: regulator-tflash_vdd { + compatible =3D "regulator-fixed"; + + regulator-name =3D "TFLASH_VDD"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + + gpio =3D <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-always-on; + }; + + tf_io: gpio-regulator-tf_io { + compatible =3D "regulator-gpio"; + + regulator-name =3D "TF_IO"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3300000>; + + gpios =3D <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; + gpios-states =3D <0>; + + states =3D <3300000 0>, + <1800000 1>; + }; + + flash_1v8: regulator-flash_1v8 { + compatible =3D "regulator-fixed"; + regulator-name =3D "FLASH_1V8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + vin-supply =3D <&vcc_3v3>; + regulator-always-on; + }; + + main_12v: regulator-main_12v { + compatible =3D "regulator-fixed"; + regulator-name =3D "12V"; + regulator-min-microvolt =3D <12000000>; + regulator-max-microvolt =3D <12000000>; + regulator-always-on; + }; + + usb_pwr_en: regulator-usb_pwr_en { + compatible =3D "regulator-fixed"; + regulator-name =3D "USB_PWR_EN"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + vin-supply =3D <&vcc_5v>; + + /* Connected to the microUSB port power enable */ + gpio =3D <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vcc_5v: regulator-vcc_5v { + compatible =3D "regulator-fixed"; + regulator-name =3D "5V"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + regulator-always-on; + vin-supply =3D <&main_12v>; + gpio =3D <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; + enable-active-high; + }; + + vcc_1v8: regulator-vcc_1v8 { + compatible =3D "regulator-fixed"; + regulator-name =3D "VCC_1V8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + vin-supply =3D <&vcc_3v3>; + regulator-always-on; + }; + + vcc_3v3: regulator-vcc_3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "VCC_3V3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&vddao_3v3>; + regulator-always-on; + /* FIXME: actually controlled by VDDCPU_B_EN */ + }; + + vddcpu_a: regulator-vddcpu-a { + /* + * MP8756GD Regulator. + */ + compatible =3D "pwm-regulator"; + + regulator-name =3D "VDDCPU_A"; + regulator-min-microvolt =3D <721000>; + regulator-max-microvolt =3D <1022000>; + + pwm-supply =3D <&main_12v>; + + pwms =3D <&pwm_ab 0 1250 0>; + pwm-dutycycle-range =3D <100 0>; + + regulator-boot-on; + regulator-always-on; + }; + + vddcpu_b: regulator-vddcpu-b { + /* + * Silergy SY8120B1ABC Regulator. + */ + compatible =3D "pwm-regulator"; + + regulator-name =3D "VDDCPU_B"; + regulator-min-microvolt =3D <721000>; + regulator-max-microvolt =3D <1022000>; + + pwm-supply =3D <&main_12v>; + + pwms =3D <&pwm_AO_cd 1 1250 0>; + pwm-dutycycle-range =3D <100 0>; + + regulator-boot-on; + regulator-always-on; + }; + + vddao_1v8: regulator-vddao_1v8 { + compatible =3D "regulator-fixed"; + regulator-name =3D "VDDAO_1V8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + vin-supply =3D <&vddao_3v3>; + regulator-always-on; + }; + + vddao_3v3: regulator-vddao_3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "VDDAO_3V3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&main_12v>; + regulator-always-on; + }; + + hdmi-connector { + compatible =3D "hdmi-connector"; + type =3D "a"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint =3D <&hdmi_tx_tmds_out>; + }; + }; + }; +}; + +&arb { + status =3D "okay"; +}; + +&cec_AO { + pinctrl-0 =3D <&cec_ao_a_h_pins>; + pinctrl-names =3D "default"; + status =3D "disabled"; + hdmi-phandle =3D <&hdmi_tx>; +}; + +&cecb_AO { + pinctrl-0 =3D <&cec_ao_b_h_pins>; + pinctrl-names =3D "default"; + status =3D "okay"; + hdmi-phandle =3D <&hdmi_tx>; +}; + +&clkc_audio { + status =3D "okay"; +}; + +&cpu0 { + cpu-supply =3D <&vddcpu_b>; + operating-points-v2 =3D <&cpu_opp_table_0>; + clocks =3D <&clkc CLKID_CPU_CLK>; + clock-latency =3D <50000>; +}; + +&cpu1 { + cpu-supply =3D <&vddcpu_b>; + operating-points-v2 =3D <&cpu_opp_table_0>; + clocks =3D <&clkc CLKID_CPU_CLK>; + clock-latency =3D <50000>; +}; + +&cpu100 { + cpu-supply =3D <&vddcpu_a>; + operating-points-v2 =3D <&cpub_opp_table_1>; + clocks =3D <&clkc CLKID_CPUB_CLK>; + clock-latency =3D <50000>; +}; + +&cpu101 { + cpu-supply =3D <&vddcpu_a>; + operating-points-v2 =3D <&cpub_opp_table_1>; + clocks =3D <&clkc CLKID_CPUB_CLK>; + clock-latency =3D <50000>; +}; + +&cpu102 { + cpu-supply =3D <&vddcpu_a>; + operating-points-v2 =3D <&cpub_opp_table_1>; + clocks =3D <&clkc CLKID_CPUB_CLK>; + clock-latency =3D <50000>; +}; + +&cpu103 { + cpu-supply =3D <&vddcpu_a>; + operating-points-v2 =3D <&cpub_opp_table_1>; + clocks =3D <&clkc CLKID_CPUB_CLK>; + clock-latency =3D <50000>; +}; + +&cpu_thermal { + trips { + cpu_active: cpu-active { + temperature =3D <60000>; /* millicelsius */ + hysteresis =3D <2000>; /* millicelsius */ + type =3D "active"; + }; + }; + + cooling-maps { + map { + trip =3D <&cpu_active>; + cooling-device =3D <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; +}; + +&ddr_thermal { + trips { + ddr_active: ddr-active { + temperature =3D <60000>; /* millicelsius */ + hysteresis =3D <2000>; /* millicelsius */ + type =3D "active"; + }; + }; + + cooling-maps { + map { + trip =3D <&ddr_active>; + cooling-device =3D <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; +}; + +&frddr_a { + status =3D "okay"; +}; + +&frddr_b { + status =3D "okay"; +}; + +&frddr_c { + status =3D "okay"; +}; + +&hdmi_tx { + status =3D "okay"; + pinctrl-0 =3D <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; + pinctrl-names =3D "default"; + hdmi-supply =3D <&vcc_5v>; +}; + +&hdmi_tx_tmds_port { + hdmi_tx_tmds_out: endpoint { + remote-endpoint =3D <&hdmi_connector_in>; + }; +}; + +&pwm_ab { + pinctrl-0 =3D <&pwm_a_e_pins>; + pinctrl-names =3D "default"; + clocks =3D <&xtal>; + clock-names =3D "clkin0"; + status =3D "okay"; +}; + +&pwm_AO_cd { + pinctrl-0 =3D <&pwm_ao_d_e_pins>; + pinctrl-names =3D "default"; + clocks =3D <&xtal>; + clock-names =3D "clkin1"; + status =3D "okay"; +}; + +&saradc { + status =3D "okay"; + vref-supply =3D <&vddao_1v8>; +}; + +/* SD card */ +&sd_emmc_b { + status =3D "okay"; + pinctrl-0 =3D <&sdcard_c_pins>; + pinctrl-1 =3D <&sdcard_clk_gate_c_pins>; + pinctrl-names =3D "default", "clk-gate"; + + bus-width =3D <4>; + cap-sd-highspeed; + max-frequency =3D <50000000>; + disable-wp; + + cd-gpios =3D <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; + vmmc-supply =3D <&tflash_vdd>; + vqmmc-supply =3D <&tf_io>; + +}; + +/* eMMC */ +&sd_emmc_c { + status =3D "okay"; + pinctrl-0 =3D <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; + pinctrl-1 =3D <&emmc_clk_gate_pins>; + pinctrl-names =3D "default", "clk-gate"; + + bus-width =3D <8>; + cap-mmc-highspeed; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + max-frequency =3D <200000000>; + disable-wp; + + mmc-pwrseq =3D <&emmc_pwrseq>; + vmmc-supply =3D <&vcc_3v3>; + vqmmc-supply =3D <&flash_1v8>; +}; + +&tdmif_b { + status =3D "okay"; +}; + +&tdmif_c { + status =3D "okay"; +}; + +&tdmin_a { + status =3D "okay"; +}; + +&tdmin_b { + status =3D "okay"; +}; + +&tdmin_c { + status =3D "okay"; +}; + +&tdmin_lb { + status =3D "okay"; +}; + +&tdmout_b { + status =3D "okay"; +}; + +&tdmout_c { + status =3D "okay"; +}; + +&tohdmitx { + status =3D "okay"; +}; + +&toddr_a { + status =3D "okay"; +}; + +&toddr_b { + status =3D "okay"; +}; + +&toddr_c { + status =3D "okay"; +}; + +&uart_AO { + status =3D "okay"; + pinctrl-0 =3D <&uart_ao_a_pins>; + pinctrl-names =3D "default"; +}; + +&usb { + status =3D "okay"; +}; + +&usb2_phy0 { + phy-supply =3D <&vcc_5v>; +}; --=20 2.34.1