Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) * NXP PCA954x I2C bus switch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) The driver supports NXP PCA954x and PCA984x I2C mux/switch devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) Required Properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)   - compatible: Must contain one of the following.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)     "nxp,pca9540",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)     "nxp,pca9542",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)     "nxp,pca9543",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)     "nxp,pca9544",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)     "nxp,pca9545",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)     "nxp,pca9546", "nxp,pca9846",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)     "nxp,pca9547", "nxp,pca9847",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)     "nxp,pca9548", "nxp,pca9848",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)     "nxp,pca9849"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)   - reg: The I2C address of the device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)   The following required properties are defined externally:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)   - Standard I2C mux properties. See i2c-mux.txt in this directory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)   - I2C child bus nodes. See i2c-mux.txt in this directory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) Optional Properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)   - reset-gpios: Reference to the GPIO connected to the reset input.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)   - idle-state: if present, overrides i2c-mux-idle-disconnect,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)     Please refer to Documentation/devicetree/bindings/mux/mux-controller.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)   - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)     children in idle state. This is necessary for example, if there are several
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)     multiplexers on the bus and the devices behind them use same I2C addresses.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)   - interrupts: Interrupt mapping for IRQ.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)   - interrupt-controller: Marks the device node as an interrupt controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)   - #interrupt-cells : Should be two.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)     - first cell is the pin number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)     - second cell is used to specify flags.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)     See also Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 	i2c-switch@74 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 		compatible = "nxp,pca9548";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 		#address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 		#size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 		reg = <0x74>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 		interrupt-parent = <&ipic>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 		interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 		interrupt-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 		#interrupt-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 		i2c@2 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 			#address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 			#size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 			reg = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 			eeprom@54 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 				compatible = "atmel,24c08";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 				reg = <0x54>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 			};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 		};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 		i2c@4 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 			#address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 			#size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 			reg = <4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 			rtc@51 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 				compatible = "nxp,pcf8563";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 				reg = <0x51>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 			};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 		};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 	};