mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-22 20:24:29 +07:00
190e3138f9
Here is our usual bunch of changes to the common DTSI shared between arm and arm64, and their associated device trees. Even though the diffstat is quite big, it's been mostly just cleanups. The big feature is that the HDMI is now suported on H3 and H5 boards. -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE0VqZU19dR2zEVaqr0rTAlCFNr3QFAlqzy3UACgkQ0rTAlCFN r3RGXA/9GeVE6R7XQGJX5240cqfLg2HNDBMU5RmRege++kY8wzaoJvnyh2CbQXX5 GJMOs3IEQuXfss7zX7uH9ZCm/b6ibves76gJE140+ZkX4N9DvZdJFaT0K83gYVAL 6Zjt8fo7TAJXuF6SqLkTmG5W4Gs9vQ/n1ui8iM9zptphvm++W/knCht42wiZprHv +Z7HI5ITw/JGR2gGLD/MPkuCBy1VUmmg4LciVRTbrZ1aNNYirXosGep+TM91dwvh Dhg3K4fRass47woiyHk+CXhhqgM7xGrShKpX1DGzaQmzUhwQyUiFW0VLyPiWGuy+ QrqCeA1X4XNwCH0v2JxxLQO3Wxu1hV9ZTYdruQM6vJ2QZSwURqr6KNzstAXc9H1b akcdbjGw25EJpP1s1rAqCJDdiFv1wo3q7nZELK3G6E89uurRn2bjbpIvFduL43Gs pYaZULcBvPRE7j4JZBrqdQg2EqAzGKLTkO574IiP97EQIUV9GfupHMJt8an38Jtg AWBYGGIa8UKRWRroAxJOTx7s4sVzNhxzWwNxUfzGd0PZ+/jtJZ8klbrZ62ZIKHgv yNYXXdQ56QC2JClB9fU+8Qe//ZCn94JyXXH7Ms4hf1cPaKQC6o1KOdVAHhiiwMwZ SW8ixLZ/1bgvyvHvv73MEkGOtinmLMqFATBzj4qd0oIfzH3oCU8= =hXvM -----END PGP SIGNATURE----- Merge tag 'sunxi-h3-h5-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Pull "Allwinner H3/H5 changes for 4.17" from Maxime Ripard: Here is our usual bunch of changes to the common DTSI shared between arm and arm64, and their associated device trees. Even though the diffstat is quite big, it's been mostly just cleanups. The big feature is that the HDMI is now suported on H3 and H5 boards. * tag 'sunxi-h3-h5-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: allwinner: H5: Add Xunlong Orange Pi Zero Plus ARM: dts: sun8i-h3: Add Mali node ARM64: dts: sun50i: h5: Enable HDMI output on H5 boards ARM: dts: sun8i: h3: Enable HDMI output on H3 boards ARM: dts: sunxi: h3/h5: Add HDMI pipeline ARM: dts: sun8i: h2-plus: remove unnecessary mmc1_pins node ARM: dts: sunxi: h3-h5: rename mmc0_pins_a and mmc1_pins_a ARM: dts: sunxi: h3-h5: Move pinctrl of mmc1 from dts to dtsi ARM: dts: sunxi: h3-h5: Move pinctrl of mmc0 from dts to dtsi ARM: dts: sunxi: h3-h5: remove mmc0 card detection pin from pinctrl ARM: dts: sun8i: h2+: add support for Banana Pi M2 Zero board ARM: dts: sunxi: Switch MMC nodes away from cd-inverted property ARM: dts: nanopi-neo-air: Add WiFi / eMMC
478 lines
11 KiB
Plaintext
478 lines
11 KiB
Plaintext
/*
|
|
* Copyright 2015 Tyler Baker
|
|
*
|
|
* Tyler Baker <tyler.baker@linaro.org>
|
|
* Chen-Yu Tsai <wens@csie.org>
|
|
*
|
|
* This file is dual-licensed: you can use it either under the terms
|
|
* of the GPL or the X11 license, at your option. Note that this dual
|
|
* licensing only applies to this file, and not this project as a
|
|
* whole.
|
|
*
|
|
* a) This file is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This file is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* Or, alternatively,
|
|
*
|
|
* b) Permission is hereby granted, free of charge, to any person
|
|
* obtaining a copy of this software and associated documentation
|
|
* files (the "Software"), to deal in the Software without
|
|
* restriction, including without limitation the rights to use,
|
|
* copy, modify, merge, publish, distribute, sublicense, and/or
|
|
* sell copies of the Software, and to permit persons to whom the
|
|
* Software is furnished to do so, subject to the following
|
|
* conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be
|
|
* included in all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
* OTHER DEALINGS IN THE SOFTWARE.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "sun9i-a80.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
/ {
|
|
model = "Cubietech Cubieboard4";
|
|
compatible = "cubietech,a80-cubieboard4", "allwinner,sun9i-a80";
|
|
|
|
aliases {
|
|
serial0 = &uart0;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
green {
|
|
label = "cubieboard4:green:usr";
|
|
gpios = <&pio 7 17 GPIO_ACTIVE_HIGH>; /* PH17 */
|
|
};
|
|
|
|
red {
|
|
label = "cubieboard4:red:usr";
|
|
gpios = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
|
|
};
|
|
};
|
|
|
|
vga-connector {
|
|
compatible = "vga-connector";
|
|
label = "vga";
|
|
ddc-i2c-bus = <&i2c3>;
|
|
|
|
port {
|
|
vga_con_in: endpoint {
|
|
remote-endpoint = <&vga_dac_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
vga-dac {
|
|
compatible = "corpro,gm7123", "adi,adv7123", "dumb-vga-dac";
|
|
vdd-supply = <®_dcdc1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0>;
|
|
|
|
vga_dac_in: endpoint@0 {
|
|
reg = <0>;
|
|
remote-endpoint = <&tcon0_out_vga>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <1>;
|
|
|
|
vga_dac_out: endpoint@0 {
|
|
reg = <0>;
|
|
remote-endpoint = <&vga_con_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
wifi_pwrseq: wifi-pwrseq {
|
|
compatible = "mmc-pwrseq-simple";
|
|
clocks = <&ac100_rtc 1>;
|
|
clock-names = "ext_clock";
|
|
/* enables internal regulator and de-asserts reset */
|
|
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
|
|
};
|
|
};
|
|
|
|
&de {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c3 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c3_pins>;
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc0_pins>;
|
|
vmmc-supply = <®_dcdc1>;
|
|
bus-width = <4>;
|
|
cd-gpios = <&pio 7 18 GPIO_ACTIVE_LOW>; /* PH18 */
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc1_pins>;
|
|
vmmc-supply = <®_dldo1>;
|
|
vqmmc-supply = <®_cldo3>;
|
|
mmc-pwrseq = <&wifi_pwrseq>;
|
|
bus-width = <4>;
|
|
non-removable;
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc1_pins {
|
|
bias-pull-up;
|
|
};
|
|
|
|
&mmc2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc2_8bit_pins>;
|
|
vmmc-supply = <®_dcdc1>;
|
|
bus-width = <8>;
|
|
non-removable;
|
|
cap-mmc-hw-reset;
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc2_8bit_pins {
|
|
/* Increase drive strength for DDR modes */
|
|
drive-strength = <40>;
|
|
};
|
|
|
|
&osc32k {
|
|
/* osc32k input is from AC100 */
|
|
clocks = <&ac100_rtc 0>;
|
|
};
|
|
|
|
&r_ir {
|
|
status = "okay";
|
|
};
|
|
|
|
&r_rsb {
|
|
status = "okay";
|
|
|
|
axp809: pmic@3a3 {
|
|
reg = <0x3a3>;
|
|
interrupt-parent = <&nmi_intc>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
regulators {
|
|
reg_aldo1: aldo1 {
|
|
/*
|
|
* TODO: This should be handled by the
|
|
* USB PHY driver.
|
|
*/
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-name = "vcc33-usbh";
|
|
};
|
|
|
|
reg_aldo2: aldo2 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "vcc-pb-io-cam";
|
|
};
|
|
|
|
aldo3 {
|
|
/* unused */
|
|
};
|
|
|
|
reg_dc5ldo: dc5ldo {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-name = "vdd-cpus-09-usbh";
|
|
};
|
|
|
|
reg_dcdc1: dcdc1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-name = "vcc-3v";
|
|
};
|
|
|
|
reg_dcdc2: dcdc2 {
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-name = "vdd-gpu";
|
|
};
|
|
|
|
reg_dcdc3: dcdc3 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-name = "vdd-cpua";
|
|
};
|
|
|
|
reg_dcdc4: dcdc4 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-name = "vdd-sys-usb0-hdmi";
|
|
};
|
|
|
|
reg_dcdc5: dcdc5 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1425000>;
|
|
regulator-max-microvolt = <1575000>;
|
|
regulator-name = "vcc-dram";
|
|
};
|
|
|
|
reg_dldo1: dldo1 {
|
|
/*
|
|
* The WiFi chip supports a wide range
|
|
* (3.0 ~ 4.8V) of voltages, and so does
|
|
* this regulator (3.0 ~ 4.2V), but
|
|
* Allwinner SDK always sets it to 3.3V.
|
|
*/
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-wifi";
|
|
};
|
|
|
|
reg_dldo2: dldo2 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-name = "vcc-pl";
|
|
};
|
|
|
|
reg_eldo1: eldo1 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-name = "vcc-dvdd-cam";
|
|
};
|
|
|
|
reg_eldo2: eldo2 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "vcc-pe";
|
|
};
|
|
|
|
reg_eldo3: eldo3 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-name = "vcc-pm-codec-io1";
|
|
};
|
|
|
|
reg_ldo_io0: ldo_io0 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-name = "vcc-pg";
|
|
};
|
|
|
|
reg_ldo_io1: ldo_io1 {
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <2500000>;
|
|
regulator-name = "vcc-pa-gmac-2v5";
|
|
};
|
|
|
|
reg_rtc_ldo: rtc_ldo {
|
|
regulator-name = "vcc-rtc-vdd1v8-io";
|
|
};
|
|
|
|
sw {
|
|
/* unused */
|
|
};
|
|
};
|
|
};
|
|
|
|
axp806: pmic@745 {
|
|
compatible = "x-powers,axp806";
|
|
reg = <0x745>;
|
|
interrupt-parent = <&nmi_intc>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
bldoin-supply = <®_dcdce>;
|
|
|
|
regulators {
|
|
reg_s_aldo1: aldo1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-name = "avcc";
|
|
};
|
|
|
|
aldo2 {
|
|
/*
|
|
* unused, but use a different name to
|
|
* avoid name clash with axp809's aldo's
|
|
*/
|
|
regulator-name = "s_aldo2";
|
|
};
|
|
|
|
aldo3 {
|
|
/*
|
|
* unused, but use a different name to
|
|
* avoid name clash with axp809's aldo's
|
|
*/
|
|
regulator-name = "s_aldo3";
|
|
};
|
|
|
|
reg_bldo1: bldo1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <1900000>;
|
|
regulator-name = "vcc18-efuse-adc-display-csi";
|
|
};
|
|
|
|
reg_bldo2: bldo2 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1700000>;
|
|
regulator-max-microvolt = <1900000>;
|
|
regulator-name =
|
|
"vdd18-drampll-vcc18-pll-cpvdd";
|
|
};
|
|
|
|
bldo3 {
|
|
/* unused */
|
|
};
|
|
|
|
reg_bldo4: bldo4 {
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-name = "vcc12-hsic";
|
|
};
|
|
|
|
reg_cldo1: cldo1 {
|
|
/*
|
|
* This was 3V in the original design, but
|
|
* 3.3V is the recommended supply voltage
|
|
* for the Ethernet PHY.
|
|
*/
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-gmac-phy";
|
|
};
|
|
|
|
reg_cldo2: cldo2 {
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-name = "afvcc-cam";
|
|
};
|
|
|
|
reg_cldo3: cldo3 {
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-name = "vcc-io-wifi-codec-io2";
|
|
};
|
|
|
|
reg_dcdca: dcdca {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-name = "vdd-cpub";
|
|
};
|
|
|
|
reg_dcdcd: dcdcd {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-name = "vdd-vpu";
|
|
};
|
|
|
|
reg_dcdce: dcdce {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <2100000>;
|
|
regulator-max-microvolt = <2100000>;
|
|
regulator-name = "vcc-bldo-codec-ldoin";
|
|
};
|
|
|
|
sw {
|
|
/*
|
|
* unused, but use a different name to
|
|
* avoid name clash with axp809's sw
|
|
*/
|
|
regulator-name = "s_sw";
|
|
};
|
|
};
|
|
};
|
|
|
|
ac100: codec@e89 {
|
|
compatible = "x-powers,ac100";
|
|
reg = <0xe89>;
|
|
|
|
ac100_codec: codec {
|
|
compatible = "x-powers,ac100-codec";
|
|
interrupt-parent = <&r_pio>;
|
|
interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
|
|
#clock-cells = <0>;
|
|
clock-output-names = "4M_adda";
|
|
};
|
|
|
|
ac100_rtc: rtc {
|
|
compatible = "x-powers,ac100-rtc";
|
|
interrupt-parent = <&nmi_intc>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
|
clocks = <&ac100_codec>;
|
|
#clock-cells = <1>;
|
|
clock-output-names = "cko1_rtc",
|
|
"cko2_rtc",
|
|
"cko3_rtc";
|
|
};
|
|
};
|
|
};
|
|
|
|
#include "axp809.dtsi"
|
|
|
|
&tcon0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&lcd0_rgb888_pins>;
|
|
};
|
|
|
|
&tcon0_out {
|
|
tcon0_out_vga: endpoint@0 {
|
|
reg = <0>;
|
|
remote-endpoint = <&vga_dac_in>;
|
|
};
|
|
};
|
|
|
|
&uart0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart0_ph_pins>;
|
|
status = "okay";
|
|
};
|