blob: 8337cc5afd5e2b3acc535ab4113ac61610a79c3f [file] [log] [blame]
Angel Pons27123982020-04-05 13:22:30 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Lijian Zhaod0a5deb2018-05-14 22:53:25 -07002
3Scope (\_SB.PCI0.I2C5)
4{
Matt Delco8928bc02018-07-23 09:33:28 -07005 PowerResource (RCPR, 0, 0)
6 {
7 Name (STA, 0)
8 Method (_ON, 0, Serialized) {
Elyes HAOUAS37158c52020-10-08 20:26:55 +02009 If (STA == 0) {
Matt Delco8928bc02018-07-23 09:33:28 -070010 CTXS (GPIO_RCAM_RST_L)
11 STXS (GPIO_RCAM_PWR_EN)
12 STXS (GPIO_PCH_RCAM_CLK_EN)
13 Sleep (3)
14 STXS (GPIO_RCAM_RST_L)
15
16 /*
17 * A delay of T7 (minimum of 10 ms) + T8
18 * (max 1.4 ms + delay of coarse integration
19 * time value) is needed to have the sensor
20 * ready for streaming, as soon as the power
21 * on sequence completes
22 */
23 Sleep (12)
Elyes HAOUAS37158c52020-10-08 20:26:55 +020024 STA = 1
Matt Delco8928bc02018-07-23 09:33:28 -070025 }
26 }
27 Method (_OFF, 0, Serialized) {
Elyes HAOUAS37158c52020-10-08 20:26:55 +020028 If (STA == 1) {
Matt Delco8928bc02018-07-23 09:33:28 -070029 CTXS (GPIO_PCH_RCAM_CLK_EN)
30 CTXS (GPIO_RCAM_RST_L)
31 CTXS (GPIO_RCAM_PWR_EN)
Elyes HAOUAS37158c52020-10-08 20:26:55 +020032 STA = 0
Matt Delco8928bc02018-07-23 09:33:28 -070033 }
34 }
35 Method (_STA, 0, NotSerialized) {
36 Return (STA)
37 }
38 }
Lijian Zhaod0a5deb2018-05-14 22:53:25 -070039
40 Device (CAM1)
41 {
42 Name (_HID, "SONY355A") /* _HID: Hardware ID */
Felix Singerfa06bcb2022-12-26 09:32:47 +010043 Name (_UID, 0) /* _UID: Unique ID */
Lijian Zhaod0a5deb2018-05-14 22:53:25 -070044 Name (_DDN, "SONY IMX355A Camera") /* _DDN: DOS Device Name */
45
46 Method (_STA, 0, NotSerialized) /* _STA: Status */
47 {
48 Return (0x0F)
49 }
50
51 Name (_CRS, ResourceTemplate ()
52 {
53 I2cSerialBus (0x001A, ControllerInitiated, 0x00061A80,
54 AddressingMode7Bit, "\\_SB.PCI0.I2C5",
55 0x00, ResourceConsumer, ,
56 )
57 })
58
Matt Delco8928bc02018-07-23 09:33:28 -070059 Name (_PR0, Package () { RCPR })
60 Name (_PR3, Package () { RCPR })
Lijian Zhaoe78af972018-06-13 12:51:47 -070061
Lijian Zhaod0a5deb2018-05-14 22:53:25 -070062 /* Port0 of CAM1 is connected to port1 of CIO2 device */
63 Name (_DSD, Package () {
64 ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
65 Package () {
66 Package () { "port0", "PRT0" },
67 },
68 ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
69 Package () {
70 Package () { "clock-frequency", 19200000 },
71 Package () { "lens-focus",
72 Package () { \_SB.PCI0.I2C5.VCM1 }
73 }
74 }
75 })
76
77 Name (PRT0, Package() {
78 ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
79 Package () {
80 Package () { "port", 0 },
81 },
82 ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
83 Package () {
84 Package () { "endpoint0", "EP00" },
85 }
86 })
87
88 Name (EP00, Package() {
89 ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
90 Package () {
91 Package () { "endpoint", 0 },
92 Package () { "clock-lanes", 0 },
93 Package () { "data-lanes",
94 Package () { 1, 2, 3, 4 }
95 },
96 Package () { "link-frequencies",
97 Package() { 360000000 }
98 },
99 Package () { "remote-endpoint",
100 Package() { \_SB.PCI0.CIO2, 1, 0 }
101 },
102 }
103 })
104 }
105
106 Device (VCM1)
107 {
108 Name (_HID, "PRP0001") /* _HID: Hardware ID */
Matt Delco8928bc02018-07-23 09:33:28 -0700109 Name (_UID, 3) /* _UID: Unique ID */
Lijian Zhaod0a5deb2018-05-14 22:53:25 -0700110 Name (_DDN, "AKM AF DAC") /* _DDN: DOS Device Name */
111
112 Method (_STA, 0, NotSerialized) /* _STA: Status */
113 {
114 Return (0x0F)
115 }
116
117 Name (_CRS, ResourceTemplate ()
118 {
119 I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,
120 AddressingMode7Bit, "\\_SB.PCI0.I2C5",
121 0x00, ResourceConsumer, ,
122 )
123 })
124
Matt Delco8928bc02018-07-23 09:33:28 -0700125 Name (_DEP, Package() { CAM1 })
Lijian Zhaoe78af972018-06-13 12:51:47 -0700126
Matt Delco8928bc02018-07-23 09:33:28 -0700127 Name (_PR0, Package () { RCPR })
128 Name (_PR3, Package () { RCPR })
Lijian Zhaoe78af972018-06-13 12:51:47 -0700129
Lijian Zhaod0a5deb2018-05-14 22:53:25 -0700130 Name (_DSD, Package () {
131 ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
132 Package () {
133 Package () { "compatible", "asahi-kasei,ak7375" },
134 }
135 })
136 }
137
138 Device (NVM1)
139 {
140 Name (_HID, "INT3499") /* _HID: Hardware ID */
Matt Delco8928bc02018-07-23 09:33:28 -0700141 Name (_UID, 1) /* _UID: Unique ID */
Lijian Zhaod0a5deb2018-05-14 22:53:25 -0700142 Name (_DDN, "M24C64S") /* _DDN: DOS Device Name */
143
144 Method (_STA, 0, NotSerialized) /* _STA: Status */
145 {
146 Return (0x0F)
147 }
148
149 Name (_CRS, ResourceTemplate ()
150 {
151 I2cSerialBus (0x0051, ControllerInitiated, 0x00061A80,
152 AddressingMode7Bit, "\\_SB.PCI0.I2C5",
153 0x00, ResourceConsumer, ,)
154 })
Matt Delco8928bc02018-07-23 09:33:28 -0700155 Name (_DEP, Package () { CAM1 })
Lijian Zhaod0a5deb2018-05-14 22:53:25 -0700156
Matt Delco8928bc02018-07-23 09:33:28 -0700157 Name (_PR0, Package () { RCPR })
158 Name (_PR3, Package () { RCPR })
Lijian Zhaoe78af972018-06-13 12:51:47 -0700159
Lijian Zhaod0a5deb2018-05-14 22:53:25 -0700160 Name (_DSD, Package ()
161 {
162 ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
163 Package () {
164 Package () { "size", 8192 },
165 Package () { "pagesize", 1 },
166 Package () { "read-only", 1 },
167 Package () { "address-width", 16 },
168 }
169 })
170 }
171}