mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-24 14:16:57 +07:00
18aa0f4bca
During a short period when the bus voltage is switched from 3.3v to 1.8v, (to enumerate UHS mode), the mmc module is disabled and the mmc IO lines are kept in a state according to the programmed pad mux pull type. According to 4.2.4.2 Timing to Switch Signal Voltage in "SD Specifications Part 1 Physical Layer Specification Version 5.00 February 22, 2016", the host should hold CLK low for at least 5ms. In order to keep the card line low during voltage switch, the pad mux of mmc1_clk line should be configured to pull down. This is specific to am57xx-idk (and not all dra72/dra74 based boards) since mmc1_clk line in am57xx-idk is not connected to an external pullup. While at that change the order of header files in am571x-idk.dts and am572x-idk.dts so that the modified pinctrl values in am57xx-idk-common could take effect. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
486 lines
10 KiB
Plaintext
486 lines
10 KiB
Plaintext
/*
|
|
* Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#include "am57xx-industrial-grade.dtsi"
|
|
|
|
/ {
|
|
aliases {
|
|
rtc0 = &tps659038_rtc;
|
|
rtc1 = &rtc;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = &uart3;
|
|
};
|
|
|
|
vmain: fixedregulator-vmain {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "VMAIN";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
v3_3d: fixedregulator-v3_3d {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "V3_3D";
|
|
vin-supply = <&smps9_reg>;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vtt_fixed: fixedregulator-vtt {
|
|
/* TPS51200 */
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vtt_fixed";
|
|
vin-supply = <&v3_3d>;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
leds-iio {
|
|
status = "disabled";
|
|
compatible = "gpio-leds";
|
|
led-out0 {
|
|
label = "out0";
|
|
gpios = <&tpic2810 0 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
led-out1 {
|
|
label = "out1";
|
|
gpios = <&tpic2810 1 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
led-out2 {
|
|
label = "out2";
|
|
gpios = <&tpic2810 2 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
led-out3 {
|
|
label = "out3";
|
|
gpios = <&tpic2810 3 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
led-out4 {
|
|
label = "out4";
|
|
gpios = <&tpic2810 4 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
led-out5 {
|
|
label = "out5";
|
|
gpios = <&tpic2810 5 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
led-out6 {
|
|
label = "out6";
|
|
gpios = <&tpic2810 6 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
led-out7 {
|
|
label = "out7";
|
|
gpios = <&tpic2810 7 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
};
|
|
};
|
|
|
|
&dra7_pmx_core {
|
|
dcan1_pins_default: dcan1_pins_default {
|
|
pinctrl-single,pins = <
|
|
DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
|
|
DRA7XX_CORE_IOPAD(0x37d4, PIN_INPUT_PULLUP | MUX_MODE0) /* dcan1_rx */
|
|
>;
|
|
};
|
|
|
|
dcan1_pins_sleep: dcan1_pins_sleep {
|
|
pinctrl-single,pins = <
|
|
DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
|
|
DRA7XX_CORE_IOPAD(0x37d4, MUX_MODE15 | PULL_UP) /* dcan1_rx.off */
|
|
>;
|
|
};
|
|
|
|
mmc1_pins_default: mmc1_pins_default {
|
|
pinctrl-single,pins = <
|
|
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mmc1_clk.clk */
|
|
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
|
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
|
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
|
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
|
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
|
>;
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
tps659038: tps659038@58 {
|
|
compatible = "ti,tps659038";
|
|
reg = <0x58>;
|
|
interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH
|
|
&dra7_pmx_core 0x418>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
ti,system-power-controller;
|
|
ti,palmas-override-powerhold;
|
|
|
|
tps659038_pmic {
|
|
compatible = "ti,tps659038-pmic";
|
|
|
|
smps12-in-supply = <&vmain>;
|
|
smps3-in-supply = <&vmain>;
|
|
smps45-in-supply = <&vmain>;
|
|
smps6-in-supply = <&vmain>;
|
|
smps7-in-supply = <&vmain>;
|
|
smps8-in-supply = <&vmain>;
|
|
smps9-in-supply = <&vmain>;
|
|
ldo1-in-supply = <&vmain>;
|
|
ldo2-in-supply = <&vmain>;
|
|
ldo3-in-supply = <&vmain>;
|
|
ldo4-in-supply = <&vmain>;
|
|
ldo9-in-supply = <&vmain>;
|
|
ldoln-in-supply = <&vmain>;
|
|
ldousb-in-supply = <&vmain>;
|
|
ldortc-in-supply = <&vmain>;
|
|
|
|
regulators {
|
|
smps12_reg: smps12 {
|
|
/* VDD_MPU */
|
|
regulator-name = "smps12";
|
|
regulator-min-microvolt = <850000>;
|
|
regulator-max-microvolt = <1250000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
smps3_reg: smps3 {
|
|
/* VDD_DDR EMIF1 EMIF2 */
|
|
regulator-name = "smps3";
|
|
regulator-min-microvolt = <1350000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
smps45_reg: smps45 {
|
|
/* VDD_DSPEVE on AM572 */
|
|
/* VDD_IVA + VDD_DSP on AM571 */
|
|
regulator-name = "smps45";
|
|
regulator-min-microvolt = <850000>;
|
|
regulator-max-microvolt = <1250000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
smps6_reg: smps6 {
|
|
/* VDD_GPU */
|
|
regulator-name = "smps6";
|
|
regulator-min-microvolt = <850000>;
|
|
regulator-max-microvolt = <1250000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
smps7_reg: smps7 {
|
|
/* VDD_CORE */
|
|
regulator-name = "smps7";
|
|
regulator-min-microvolt = <850000>;
|
|
regulator-max-microvolt = <1150000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
smps8_reg: smps8 {
|
|
/* 5728 - VDD_IVAHD */
|
|
/* 5718 - N.C. test point */
|
|
regulator-name = "smps8";
|
|
};
|
|
|
|
smps9_reg: smps9 {
|
|
/* VDD_3_3D */
|
|
regulator-name = "smps9";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
ldo1_reg: ldo1 {
|
|
/* VDDSHV8 - VSDMMC */
|
|
/* NOTE: on rev 1.3a, data supply */
|
|
regulator-name = "ldo1";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo2_reg: ldo2 {
|
|
/* VDDSH18V */
|
|
regulator-name = "ldo2";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
ldo3_reg: ldo3 {
|
|
/* R1.3a 572x V1_8PHY_LDO3: USB, SATA */
|
|
regulator-name = "ldo3";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
ldo4_reg: ldo4 {
|
|
/* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/
|
|
regulator-name = "ldo4";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
/* LDO5-8 unused */
|
|
|
|
ldo9_reg: ldo9 {
|
|
/* VDD_RTC */
|
|
regulator-name = "ldo9";
|
|
regulator-min-microvolt = <840000>;
|
|
regulator-max-microvolt = <1160000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
ldoln_reg: ldoln {
|
|
/* VDDA_1V8_PLL */
|
|
regulator-name = "ldoln";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
ldousb_reg: ldousb {
|
|
/* VDDA_3V_USB: VDDA_USBHS33 */
|
|
regulator-name = "ldousb";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
ldortc_reg: ldortc {
|
|
/* VDDA_RTC */
|
|
regulator-name = "ldortc";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
regen1: regen1 {
|
|
/* VDD_3V3_ON */
|
|
regulator-name = "regen1";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
regen2: regen2 {
|
|
/* Needed for PMIC internal resource */
|
|
regulator-name = "regen2";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
};
|
|
|
|
tps659038_rtc: tps659038_rtc {
|
|
compatible = "ti,palmas-rtc";
|
|
interrupt-parent = <&tps659038>;
|
|
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
|
|
wakeup-source;
|
|
};
|
|
|
|
tps659038_pwr_button: tps659038_pwr_button {
|
|
compatible = "ti,palmas-pwrbutton";
|
|
interrupt-parent = <&tps659038>;
|
|
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
|
|
wakeup-source;
|
|
ti,palmas-long-press-seconds = <12>;
|
|
};
|
|
|
|
tps659038_gpio: tps659038_gpio {
|
|
compatible = "ti,palmas-gpio";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
extcon_usb2: tps659038_usb {
|
|
compatible = "ti,palmas-usb-vid";
|
|
ti,enable-vbus-detection;
|
|
ti,enable-id-detection;
|
|
/* ID & VBUS GPIOs provided in board dts */
|
|
};
|
|
};
|
|
|
|
tpic2810: tpic2810@60 {
|
|
compatible = "ti,tpic2810";
|
|
reg = <0x60>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
};
|
|
|
|
&mcspi3 {
|
|
status = "okay";
|
|
ti,pindir-d0-out-d1-in;
|
|
|
|
sn65hvs882: sn65hvs882@0 {
|
|
compatible = "pisosr-gpio";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
reg = <0>;
|
|
spi-max-frequency = <1000000>;
|
|
spi-cpol;
|
|
};
|
|
};
|
|
|
|
&uart3 {
|
|
status = "okay";
|
|
interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH
|
|
&dra7_pmx_core 0x248>;
|
|
};
|
|
|
|
&rtc {
|
|
status = "okay";
|
|
ext-clk-src;
|
|
};
|
|
|
|
&mac {
|
|
status = "okay";
|
|
dual_emac;
|
|
};
|
|
|
|
&cpsw_emac0 {
|
|
phy_id = <&davinci_mdio>, <0>;
|
|
phy-mode = "rgmii";
|
|
dual_emac_res_vlan = <1>;
|
|
};
|
|
|
|
&cpsw_emac1 {
|
|
phy_id = <&davinci_mdio>, <1>;
|
|
phy-mode = "rgmii";
|
|
dual_emac_res_vlan = <2>;
|
|
};
|
|
|
|
&usb2_phy1 {
|
|
phy-supply = <&ldousb_reg>;
|
|
};
|
|
|
|
&usb2_phy2 {
|
|
phy-supply = <&ldousb_reg>;
|
|
};
|
|
|
|
&usb1 {
|
|
dr_mode = "host";
|
|
};
|
|
|
|
&usb2 {
|
|
dr_mode = "peripheral";
|
|
};
|
|
|
|
&mmc1 {
|
|
status = "okay";
|
|
vmmc-supply = <&v3_3d>;
|
|
vqmmc-supply = <&ldo1_reg>;
|
|
bus-width = <4>;
|
|
cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
|
|
};
|
|
|
|
&mmc2 {
|
|
status = "okay";
|
|
vmmc-supply = <&v3_3d>;
|
|
vqmmc-supply = <&v3_3d>;
|
|
bus-width = <8>;
|
|
ti,non-removable;
|
|
max-frequency = <96000000>;
|
|
};
|
|
|
|
&dcan1 {
|
|
status = "okay";
|
|
pinctrl-names = "default", "sleep", "active";
|
|
pinctrl-0 = <&dcan1_pins_sleep>;
|
|
pinctrl-1 = <&dcan1_pins_sleep>;
|
|
pinctrl-2 = <&dcan1_pins_default>;
|
|
};
|
|
|
|
&qspi {
|
|
status = "okay";
|
|
|
|
spi-max-frequency = <76800000>;
|
|
m25p80@0 {
|
|
compatible = "s25fl256s1", "jedec,spi-nor";
|
|
spi-max-frequency = <76800000>;
|
|
reg = <0>;
|
|
spi-tx-bus-width = <1>;
|
|
spi-rx-bus-width = <4>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
/* MTD partition table.
|
|
* The ROM checks the first four physical blocks
|
|
* for a valid file to boot and the flash here is
|
|
* 64KiB block size.
|
|
*/
|
|
partition@0 {
|
|
label = "QSPI.SPL";
|
|
reg = <0x00000000 0x000040000>;
|
|
};
|
|
partition@1 {
|
|
label = "QSPI.u-boot";
|
|
reg = <0x00040000 0x00100000>;
|
|
};
|
|
partition@2 {
|
|
label = "QSPI.u-boot-spl-os";
|
|
reg = <0x00140000 0x00080000>;
|
|
};
|
|
partition@3 {
|
|
label = "QSPI.u-boot-env";
|
|
reg = <0x001c0000 0x00010000>;
|
|
};
|
|
partition@4 {
|
|
label = "QSPI.u-boot-env.backup1";
|
|
reg = <0x001d0000 0x0010000>;
|
|
};
|
|
partition@5 {
|
|
label = "QSPI.kernel";
|
|
reg = <0x001e0000 0x0800000>;
|
|
};
|
|
partition@6 {
|
|
label = "QSPI.file-system";
|
|
reg = <0x009e0000 0x01620000>;
|
|
};
|
|
};
|
|
};
|