X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0614-overlays-Add-i2c0-and-i2c1-for-regularity.patch;fp=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0614-overlays-Add-i2c0-and-i2c1-for-regularity.patch;h=0000000000000000000000000000000000000000;hb=7d7aa2fd924c27829ec25f825481554dd81bce97;hp=5b2c17bed7bee0ff3715f54943ce8b280195b45c;hpb=e7bfda2c243e66a75ff966ba04c28b1590b5d24c;p=openwrt%2Fstaging%2Fchunkeey.git diff --git a/target/linux/brcm2708/patches-4.19/950-0614-overlays-Add-i2c0-and-i2c1-for-regularity.patch b/target/linux/brcm2708/patches-4.19/950-0614-overlays-Add-i2c0-and-i2c1-for-regularity.patch deleted file mode 100644 index 5b2c17bed7..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0614-overlays-Add-i2c0-and-i2c1-for-regularity.patch +++ /dev/null @@ -1,340 +0,0 @@ -From 9c0f4b3e3b197d5c81f4bd6679f2c2456ab45c9e Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Wed, 17 Jul 2019 10:08:55 +0100 -Subject: [PATCH] overlays: Add i2c0 and i2c1 for regularity - -The new i2c overlays for pi4 (i2c3, i2c4, i2c5, i2c6) have a -standardised interface that allows pin groups to be chosen -atomically rather than as individual pins. Add i2c0 and i2c1 -overlays to fit the naming scheme and parameter usage, deprecating -i2c0-bcm2708 and i2c1-bcm2708. - -Signed-off-by: Phil Elwell ---- - arch/arm/boot/dts/overlays/Makefile | 2 + - arch/arm/boot/dts/overlays/README | 33 +++++--- - .../dts/overlays/i2c0-bcm2708-overlay.dts | 77 +++---------------- - arch/arm/boot/dts/overlays/i2c0-overlay.dts | 61 +++++++++++++++ - .../dts/overlays/i2c1-bcm2708-overlay.dts | 46 ++--------- - arch/arm/boot/dts/overlays/i2c1-overlay.dts | 44 +++++++++++ - 6 files changed, 147 insertions(+), 116 deletions(-) - create mode 100644 arch/arm/boot/dts/overlays/i2c0-overlay.dts - create mode 100644 arch/arm/boot/dts/overlays/i2c1-overlay.dts - ---- a/arch/arm/boot/dts/overlays/Makefile -+++ b/arch/arm/boot/dts/overlays/Makefile -@@ -66,7 +66,9 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ - i2c-rtc.dtbo \ - i2c-rtc-gpio.dtbo \ - i2c-sensor.dtbo \ -+ i2c0.dtbo \ - i2c0-bcm2708.dtbo \ -+ i2c1.dtbo \ - i2c1-bcm2708.dtbo \ - i2c3.dtbo \ - i2c4.dtbo \ ---- a/arch/arm/boot/dts/overlays/README -+++ b/arch/arm/boot/dts/overlays/README -@@ -1151,14 +1151,12 @@ Params: addr Set the - sensor - - --Name: i2c0-bcm2708 -+Name: i2c0 - Info: Change i2c0 pin usage. Not all pin combinations are usable on all - platforms - platforms other then Compute Modules can only use this - to disable transaction combining. --Load: dtoverlay=i2c0-bcm2708,= --Params: sda0_pin GPIO pin for SDA0 (deprecated - use pins_*) -- scl0_pin GPIO pin for SCL0 (deprecated - use pins_*) -- pins_0_1 Use pins 0 and 1 (default) -+Load: dtoverlay=i2c0,= -+Params: pins_0_1 Use pins 0 and 1 (default) - pins_28_29 Use pins 28 and 29 - pins_44_45 Use pins 44 and 45 - pins_46_47 Use pins 46 and 47 -@@ -1166,18 +1164,33 @@ Params: sda0_pin GPIO pin - "yes") - - --Name: i2c1-bcm2708 -+Name: i2c0-bcm2708 -+Info: Deprecated, legacy version of i2c0, from which it inherits its -+ parameters, just adding the explicit individual pin specifiers. -+Load: -+Params: sda0_pin GPIO pin for SDA0 (deprecated - use pins_*) -+ scl0_pin GPIO pin for SCL0 (deprecated - use pins_*) -+ -+ -+Name: i2c1 - Info: Change i2c1 pin usage. Not all pin combinations are usable on all - platforms - platforms other then Compute Modules can only use this - to disable transaction combining. --Info: Enable the i2c_bcm2708 driver for the i2c1 bus --Load: dtoverlay=i2c1-bcm2708,= -+Load: dtoverlay=i2c1,= -+Params: pins_2_3 Use pins 2 and 3 (default) -+ pins_44_45 Use pins 44 and 45 -+ combine Allow transactions to be combined (default -+ "yes") -+ -+ -+Name: i2c1-bcm2708 -+Info: Deprecated, legacy version of i2c1, from which it inherits its -+ parameters, just adding the explicit individual pin specifiers. -+Load: - Params: sda1_pin GPIO pin for SDA1 (2 or 44 - default 2) - scl1_pin GPIO pin for SCL1 (3 or 45 - default 3) - pin_func Alternative pin function (4 (alt0), 6 (alt2) - - default 4) -- combine Allow transactions to be combined (default -- "yes") - - - Name: i2c3 ---- a/arch/arm/boot/dts/overlays/i2c0-bcm2708-overlay.dts -+++ b/arch/arm/boot/dts/overlays/i2c0-bcm2708-overlay.dts -@@ -1,69 +1,14 @@ --/* -- * Device tree overlay for i2c_bcm2708, i2c0 bus -- * -- * Compile: -- * dtc -@ -I dts -O dtb -o i2c0-bcm2708-overlay.dtb i2c0-bcm2708-overlay.dts -- */ -- --/dts-v1/; --/plugin/; -+#include "i2c0-overlay.dts" - - /{ -- compatible = "brcm,bcm2835"; -- -- fragment@0 { -- target = <&i2c0>; -- __overlay__ { -- status = "okay"; -- }; -- }; -- -- fragment@1 { -- target = <&i2c0_pins>; -- frag1: __overlay__ { -- brcm,pins = <0 1>; -- brcm,function = <4>; /* alt0 */ -- }; -- }; -- -- fragment@2 { -- target = <&i2c0_pins>; -- __dormant__ { -- brcm,pins = <28 29>; -- brcm,function = <4>; /* alt0 */ -- }; -- }; -- -- fragment@3 { -- target = <&i2c0_pins>; -- __dormant__ { -- brcm,pins = <44 45>; -- brcm,function = <5>; /* alt1 */ -- }; -- }; -- -- fragment@4 { -- target = <&i2c0_pins>; -- __dormant__ { -- brcm,pins = <46 47>; -- brcm,function = <4>; /* alt0 */ -- }; -- }; -- -- fragment@5 { -- target = <&i2c0>; -- __dormant__ { -- compatible = "brcm,bcm2708-i2c"; -- }; -- }; -- -- __overrides__ { -- sda0_pin = <&frag1>,"brcm,pins:0"; -- scl0_pin = <&frag1>,"brcm,pins:4"; -- pins_0_1 = <0>,"+1-2-3-4"; -- pins_28_29 = <0>,"-1+2-3-4"; -- pins_44_45 = <0>,"-1-2+3-4"; -- pins_46_47 = <0>,"-1-2-3+4"; -- combine = <0>, "!5"; -- }; -+ __overrides__ { -+ sda0_pin = <&pins1>,"brcm,pins:0", -+ <&pins2>,"brcm,pins:0", -+ <&pins3>,"brcm,pins:0", -+ <&pins4>,"brcm,pins:0"; -+ scl0_pin = <&pins1>,"brcm,pins:4", -+ <&pins2>,"brcm,pins:4", -+ <&pins3>,"brcm,pins:4", -+ <&pins4>,"brcm,pins:4"; -+ }; - }; ---- /dev/null -+++ b/arch/arm/boot/dts/overlays/i2c0-overlay.dts -@@ -0,0 +1,61 @@ -+/dts-v1/; -+/plugin/; -+ -+/{ -+ compatible = "brcm,bcm2835"; -+ -+ fragment@0 { -+ target = <&i2c0>; -+ __overlay__ { -+ status = "okay"; -+ pinctrl-0 = <&i2c0_pins>; -+ }; -+ }; -+ -+ fragment@1 { -+ target = <&i2c0_pins>; -+ pins1: __overlay__ { -+ brcm,pins = <0 1>; -+ brcm,function = <4>; /* alt0 */ -+ }; -+ }; -+ -+ fragment@2 { -+ target = <&i2c0_pins>; -+ pins2: __dormant__ { -+ brcm,pins = <28 29>; -+ brcm,function = <4>; /* alt0 */ -+ }; -+ }; -+ -+ fragment@3 { -+ target = <&i2c0_pins>; -+ pins3: __dormant__ { -+ brcm,pins = <44 45>; -+ brcm,function = <5>; /* alt1 */ -+ }; -+ }; -+ -+ fragment@4 { -+ target = <&i2c0_pins>; -+ pins4: __dormant__ { -+ brcm,pins = <46 47>; -+ brcm,function = <4>; /* alt0 */ -+ }; -+ }; -+ -+ fragment@5 { -+ target = <&i2c0>; -+ __dormant__ { -+ compatible = "brcm,bcm2708-i2c"; -+ }; -+ }; -+ -+ __overrides__ { -+ pins_0_1 = <0>,"+1-2-3-4"; -+ pins_28_29 = <0>,"-1+2-3-4"; -+ pins_44_45 = <0>,"-1-2+3-4"; -+ pins_46_47 = <0>,"-1-2-3+4"; -+ combine = <0>, "!5"; -+ }; -+}; ---- a/arch/arm/boot/dts/overlays/i2c1-bcm2708-overlay.dts -+++ b/arch/arm/boot/dts/overlays/i2c1-bcm2708-overlay.dts -@@ -1,43 +1,9 @@ --/* -- * Device tree overlay for i2c_bcm2708, i2c1 bus -- * -- * Compile: -- * dtc -@ -I dts -O dtb -o i2c1-bcm2708-overlay.dtb i2c1-bcm2708-overlay.dts -- */ -- --/dts-v1/; --/plugin/; -+#include "i2c1-overlay.dts" - - /{ -- compatible = "brcm,bcm2835"; -- -- fragment@0 { -- target = <&i2c1>; -- __overlay__ { -- pinctrl-0 = <&i2c1_pins>; -- status = "okay"; -- }; -- }; -- -- fragment@1 { -- target = <&i2c1_pins>; -- pins: __overlay__ { -- brcm,pins = <2 3>; -- brcm,function = <4>; /* alt 0 */ -- }; -- }; -- -- fragment@2 { -- target = <&i2c1>; -- __dormant__ { -- compatible = "brcm,bcm2708-i2c"; -- }; -- }; -- -- __overrides__ { -- sda1_pin = <&pins>,"brcm,pins:0"; -- scl1_pin = <&pins>,"brcm,pins:4"; -- pin_func = <&pins>,"brcm,function:0"; -- combine = <0>, "!2"; -- }; -+ __overrides__ { -+ sda1_pin = <&pins1>,"brcm,pins:0", <&pins2>,"brcm,pins:0"; -+ scl1_pin = <&pins1>,"brcm,pins:4", <&pins1>,"brcm,pins:4"; -+ pin_func = <&pins1>,"brcm,function:0", <&pins2>,"brcm,function:0"; -+ }; - }; ---- /dev/null -+++ b/arch/arm/boot/dts/overlays/i2c1-overlay.dts -@@ -0,0 +1,44 @@ -+/dts-v1/; -+/plugin/; -+ -+/{ -+ compatible = "brcm,bcm2835"; -+ -+ fragment@0 { -+ target = <&i2c1>; -+ __overlay__ { -+ status = "okay"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c1_pins>; -+ }; -+ }; -+ -+ fragment@1 { -+ target = <&i2c1_pins>; -+ pins1: __overlay__ { -+ brcm,pins = <2 3>; -+ brcm,function = <4>; /* alt 0 */ -+ }; -+ }; -+ -+ fragment@2 { -+ target = <&i2c1_pins>; -+ pins2: __dormant__ { -+ brcm,pins = <44 45>; -+ brcm,function = <6>; /* alt 2 */ -+ }; -+ }; -+ -+ fragment@3 { -+ target = <&i2c1>; -+ __dormant__ { -+ compatible = "brcm,bcm2708-i2c"; -+ }; -+ }; -+ -+ __overrides__ { -+ pins_2_3 = <0>,"=1!2"; -+ pins_44_45 = <0>,"!1=2"; -+ combine = <0>, "!3"; -+ }; -+};