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) ST SSC binding, for I2C mode operation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) Required properties :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) - compatible : Must be "st,comms-ssc-i2c" or "st,comms-ssc4-i2c"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) - reg : Offset and length of the register set for the device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) - interrupts : the interrupt specifier
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) - clock-names: Must contain "ssc".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) - clocks: Must contain an entry for each name in clock-names. See the common
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)   clock bindings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - A pinctrl state named "default" must be defined to set pins in mode of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)   operation for I2C transfer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Optional properties :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - clock-frequency : Desired I2C bus clock frequency in Hz. If not specified,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)   the default 100 kHz frequency will be used. As only Normal and Fast modes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)   are supported, possible values are 100000 and 400000.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - st,i2c-min-scl-pulse-width-us : The minimum valid SCL pulse width that is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)   allowed through the deglitch circuit. In units of us.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) - st,i2c-min-sda-pulse-width-us : The minimum valid SDA pulse width that is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)   allowed through the deglitch circuit. In units of us.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) - A pinctrl state named "idle" could be defined to set pins in idle state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)   when I2C instance is not performing a transfer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - A pinctrl state named "sleep" could be defined to set pins in sleep state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)   when driver enters in suspend.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Example :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) i2c0: i2c@fed40000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 	compatible	= "st,comms-ssc4-i2c";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 	reg		= <0xfed40000 0x110>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 	interrupts	=  <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	clocks		= <&clk_s_a0_ls CLK_ICN_REG>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	clock-names	= "ssc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 	clock-frequency = <400000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 	pinctrl-names	= "default";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 	pinctrl-0	= <&pinctrl_i2c0_default>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	st,i2c-min-scl-pulse-width-us = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	st,i2c-min-sda-pulse-width-us = <5>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) };