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) * HiSilicon Clock and Reset Generator(CRG)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) The CRG module provides clock and reset signals to various
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) modules within the SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) This binding uses the following bindings:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)     Documentation/devicetree/bindings/clock/clock-bindings.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)     Documentation/devicetree/bindings/reset/reset.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Required Properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - compatible: should be one of the following.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)   - "hisilicon,hi3516cv300-crg"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)   - "hisilicon,hi3516cv300-sysctrl"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)   - "hisilicon,hi3519-crg"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)   - "hisilicon,hi3798cv200-crg"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)   - "hisilicon,hi3798cv200-sysctrl"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) - reg: physical base address of the controller and length of memory mapped
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)   region.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) - #clock-cells: should be 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) Each clock is assigned an identifier and client nodes use this identifier
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) to specify the clock which they consume.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) All these identifier could be found in <dt-bindings/clock/hi3519-clock.h>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) - #reset-cells: should be 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) A reset signal can be controlled by writing a bit register in the CRG module.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) The reset specifier consists of two cells. The first cell represents the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) register offset relative to the base address. The second cell represents the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) bit index in the register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Example: CRG nodes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) CRG: clock-reset-controller@12010000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 	compatible = "hisilicon,hi3519-crg";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	reg = <0x12010000 0x10000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	#clock-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	#reset-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) Example: consumer nodes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) i2c0: i2c@12110000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 	compatible = "hisilicon,hi3519-i2c";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 	reg = <0x12110000 0x1000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 	clocks = <&CRG HI3519_I2C0_RST>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 	resets = <&CRG 0xe4 0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) };