avionic design with actual uboot and tooling
submodule of avionic design uboot bootloader and with included tools to get you started , read readme.md and readme-tk1-loader.md
This commit is contained in:
38
u-boot/doc/device-tree-bindings/regulator/fixed.txt
Normal file
38
u-boot/doc/device-tree-bindings/regulator/fixed.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
Fixed Voltage regulator
|
||||
|
||||
Binding:
|
||||
The binding is done by the property "compatible" - this is different, than for
|
||||
binding by the node prefix (doc/device-tree-bindings/regulator/regulator.txt).
|
||||
|
||||
Required properties:
|
||||
- compatible: "regulator-fixed"
|
||||
- regulator-name: this is required by the regulator uclass
|
||||
|
||||
Optional properties:
|
||||
- gpio: GPIO to use for enable control
|
||||
- regulator constraints (binding info: regulator.txt)
|
||||
|
||||
Other kernel-style properties, are currently not used.
|
||||
|
||||
Note:
|
||||
For the regulator constraints, driver expects that:
|
||||
- regulator-min-microvolt is equal to regulator-max-microvolt
|
||||
- regulator-min-microamp is equal to regulator-max-microamp
|
||||
|
||||
Example:
|
||||
fixed_regulator@0 {
|
||||
/* Mandatory */
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "LED_3.3V";
|
||||
|
||||
/* Optional: */
|
||||
gpio = <&gpc1 0 GPIO_ACTIVE_LOW>;
|
||||
|
||||
/* Optional for regulator uclass */
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microamp = <15000>;
|
||||
regulator-max-microamp = <15000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
70
u-boot/doc/device-tree-bindings/regulator/max77686.txt
Normal file
70
u-boot/doc/device-tree-bindings/regulator/max77686.txt
Normal file
@@ -0,0 +1,70 @@
|
||||
MAXIM, MAX77686 regulators
|
||||
|
||||
This device uses two drivers:
|
||||
- drivers/power/pmic/max77686.c (as parent I/O device)
|
||||
- drivers/power/regulator/max77686.c (for child regulators)
|
||||
|
||||
This file describes the binding info for the REGULATOR driver.
|
||||
|
||||
First, please read the binding info for the pmic:
|
||||
- doc/device-tree-bindings/pmic/max77686.txt
|
||||
|
||||
Required subnode:
|
||||
- voltage-regulators: required for the PMIC driver
|
||||
|
||||
Required properties:
|
||||
- regulator-name: used for regulator uclass platform data '.name'
|
||||
|
||||
Optional:
|
||||
- regulator-min-microvolt: minimum allowed Voltage to set
|
||||
- regulator-max-microvolt: minimum allowed Voltage to set
|
||||
- regulator-always-on: regulator should be never disabled
|
||||
- regulator-boot-on: regulator should be enabled by the bootloader
|
||||
|
||||
Example:
|
||||
(subnode of max77686 pmic node)
|
||||
voltage-regulators {
|
||||
ldo1 {
|
||||
regulator-name = "VDD_ALIVE_1.0V";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo2 {
|
||||
regulator-name = "VDDQ_VM1M2_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
.
|
||||
.
|
||||
.
|
||||
ldo26 {
|
||||
regulator-name = "nc";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
buck1 {
|
||||
regulator-compatible = "BUCK1";
|
||||
regulator-name = "VDD_MIF_1.0V";
|
||||
regulator-min-microvolt = <8500000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
.
|
||||
.
|
||||
.
|
||||
buck9 {
|
||||
regulator-compatible = "BUCK9";
|
||||
regulator-name = "nc";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
};
|
||||
51
u-boot/doc/device-tree-bindings/regulator/regulator.txt
Normal file
51
u-boot/doc/device-tree-bindings/regulator/regulator.txt
Normal file
@@ -0,0 +1,51 @@
|
||||
Voltage/Current regulator
|
||||
|
||||
Binding:
|
||||
The regulator devices don't use the "compatible" property. The binding is done
|
||||
by the prefix of regulator node's name. Usually the pmic I/O driver will provide
|
||||
the array of 'struct pmic_child_info' with the prefixes and compatible drivers.
|
||||
The bind is done by calling function: pmic_bind_childs().
|
||||
Example drivers:
|
||||
pmic: drivers/power/pmic/max77686.c
|
||||
regulator: drivers/power/regulator/max77686.c
|
||||
|
||||
For the node name e.g.: "prefix[:alpha:]num { ... }":
|
||||
- the driver prefix should be: "prefix" or "PREFIX" - case insensitive
|
||||
- the node name's "num" is set as "dev->driver_data" on bind
|
||||
|
||||
Example the prefix "ldo" will pass for: "ldo1", "ldo@1", "LDO1", "LDOREG@1"...
|
||||
|
||||
Optional properties:
|
||||
- regulator-name: a string, required by the regulator uclass
|
||||
- regulator-min-microvolt: a minimum allowed Voltage value
|
||||
- regulator-max-microvolt: a maximum allowed Voltage value
|
||||
- regulator-min-microamp: a minimum allowed Current value
|
||||
- regulator-max-microamp: a maximum allowed Current value
|
||||
- regulator-always-on: regulator should never be disabled
|
||||
- regulator-boot-on: enabled by bootloader/firmware
|
||||
|
||||
Note
|
||||
The "regulator-name" constraint is used for setting the device's uclass
|
||||
platform data '.name' field. And the regulator device name is set from
|
||||
it's node name. If "regulator-name" is not provided in dts, node name
|
||||
is chosen for setting the device's uclass platform data '.name' field.
|
||||
|
||||
Other kernel-style properties, are currently not used.
|
||||
|
||||
Note:
|
||||
For the regulator autoset from constraints, the framework expects that:
|
||||
- regulator-min-microvolt is equal to regulator-max-microvolt
|
||||
- regulator-min-microamp is equal to regulator-max-microamp
|
||||
- regulator-always-on or regulator-boot-on is set
|
||||
|
||||
Example:
|
||||
ldo0 {
|
||||
/* Optional */
|
||||
regulator-name = "VDDQ_EMMC_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-min-microamp = <100000>;
|
||||
regulator-max-microamp = <100000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
45
u-boot/doc/device-tree-bindings/regulator/sandbox.txt
Normal file
45
u-boot/doc/device-tree-bindings/regulator/sandbox.txt
Normal file
@@ -0,0 +1,45 @@
|
||||
Sandbox, PMIC regulators
|
||||
|
||||
This device uses two drivers:
|
||||
- drivers/power/pmic/sandbox.c (as parent I/O device)
|
||||
- drivers/power/regulator/sandbox.c (for child regulators)
|
||||
|
||||
This file describes the binding info for the REGULATOR driver.
|
||||
|
||||
First, please read the binding info for the PMIC:
|
||||
- doc/device-tree-bindings/pmic/sandbox.txt
|
||||
|
||||
Required subnodes:
|
||||
- ldoN { };
|
||||
- buckN { };
|
||||
|
||||
The sandbox PMIC can support: ldo1, ldo2, buck1, buck2.
|
||||
|
||||
For each PMIC's regulator subnode, there is one required property:
|
||||
- regulator-name: used for regulator uclass platform data '.name'
|
||||
|
||||
Optional:
|
||||
- regulator-min-microvolt: minimum allowed Voltage to set
|
||||
- regulator-max-microvolt: minimum allowed Voltage to set
|
||||
- regulator-min-microamps: minimum allowed Current limit to set (LDO1/BUCK1)
|
||||
- regulator-max-microamps: minimum allowed Current limit to set (LDO1/BUCK1)
|
||||
- regulator-always-on: regulator should be never disabled
|
||||
- regulator-boot-on: regulator should be enabled by the bootloader
|
||||
|
||||
Example PMIC's regulator subnodes:
|
||||
|
||||
ldo1 {
|
||||
regulator-name = "VDD_1.0V";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-min-microamps = <100000>;
|
||||
regulator-max-microamps = <400000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck2 {
|
||||
regulator-name = "VDD_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
122
u-boot/doc/device-tree-bindings/regulator/tps65090.txt
Normal file
122
u-boot/doc/device-tree-bindings/regulator/tps65090.txt
Normal file
@@ -0,0 +1,122 @@
|
||||
TPS65090 regulators
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,tps65090"
|
||||
- reg: I2C slave address
|
||||
- interrupts: the interrupt outputs of the controller
|
||||
- regulators: A node that houses a sub-node for each regulator within the
|
||||
device. Each sub-node is identified using the node's name, with valid
|
||||
values listed below. The content of each sub-node is defined by the
|
||||
standard binding for regulators; see regulator.txt.
|
||||
dcdc[1-3], fet[1-7] and ldo[1-2] respectively.
|
||||
- vsys[1-3]-supply: The input supply for DCDC[1-3] respectively.
|
||||
- infet[1-7]-supply: The input supply for FET[1-7] respectively.
|
||||
- vsys-l[1-2]-supply: The input supply for LDO[1-2] respectively.
|
||||
|
||||
Optional properties:
|
||||
- ti,enable-ext-control: This is applicable for DCDC1, DCDC2 and DCDC3.
|
||||
If DCDCs are externally controlled then this property should be there.
|
||||
- "dcdc-ext-control-gpios: This is applicable for DCDC1, DCDC2 and DCDC3.
|
||||
If DCDCs are externally controlled and if it is from GPIO then GPIO
|
||||
number should be provided. If it is externally controlled and no GPIO
|
||||
entry then driver will just configure this rails as external control
|
||||
and will not provide any enable/disable APIs.
|
||||
|
||||
Each regulator is defined using the standard binding for regulators.
|
||||
|
||||
Example:
|
||||
|
||||
tps65090@48 {
|
||||
compatible = "ti,tps65090";
|
||||
reg = <0x48>;
|
||||
interrupts = <0 88 0x4>;
|
||||
|
||||
vsys1-supply = <&some_reg>;
|
||||
vsys2-supply = <&some_reg>;
|
||||
vsys3-supply = <&some_reg>;
|
||||
infet1-supply = <&some_reg>;
|
||||
infet2-supply = <&some_reg>;
|
||||
infet3-supply = <&some_reg>;
|
||||
infet4-supply = <&some_reg>;
|
||||
infet5-supply = <&some_reg>;
|
||||
infet6-supply = <&some_reg>;
|
||||
infet7-supply = <&some_reg>;
|
||||
vsys_l1-supply = <&some_reg>;
|
||||
vsys_l2-supply = <&some_reg>;
|
||||
|
||||
regulators {
|
||||
dcdc1 {
|
||||
regulator-name = "dcdc1";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
ti,enable-ext-control;
|
||||
dcdc-ext-control-gpios = <&gpio 10 0>;
|
||||
};
|
||||
|
||||
dcdc2 {
|
||||
regulator-name = "dcdc2";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dcdc3 {
|
||||
regulator-name = "dcdc3";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
fet1 {
|
||||
regulator-name = "fet1";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
fet2 {
|
||||
regulator-name = "fet2";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
fet3 {
|
||||
regulator-name = "fet3";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
fet4 {
|
||||
regulator-name = "fet4";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
fet5 {
|
||||
regulator-name = "fet5";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
fet6 {
|
||||
regulator-name = "fet6";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
fet7 {
|
||||
regulator-name = "fet7";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user