diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0289-overlays-Add-ltc294x-battery-gauge.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.14/950-0289-overlays-Add-ltc294x-battery-gauge.patch | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0289-overlays-Add-ltc294x-battery-gauge.patch b/target/linux/brcm2708/patches-4.14/950-0289-overlays-Add-ltc294x-battery-gauge.patch new file mode 100644 index 0000000000..3195b04505 --- /dev/null +++ b/target/linux/brcm2708/patches-4.14/950-0289-overlays-Add-ltc294x-battery-gauge.patch @@ -0,0 +1,150 @@ +From 585ea300fa44cdf3c3259af68c49518bb85e4af2 Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.org> +Date: Tue, 1 May 2018 09:35:56 +0100 +Subject: [PATCH 289/454] overlays: Add ltc294x (battery gauge) + +Support the LTC294x range of I2C-connected battery monitors. + +See: https://github.com/raspberrypi/linux/issues/2537 + +Signed-off-by: Phil Elwell <phil@raspberrypi.org> +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 25 ++++++ + .../arm/boot/dts/overlays/ltc294x-overlay.dts | 86 +++++++++++++++++++ + 3 files changed, 112 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/ltc294x-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -60,6 +60,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + justboom-dac.dtbo \ + justboom-digi.dtbo \ + lirc-rpi.dtbo \ ++ ltc294x.dtbo \ + mbed-dac.dtbo \ + mcp23017.dtbo \ + mcp23s17.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1020,6 +1020,31 @@ Params: gpio_out_pin GPIO for + (default "off") + + ++Name: ltc294x ++Info: Adds support for the ltc294x family of battery gauges ++Load: dtoverlay=ltc294x,<param>=<val> ++Params: ltc2941 Select the ltc2941 device ++ ++ ltc2942 Select the ltc2942 device ++ ++ ltc2943 Select the ltc2943 device ++ ++ ltc2944 Select the ltc2944 device ++ ++ resistor-sense The sense resistor value in milli-ohms. ++ Can be a 32-bit negative value when the battery ++ has been connected to the wrong end of the ++ resistor. ++ ++ prescaler-exponent Range and accuracy of the gauge. The value is ++ programmed into the chip only if it differs ++ from the current setting. ++ For LTC2941 only: ++ - Default value is 128 ++ - the exponent is in the range 0-7 (default 7) ++ See the datasheet for more information. ++ ++ + Name: mbed-dac + Info: Configures the mbed AudioCODEC (TLV320AIC23B) + Load: dtoverlay=mbed-dac +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/ltc294x-overlay.dts +@@ -0,0 +1,86 @@ ++/dts-v1/; ++/plugin/; ++ ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&i2c_arm>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ ltc2941: ltc2941@64 { ++ compatible = "lltc,ltc2941"; ++ reg = <0x64>; ++ lltc,resistor-sense = <50>; ++ lltc,prescaler-exponent = <7>; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&i2c_arm>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ ltc2942: ltc2942@64 { ++ compatible = "lltc,ltc2942"; ++ reg = <0x64>; ++ lltc,resistor-sense = <50>; ++ lltc,prescaler-exponent = <7>; ++ }; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&i2c_arm>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ ltc2943: ltc2943@64 { ++ compatible = "lltc,ltc2943"; ++ reg = <0x64>; ++ lltc,resistor-sense = <50>; ++ lltc,prescaler-exponent = <7>; ++ }; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&i2c_arm>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ ltc2944: ltc2944@64 { ++ compatible = "lltc,ltc2944"; ++ reg = <0x64>; ++ lltc,resistor-sense = <50>; ++ lltc,prescaler-exponent = <7>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ ltc2941 = <0>,"+0"; ++ ltc2942 = <0>,"+1"; ++ ltc2943 = <0>,"+2"; ++ ltc2944 = <0>,"+3"; ++ resistor-sense = <<c2941>, "lltc,resistor-sense:0", ++ <<c2942>, "lltc,resistor-sense:0", ++ <<c2943>, "lltc,resistor-sense:0", ++ <<c2944>, "lltc,resistor-sense:0"; ++ prescaler-exponent = <<c2941>, "lltc,prescaler-exponent:0", ++ <<c2942>, "lltc,prescaler-exponent:0", ++ <<c2943>, "lltc,prescaler-exponent:0", ++ <<c2944>, "lltc,prescaler-exponent:0"; ++ }; ++}; |