mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 15:14:52 +00:00

The "ldo-io0" and "ldo-io1" regulators are enabled/disabled by toggling the pinmux between two functions. This happens in the regulator driver. Setting the pinmux to "ldo" in the DT is inappropriate because it would enable the regulator before the driver has a chance to set the correct initial voltage. Signed-off-by: Samuel Holland <samuel@sholland.org> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com> Link: https://lore.kernel.org/r/20220916042751.47906-2-samuel@sholland.org Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
146 lines
2.6 KiB
Plaintext
146 lines
2.6 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
// Copyright 2017 Icenowy Zheng <icenowy@aosc.xyz>
|
|
|
|
/*
|
|
* AXP803 Integrated Power Management Chip
|
|
* http://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf
|
|
*/
|
|
|
|
&axp803 {
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
|
|
ac_power_supply: ac-power {
|
|
compatible = "x-powers,axp803-ac-power-supply",
|
|
"x-powers,axp813-ac-power-supply";
|
|
status = "disabled";
|
|
};
|
|
|
|
axp_adc: adc {
|
|
compatible = "x-powers,axp803-adc", "x-powers,axp813-adc";
|
|
#io-channel-cells = <1>;
|
|
};
|
|
|
|
axp_gpio: gpio {
|
|
compatible = "x-powers,axp803-gpio", "x-powers,axp813-gpio";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
battery_power_supply: battery-power {
|
|
compatible = "x-powers,axp803-battery-power-supply",
|
|
"x-powers,axp813-battery-power-supply";
|
|
status = "disabled";
|
|
};
|
|
|
|
regulators {
|
|
/* Default work frequency for buck regulators */
|
|
x-powers,dcdc-freq = <3000>;
|
|
|
|
reg_aldo1: aldo1 {
|
|
regulator-name = "aldo1";
|
|
};
|
|
|
|
reg_aldo2: aldo2 {
|
|
regulator-name = "aldo2";
|
|
};
|
|
|
|
reg_aldo3: aldo3 {
|
|
regulator-name = "aldo3";
|
|
};
|
|
|
|
reg_dc1sw: dc1sw {
|
|
regulator-name = "dc1sw";
|
|
};
|
|
|
|
reg_dcdc1: dcdc1 {
|
|
regulator-name = "dcdc1";
|
|
};
|
|
|
|
reg_dcdc2: dcdc2 {
|
|
regulator-name = "dcdc2";
|
|
};
|
|
|
|
reg_dcdc3: dcdc3 {
|
|
regulator-name = "dcdc3";
|
|
};
|
|
|
|
reg_dcdc4: dcdc4 {
|
|
regulator-name = "dcdc4";
|
|
};
|
|
|
|
reg_dcdc5: dcdc5 {
|
|
regulator-name = "dcdc5";
|
|
};
|
|
|
|
reg_dcdc6: dcdc6 {
|
|
regulator-name = "dcdc6";
|
|
};
|
|
|
|
reg_dldo1: dldo1 {
|
|
regulator-name = "dldo1";
|
|
};
|
|
|
|
reg_dldo2: dldo2 {
|
|
regulator-name = "dldo2";
|
|
};
|
|
|
|
reg_dldo3: dldo3 {
|
|
regulator-name = "dldo3";
|
|
};
|
|
|
|
reg_dldo4: dldo4 {
|
|
regulator-name = "dldo4";
|
|
};
|
|
|
|
reg_eldo1: eldo1 {
|
|
regulator-name = "eldo1";
|
|
};
|
|
|
|
reg_eldo2: eldo2 {
|
|
regulator-name = "eldo2";
|
|
};
|
|
|
|
reg_eldo3: eldo3 {
|
|
regulator-name = "eldo3";
|
|
};
|
|
|
|
reg_fldo1: fldo1 {
|
|
regulator-name = "fldo1";
|
|
};
|
|
|
|
reg_fldo2: fldo2 {
|
|
regulator-name = "fldo2";
|
|
};
|
|
|
|
reg_ldo_io0: ldo-io0 {
|
|
regulator-name = "ldo-io0";
|
|
status = "disabled";
|
|
};
|
|
|
|
reg_ldo_io1: ldo-io1 {
|
|
regulator-name = "ldo-io1";
|
|
status = "disabled";
|
|
};
|
|
|
|
reg_rtc_ldo: rtc-ldo {
|
|
/* RTC_LDO is a fixed, always-on regulator */
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-name = "rtc-ldo";
|
|
};
|
|
|
|
reg_drivevbus: drivevbus {
|
|
regulator-name = "drivevbus";
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
usb_power_supply: usb-power {
|
|
compatible = "x-powers,axp803-usb-power-supply",
|
|
"x-powers,axp813-usb-power-supply";
|
|
status = "disabled";
|
|
};
|
|
};
|