mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			80 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 1e1641adaaf26aaf218831d1c39ff1720c59e8c9 Mon Sep 17 00:00:00 2001
 | 
						|
From: Clarke X <1014930533@qq.com>
 | 
						|
Date: Sat, 8 Apr 2023 11:29:16 +0800
 | 
						|
Subject: [PATCH] overlays: Add pcf857x support
 | 
						|
 | 
						|
Add pcf857x overlay with related documents.
 | 
						|
 | 
						|
Signed-off-by: Clarke X <1014930533@qq.com>
 | 
						|
---
 | 
						|
 arch/arm/boot/dts/overlays/Makefile           |  1 +
 | 
						|
 arch/arm/boot/dts/overlays/README             | 11 +++++++
 | 
						|
 .../arm/boot/dts/overlays/pcf857x-overlay.dts | 32 +++++++++++++++++++
 | 
						|
 3 files changed, 44 insertions(+)
 | 
						|
 create mode 100644 arch/arm/boot/dts/overlays/pcf857x-overlay.dts
 | 
						|
 | 
						|
--- a/arch/arm/boot/dts/overlays/Makefile
 | 
						|
+++ b/arch/arm/boot/dts/overlays/Makefile
 | 
						|
@@ -167,6 +167,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
 | 
						|
 	ov9281.dtbo \
 | 
						|
 	papirus.dtbo \
 | 
						|
 	pca953x.dtbo \
 | 
						|
+	pcf857x.dtbo \
 | 
						|
 	pcie-32bit-dma.dtbo \
 | 
						|
 	pibell.dtbo \
 | 
						|
 	pifacedigital.dtbo \
 | 
						|
--- a/arch/arm/boot/dts/overlays/README
 | 
						|
+++ b/arch/arm/boot/dts/overlays/README
 | 
						|
@@ -3065,6 +3065,17 @@ Params: addr                    I2C addr
 | 
						|
         xra1202                 Select the Exar XRA1202 (8 bit)
 | 
						|
 
 | 
						|
 
 | 
						|
+Name:   pcf857x
 | 
						|
+Info:   NXP PCF857x family of I2C GPIO expanders.
 | 
						|
+Load:   dtoverlay=pcf857x,<param>=<val>
 | 
						|
+Params: addr                    I2C address of expander. Default
 | 
						|
+                                depends on model selected.
 | 
						|
+        pcf8574                 Select the NXP PCF8574 (8 bit)
 | 
						|
+        pcf8574a                Select the NXP PCF8574A (8 bit)
 | 
						|
+        pcf8575                 Select the NXP PCF8575 (16 bit)
 | 
						|
+        pca8574                 Select the NXP PCA8574 (8 bit)
 | 
						|
+
 | 
						|
+
 | 
						|
 Name:   pcie-32bit-dma
 | 
						|
 Info:   Force PCIe config to support 32bit DMA addresses at the expense of
 | 
						|
         having to bounce buffers.
 | 
						|
--- /dev/null
 | 
						|
+++ b/arch/arm/boot/dts/overlays/pcf857x-overlay.dts
 | 
						|
@@ -0,0 +1,32 @@
 | 
						|
+// Definitions for PCF857X GPIO Extender from NXP
 | 
						|
+
 | 
						|
+/dts-v1/;
 | 
						|
+/plugin/;
 | 
						|
+
 | 
						|
+/ {
 | 
						|
+	compatible = "brcm,bcm2835";
 | 
						|
+
 | 
						|
+	fragment@0 {
 | 
						|
+		target = <&i2c_arm>;
 | 
						|
+		__overlay__ {
 | 
						|
+			#address-cells = <1>;
 | 
						|
+			#size-cells = <0>;
 | 
						|
+
 | 
						|
+			pcf857x: pcf857x@0 {
 | 
						|
+				compatible = "";
 | 
						|
+				reg = <0x00>;
 | 
						|
+				gpio-controller;
 | 
						|
+				#gpio-cells = <2>;
 | 
						|
+				status = "okay";
 | 
						|
+			};
 | 
						|
+		};
 | 
						|
+	};
 | 
						|
+
 | 
						|
+	__overrides__ {
 | 
						|
+		pcf8574  = <&pcf857x>,"compatible=nxp,pcf8574",  <&pcf857x>,"reg:0=0x20";
 | 
						|
+		pcf8574a = <&pcf857x>,"compatible=nxp,pcf8574a", <&pcf857x>,"reg:0=0x38";
 | 
						|
+		pcf8575  = <&pcf857x>,"compatible=nxp,pcf8575",  <&pcf857x>,"reg:0=0x20";
 | 
						|
+		pca8574  = <&pcf857x>,"compatible=nxp,pca8574", <&pcf857x>,"reg:0=0x20";
 | 
						|
+		addr = <&pcf857x>,"reg:0";
 | 
						|
+	};
 | 
						|
+};
 |