Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

Device-Tree bindings for Active-semi ACT8945A MFD driver

Required properties:
 - compatible: "active-semi,act8945a".
 - reg: the I2C slave address for the ACT8945A chip

The chip exposes two subdevices:
 - a regulators: see ../regulator/act8945a-regulator.txt
 - a charger: see ../power/act8945a-charger.txt

Example:
	pmic@5b {
		compatible = "active-semi,act8945a";
		reg = <0x5b>;

		active-semi,vsel-high;

		regulators {
			vdd_1v35_reg: REG_DCDC1 {
				regulator-name = "VDD_1V35";
				regulator-min-microvolt = <1350000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
			};

			vdd_1v2_reg: REG_DCDC2 {
				regulator-name = "VDD_1V2";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
			};

			vdd_3v3_reg: REG_DCDC3 {
				regulator-name = "VDD_3V3";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_fuse_reg: REG_LDO1 {
				regulator-name = "VDD_FUSE";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;
			};

			vdd_3v3_lp_reg: REG_LDO2 {
				regulator-name = "VDD_3V3_LP";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_led_reg: REG_LDO3 {
				regulator-name = "VDD_LED";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_sdhc_1v8_reg: REG_LDO4 {
				regulator-name = "VDD_SDHC_1V8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};
		};

		charger {
			compatible = "active-semi,act8945a-charger";
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>;
			interrupt-parent = <&pioA>;
			interrupts = <45 GPIO_ACTIVE_LOW>;

			active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>;
			active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>;
			active-semi,input-voltage-threshold-microvolt = <6600>;
			active-semi,precondition-timeout = <40>;
			active-semi,total-timeout = <3>;
		};
	};