mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-29 22:33:44 +09:00
![Krzysztof Kozlowski](/assets/img/avatar_default.png)
Add startup time to LDO regulators of S2MPS11 PMIC on Odroid XU3/XU4/HC1 family of boards to be sure the voltage is proper before relying on the regulator. The datasheet for all the S2MPS1x family is inconsistent here and does not specify unambiguously the value of ramp delay for LDO. It mentions 30 mV/us in one timing diagram but then omits it completely in LDO regulator characteristics table (it is specified for bucks). However the vendor kernels for Galaxy S5 and Odroid XU3 use values of 12 mV/us or 24 mV/us. Without the ramp delay value the consumers do not wait for voltage settle after changing it. Although the proper value of ramp delay for LDOs is unknown, it seems safer to use at least some value from reference kernel than to leave it unset. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Lukasz Majewski <lukma@denx.de> Tested-by: Anand Moon <linux.amoon@gmail.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
295 lines
6.9 KiB
Plaintext
295 lines
6.9 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Odroid XU3 device tree source
|
|
*
|
|
* Copyright (c) 2014 Samsung Electronics Co., Ltd.
|
|
* http://www.samsung.com
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "exynos54xx.dtsi"
|
|
|
|
/ {
|
|
model = "Odroid XU3 based on EXYNOS5422";
|
|
compatible = "samsung,odroidxu3", "samsung,exynos5";
|
|
|
|
aliases {
|
|
serial0 = "/serial@12C00000";
|
|
console = "/serial@12C20000";
|
|
};
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0x40000000 0x10000000
|
|
0x50000000 0x10000000
|
|
0x60000000 0x10000000
|
|
0x70000000 0x10000000
|
|
0x80000000 0x10000000
|
|
0x90000000 0x10000000
|
|
0xa0000000 0x10000000
|
|
0xb0000000 0xea00000>;
|
|
};
|
|
|
|
adc@12D10000 {
|
|
u-boot,dm-pre-reloc;
|
|
vdd-supply = <&ldo4_reg>;
|
|
status = "okay";
|
|
};
|
|
|
|
i2c@12CA0000 {
|
|
s2mps11_pmic@66 {
|
|
compatible = "samsung,s2mps11-pmic";
|
|
reg = <0x66>;
|
|
voltage-regulators {
|
|
ldo1_reg: LDO1 {
|
|
regulator-name = "vdd_ldo1";
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo3_reg: LDO3 {
|
|
regulator-name = "vddq_mmc0";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
};
|
|
|
|
ldo4_reg: LDO4 {
|
|
regulator-name = "vdd_adc";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
};
|
|
|
|
ldo5_reg: LDO5 {
|
|
regulator-name = "vdd_ldo5";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo6_reg: LDO6 {
|
|
regulator-name = "vdd_ldo6";
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo7_reg: LDO7 {
|
|
regulator-name = "vdd_ldo7";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo8_reg: LDO8 {
|
|
regulator-name = "vdd_ldo8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo9_reg: LDO9 {
|
|
regulator-name = "vdd_ldo9";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo10_reg: LDO10 {
|
|
regulator-name = "vdd_ldo10";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo11_reg: LDO11 {
|
|
regulator-name = "vdd_ldo11";
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo12_reg: LDO12 {
|
|
regulator-name = "vdd_ldo12";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo13_reg: LDO13 {
|
|
regulator-name = "vddq_mmc2";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
};
|
|
|
|
ldo15_reg: LDO15 {
|
|
regulator-name = "vdd_ldo15";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo16_reg: LDO16 {
|
|
regulator-name = "vdd_ldo16";
|
|
regulator-min-microvolt = <2200000>;
|
|
regulator-max-microvolt = <2200000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo17_reg: LDO17 {
|
|
regulator-name = "vdd_ldo17";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo18_reg: LDO18 {
|
|
regulator-name = "vdd_emmc_1V8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
};
|
|
|
|
ldo19_reg: LDO19 {
|
|
regulator-name = "vdd_sd";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
};
|
|
|
|
ldo24_reg: LDO24 {
|
|
regulator-name = "tsp_io";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
ldo26_reg: LDO26 {
|
|
regulator-name = "vdd_ldo26";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-ramp-delay = <12000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
buck1_reg: BUCK1 {
|
|
regulator-name = "vdd_mif";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck2_reg: BUCK2 {
|
|
regulator-name = "vdd_arm";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck3_reg: BUCK3 {
|
|
regulator-name = "vdd_int";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1400000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck4_reg: BUCK4 {
|
|
regulator-name = "vdd_g3d";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1400000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck5_reg: BUCK5 {
|
|
regulator-name = "vdd_mem";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1400000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck6_reg: BUCK6 {
|
|
regulator-name = "vdd_kfc";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck7_reg: BUCK7 {
|
|
regulator-name = "vdd_1.0v_ldo";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck8_reg: BUCK8 {
|
|
regulator-name = "vdd_1.8v_ldo";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck9_reg: BUCK9 {
|
|
regulator-name = "vdd_2.8v_ldo";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3750000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck10_reg: BUCK10 {
|
|
regulator-name = "vdd_vmem";
|
|
regulator-min-microvolt = <2850000>;
|
|
regulator-max-microvolt = <2850000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
ehci@12110000 {
|
|
samsung,vbus-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
serial@12C20000 {
|
|
status="okay";
|
|
};
|
|
|
|
mmc@12200000 {
|
|
fifoth_val = <0x201f0020>;
|
|
};
|
|
|
|
mmc@12220000 {
|
|
fifoth_val = <0x201f0020>;
|
|
};
|
|
|
|
emmc-reset {
|
|
compatible = "samsung,emmc-reset";
|
|
reset-gpio = <&gpd1 0 0>;
|
|
};
|
|
};
|