mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	Removed upstreamed:
    bcm53xx/patches-5.10/033-v5.16-0014-ARM-dts-NSP-Fix-mpcore-mmc-node-names.patch
Manually rebased:
    ipq806x/patches-5.10/086-ipq8064-fix-duplicate-node.patch
All other patches automatically rebased.
Build system: x86_64
Build-tested: bcm2711/RPi4B, ipq806x/R7800
Run-tested: bcm2711/RPi4B, ipq806x/R7800
Signed-off-by: John Audia <graysky@archlinux.us>
		
	
			
		
			
				
	
	
		
			105 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From de7880016665afe7fa7d40e1fafa859260d53ba1 Mon Sep 17 00:00:00 2001
 | 
						|
From: Christian Lamparter <chunkeey@gmail.com>
 | 
						|
Date: Thu, 28 Oct 2021 09:03:44 +0200
 | 
						|
Subject: [PATCH] ARM: BCM53016: MR32: convert to Broadcom iProc I2C Driver
 | 
						|
MIME-Version: 1.0
 | 
						|
Content-Type: text/plain; charset=UTF-8
 | 
						|
Content-Transfer-Encoding: 8bit
 | 
						|
 | 
						|
replaces the bit-banged i2c-gpio provided i2c functionality
 | 
						|
with the hardware in the SoC.
 | 
						|
 | 
						|
During review of the MR32, Florian Fainelli pointed out that the
 | 
						|
SoC has a real I2C-controller. Furthermore, the connected pins
 | 
						|
(SDA and SCL) would line up perfectly for use. Back then I couldn't
 | 
						|
get it working though and I left it with i2c-gpio (which worked).
 | 
						|
 | 
						|
Now we know the reason: the interrupt was incorrectly specified.
 | 
						|
(Hence, this patch depends on Florian Fainelli's
 | 
						|
"ARM: dts: BCM5301X: Fix I2C controller interrupt" patch).
 | 
						|
 | 
						|
Cc: Florian Fainelli <f.fainelli@gmail.com>
 | 
						|
Cc: Rafał Miłecki <zajec5@gmail.com>
 | 
						|
Cc: Matthew Hagan <mnhagan88@gmail.com>
 | 
						|
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
 | 
						|
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
 | 
						|
---
 | 
						|
 arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 62 ++++++++++------------
 | 
						|
 1 file changed, 28 insertions(+), 34 deletions(-)
 | 
						|
 | 
						|
--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
 | 
						|
+++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
 | 
						|
@@ -84,40 +84,6 @@
 | 
						|
 			max-brightness = <255>;
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
-
 | 
						|
-	i2c {
 | 
						|
-		/*
 | 
						|
-		 * The platform provided I2C does not budge.
 | 
						|
-		 * This is a replacement until I can figure
 | 
						|
-		 * out what are the missing bits...
 | 
						|
-		 */
 | 
						|
-
 | 
						|
-		compatible = "i2c-gpio";
 | 
						|
-		sda-gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
 | 
						|
-		scl-gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
 | 
						|
-		i2c-gpio,delay-us = <10>; /* close to 100 kHz */
 | 
						|
-		#address-cells = <1>;
 | 
						|
-		#size-cells = <0>;
 | 
						|
-
 | 
						|
-		current_sense: ina219@45 {
 | 
						|
-			compatible = "ti,ina219";
 | 
						|
-			reg = <0x45>;
 | 
						|
-			shunt-resistor = <60000>; /* = 60 mOhms */
 | 
						|
-		};
 | 
						|
-
 | 
						|
-		eeprom: eeprom@50 {
 | 
						|
-			compatible = "atmel,24c64";
 | 
						|
-			reg = <0x50>;
 | 
						|
-			pagesize = <32>;
 | 
						|
-			read-only;
 | 
						|
-			#address-cells = <1>;
 | 
						|
-			#size-cells = <1>;
 | 
						|
-
 | 
						|
-			mac_address: mac-address@66 {
 | 
						|
-				reg = <0x66 0x6>;
 | 
						|
-			};
 | 
						|
-		};
 | 
						|
-	};
 | 
						|
 };
 | 
						|
 
 | 
						|
 &uart0 {
 | 
						|
@@ -250,3 +216,31 @@
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
 };
 | 
						|
+
 | 
						|
+&i2c0 {
 | 
						|
+	status = "okay";
 | 
						|
+
 | 
						|
+	pinctrl-names = "default";
 | 
						|
+	pinctrl-0 = <&pinmux_i2c>;
 | 
						|
+
 | 
						|
+	clock-frequency = <100000>;
 | 
						|
+
 | 
						|
+	current_sense: ina219@45 {
 | 
						|
+		compatible = "ti,ina219";
 | 
						|
+		reg = <0x45>;
 | 
						|
+		shunt-resistor = <60000>; /* = 60 mOhms */
 | 
						|
+	};
 | 
						|
+
 | 
						|
+	eeprom: eeprom@50 {
 | 
						|
+		compatible = "atmel,24c64";
 | 
						|
+		reg = <0x50>;
 | 
						|
+		pagesize = <32>;
 | 
						|
+		read-only;
 | 
						|
+		#address-cells = <1>;
 | 
						|
+		#size-cells = <1>;
 | 
						|
+
 | 
						|
+		mac_address: mac-address@66 {
 | 
						|
+			reg = <0x66 0x6>;
 | 
						|
+		};
 | 
						|
+	};
 | 
						|
+};
 |