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) * Skyworks Solutions, Inc. AAT1290 Current Regulator for Flash LEDs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) The device is controlled through two pins: FL_EN and EN_SET. The pins when,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) asserted high, enable flash strobe and movie mode (max 1/2 of flash current)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) respectively. In order to add a capability of selecting the strobe signal source
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) (e.g. CPU or camera sensor) there is an additional switch required, independent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) of the flash chip. The switch is controlled with pin control.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - compatible : Must be "skyworks,aat1290".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - flen-gpios : Must be device tree identifier of the flash device FL_EN pin.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - enset-gpios : Must be device tree identifier of the flash device EN_SET pin.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - pinctrl-names : Must contain entries: "default", "host", "isp". Entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 		"default" and "host" must refer to the same pin configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 		node, which sets the host as a strobe signal provider. Entry
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 		"isp" must refer to the pin configuration node, which sets the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 		ISP as a strobe signal provider.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) A discrete LED element connected to the device must be represented by a child
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) node - see Documentation/devicetree/bindings/leds/common.txt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) Required properties of the LED child node:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) - led-max-microamp : see Documentation/devicetree/bindings/leds/common.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - flash-max-microamp : see Documentation/devicetree/bindings/leds/common.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)                        Maximum flash LED supply current can be calculated using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)                        following formula: I = 1A * 162kohm / Rset.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) - flash-max-timeout-us : see Documentation/devicetree/bindings/leds/common.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)                          Maximum flash timeout can be calculated using following
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)                          formula: T = 8.82 * 10^9 * Ct.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Optional properties of the LED child node:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) - function : see Documentation/devicetree/bindings/leds/common.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) - color : see Documentation/devicetree/bindings/leds/common.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) - label : see Documentation/devicetree/bindings/leds/common.txt (deprecated)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) Example (by Ct = 220nF, Rset = 160kohm and exynos4412-trats2 board with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) a switch that allows for routing strobe signal either from the host or from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) the camera sensor):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) #include "exynos4412.dtsi"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) #include <dt-bindings/leds/common.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) led-controller {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 	compatible = "skyworks,aat1290";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 	flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 	enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 	pinctrl-names = "default", "host", "isp";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 	pinctrl-0 = <&camera_flash_host>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 	pinctrl-1 = <&camera_flash_host>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 	pinctrl-2 = <&camera_flash_isp>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 	camera_flash: led {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 		function = LED_FUNCTION_FLASH;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 		color = <LED_COLOR_ID_WHITE>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 		led-max-microamp = <520833>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 		flash-max-microamp = <1012500>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 		flash-max-timeout-us = <1940000>;
^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) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) &pinctrl_0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 	camera_flash_host: camera-flash-host {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 		samsung,pins = "gpj1-0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 		samsung,pin-function = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 		samsung,pin-val = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 	camera_flash_isp: camera-flash-isp {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 		samsung,pins = "gpj1-0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 		samsung,pin-function = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 		samsung,pin-val = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) };