mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 19:30:53 +07:00
fa4a925230
Cadhu have multiple power rails which are controlled by GPIOs. Add support of these power rail control through fixed regulators. Add entry for all fixed regulators for cardhu-a02 and a04. The details are taken from downstream kernel. Some points on this change are: * Add the tps65910-LDO5 entry and make it always ON to supply power to SDMMC. Once the sd driver support regulator handling, this flag will be remove. * Dropping registration of rail vdd_sdmmc1 as the gpio is used by sdhci power-gpio. This need to fix in sdhci driver and then need to add the registration mechanism. Just removing power-gpio and adding fixed regulator with this gpio is causing the sd access to fail because first probe call of this regulator fails due to non-available of parent and so it calls gpio_free() which disable the pins in gpio mode make pin output to LOW causes power to OFF. In probe retry, it got success and it powered-on but it again need to do again numeration of card here. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
88 lines
2.0 KiB
Plaintext
88 lines
2.0 KiB
Plaintext
/dts-v1/;
|
|
|
|
/include/ "tegra30-cardhu.dtsi"
|
|
|
|
/* This dts file support the cardhu A02 version of board */
|
|
|
|
/ {
|
|
model = "NVIDIA Tegra30 Cardhu A02 evaluation board";
|
|
compatible = "nvidia,cardhu-a02", "nvidia,cardhu", "nvidia,tegra30";
|
|
|
|
regulators {
|
|
compatible = "simple-bus";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
ddr_reg: regulator@100 {
|
|
compatible = "regulator-fixed";
|
|
reg = <100>;
|
|
regulator-name = "vdd_ddr";
|
|
regulator-min-microvolt = <1500000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
enable-active-high;
|
|
gpio = <&pmic 6 0>;
|
|
};
|
|
|
|
sys_3v3_reg: regulator@101 {
|
|
compatible = "regulator-fixed";
|
|
reg = <101>;
|
|
regulator-name = "sys_3v3";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
enable-active-high;
|
|
gpio = <&pmic 7 0>;
|
|
};
|
|
|
|
usb1_vbus_reg: regulator@102 {
|
|
compatible = "regulator-fixed";
|
|
reg = <102>;
|
|
regulator-name = "usb1_vbus";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
enable-active-high;
|
|
gpio = <&gpio 68 0>; /* GPIO PI4 */
|
|
gpio-open-drain;
|
|
vin-supply = <&vdd_5v0_reg>;
|
|
};
|
|
|
|
usb3_vbus_reg: regulator@103 {
|
|
compatible = "regulator-fixed";
|
|
reg = <103>;
|
|
regulator-name = "usb3_vbus";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
enable-active-high;
|
|
gpio = <&gpio 63 0>; /* GPIO PH7 */
|
|
gpio-open-drain;
|
|
vin-supply = <&vdd_5v0_reg>;
|
|
};
|
|
|
|
vdd_5v0_reg: regulator@104 {
|
|
compatible = "regulator-fixed";
|
|
reg = <104>;
|
|
regulator-name = "5v0";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
enable-active-high;
|
|
gpio = <&pmic 2 0>;
|
|
};
|
|
|
|
vdd_bl_reg: regulator@105 {
|
|
compatible = "regulator-fixed";
|
|
reg = <105>;
|
|
regulator-name = "vdd_bl";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
enable-active-high;
|
|
gpio = <&gpio 83 0>; /* GPIO PK3 */
|
|
};
|
|
};
|
|
};
|
|
|