diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2020-02-04 19:02:53 +0100 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2020-02-04 19:14:13 +0100 |
commit | 84d555aa74434392b682fd9eb0fa701c89a046d6 (patch) | |
tree | bcc0a9bf058757da14054bce61a8cb8b8c9cd873 /target/linux/brcm2708/patches-4.19/950-0780-overlays-Make-mcp342x-run-time-compatible.patch | |
parent | 953973c2991e8640549a55df7a0574a1abac8644 (diff) | |
download | upstream-84d555aa74434392b682fd9eb0fa701c89a046d6.tar.gz upstream-84d555aa74434392b682fd9eb0fa701c89a046d6.tar.bz2 upstream-84d555aa74434392b682fd9eb0fa701c89a046d6.zip |
brcm2708: update to latest patches from RPi foundation
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0780-overlays-Make-mcp342x-run-time-compatible.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0780-overlays-Make-mcp342x-run-time-compatible.patch | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0780-overlays-Make-mcp342x-run-time-compatible.patch b/target/linux/brcm2708/patches-4.19/950-0780-overlays-Make-mcp342x-run-time-compatible.patch new file mode 100644 index 0000000000..900cbb2ca8 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0780-overlays-Make-mcp342x-run-time-compatible.patch @@ -0,0 +1,209 @@ +From e650f4bfbe9a09e5b75d702884a8ba8d9df6ccdf Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.org> +Date: Mon, 9 Dec 2019 12:32:20 +0000 +Subject: [PATCH] overlays: Make mcp342x run-time compatible + +The order of processing of run-time overlays differs from that done by +the firmware. This means that certain parameter processing techniques +are not compatible with run-time use. The mcp342x overlay is one such +overlay, but it is easy to change the implementation without changing +the interface. + +See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=258294 + +Signed-off-by: Phil Elwell <phil@raspberrypi.org> +--- + .../arm/boot/dts/overlays/mcp342x-overlay.dts | 133 ++++++++++++++---- + 1 file changed, 102 insertions(+), 31 deletions(-) + +--- a/arch/arm/boot/dts/overlays/mcp342x-overlay.dts ++++ b/arch/arm/boot/dts/overlays/mcp342x-overlay.dts +@@ -8,14 +8,15 @@ + + fragment@0 { + target = <&i2c1>; +- __overlay__ { ++ __dormant__ { + #address-cells = <1>; + #size-cells = <0>; + + status = "okay"; + +- mcp342x: mcp@68 { ++ mcp3421: mcp@68 { + reg = <0x68>; ++ compatible = "microchip,mcp3421"; + + status = "okay"; + }; +@@ -23,71 +24,141 @@ + }; + + fragment@1 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3421"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3422: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3422"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@2 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3422"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3423: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3423"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@3 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3423"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3424: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3424"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@4 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3424"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3425: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3425","mcp3425"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@5 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3425"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3426: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3426"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@6 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3426"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp3427: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3427"; ++ ++ status = "okay"; ++ }; + }; + }; + + fragment@7 { +- target = <&mcp342x>; ++ target = <&i2c1>; + __dormant__ { +- compatible = "microchip,mcp3427"; +- }; +- }; ++ #address-cells = <1>; ++ #size-cells = <0>; + +- fragment@8 { +- target = <&mcp342x>; +- __dormant__ { +- compatible = "microchip,mcp3428"; ++ status = "okay"; ++ ++ mcp3428: mcp@68 { ++ reg = <0x68>; ++ compatible = "microchip,mcp3428"; ++ ++ status = "okay"; ++ }; + }; + }; + + __overrides__ { +- addr = <&mcp342x>,"reg:0"; +- mcp3421 = <0>,"=1"; +- mcp3422 = <0>,"=2"; +- mcp3423 = <0>,"=3"; +- mcp3424 = <0>,"=4"; +- mcp3425 = <0>,"=5"; +- mcp3426 = <0>,"=6"; +- mcp3427 = <0>,"=7"; +- mcp3428 = <0>,"=8"; ++ addr = <&mcp3421>,"reg:0", ++ <&mcp3422>,"reg:0", ++ <&mcp3423>,"reg:0", ++ <&mcp3424>,"reg:0", ++ <&mcp3425>,"reg:0", ++ <&mcp3426>,"reg:0", ++ <&mcp3427>,"reg:0", ++ <&mcp3428>,"reg:0"; ++ mcp3421 = <0>,"=0"; ++ mcp3422 = <0>,"=1"; ++ mcp3423 = <0>,"=2"; ++ mcp3424 = <0>,"=3"; ++ mcp3425 = <0>,"=4"; ++ mcp3426 = <0>,"=5"; ++ mcp3427 = <0>,"=6"; ++ mcp3428 = <0>,"=7"; + }; + }; + |