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) SLIM(Serial Low Power Interchip Media Bus) bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) SLIMbus is a 2-wire bus, and is used to communicate with peripheral
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) components like audio-codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) Required property for SLIMbus controller node:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) - compatible	- name of SLIMbus controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) Child nodes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Every SLIMbus controller node can contain zero or more child nodes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) representing slave devices on the bus. Every SLIMbus slave device is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) uniquely determined by the enumeration address containing 4 fields:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Manufacturer ID, Product code, Device index, and Instance value for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) the device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) If child node is not present and it is instantiated after device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) discovery (slave device reporting itself present).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) In some cases it may be necessary to describe non-probeable device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) details such as non-standard ways of powering up a device. In
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) such cases, child nodes for those devices will be present as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) slaves of the SLIMbus controller, as detailed below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Required property for SLIMbus child node if it is present:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - reg		- Should be ('Device index', 'Instance ID') from SLIMbus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 		  Enumeration  Address.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 		  Device Index Uniquely identifies multiple Devices within
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 		  a single Component.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 		  Instance ID Is for the cases where multiple Devices of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 		  same type or Class are attached to the bus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) - compatible	-"slimMID,PID". The textual representation of Manufacturer ID,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 	 	  Product Code, shall be in lower case hexadecimal with leading
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 		  zeroes suppressed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Optional property for SLIMbus child node if it is present:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) - slim-ifc-dev	- Should be phandle to SLIMBus Interface device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 		  Required for devices which deal with streams.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) SLIMbus example for Qualcomm's slimbus manager component:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	slim@28080000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 		compatible = "qcom,apq8064-slim", "qcom,slim";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 		reg = <0x28080000 0x2000>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 		interrupts = <0 33 0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 		clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 		clock-names = "iface", "core";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 		#address-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 		#size-cell = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 		codec_ifd: ifd@0,0{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 			compatible = "slim217,60";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 			reg = <0 0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 		};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 		codec: wcd9310@1,0{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 			compatible = "slim217,60";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 			reg = <1 0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 			slim-ifc-dev  = <&codec_ifd>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 		};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 	};