hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
* Hynix hi846 MIPI CSI-2 sensor
 
Required Properties:
- compatible: should be "hynix,hi846"
- clocks: reference to the 24M xvclk input clock.
- clock-names: should be "xvclk".
- dovdd-supply: Digital I/O voltage supply, 1.8 or 2.8 volts
- avdd-supply: Analog voltage supply, 2.8 volts
- dvdd-supply: Digital core voltage supply, 1.2 volts
- power-gpios : High active reset gpio
- reset-gpios: High active reset gpio
- pwdn-gpios: High active reset gpio
Optional Properties:
- flash-leds : attached led node
- lens-focus : attached vcm for focus
 
Attention:
hi846 device address is decided by I2C_ID_SEL0 & I2C_ID_SEL1 pins;
 
Slave address(@ 8bit) I2C_ID_SEL0 I2C_ID_SEL1
W : 0x40 / R : 0x41 Low(default) Low(default)
W : 0x44 / R : 0x45 Low High
W : 0x42 / R : 0x43 High Low
W : 0x46 / R : 0x47 High High
 
The device node must contain one 'port' child node for its digital output
video port, in accordance with the video interface bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt.
 
Example:
//RK356x Board
&i2c2 {
   status = "okay";
 
   hi846: hi846@20 {
       status = "okay";
       compatible = "hynix,hi846";
       reg = <0x20>;
       clocks = <&cru CLK_CIF_OUT>;
       clock-names = "xvclk";
       power-domains = <&power RK3568_PD_VI>;
       pinctrl-names = "default";
       pinctrl-0 = <&cam_clkout0>;
       power-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
       reset-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
       pwdn-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
       rockchip,camera-module-index = <0>;
       rockchip,camera-module-facing = "back";
       rockchip,camera-module-name = "KYT-8648-V1.0";
       rockchip,camera-module-lens-name = "default";
       flash-leds = <&flash_rgb13h>;
       lens-focus = <&dw9714>;
       port {
           hi846_out: endpoint {
               remote-endpoint = <&mipi_in_hi846>;
               data-lanes = <1 2>;
               //or data-lanes = <1 2 3 4>;
           };
       };
   };
};