<p>Lijian Zhao has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/26104">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mainboard/intel/kblrvp: Update camera sensors<br><br>Kabylake-R will be using to test new image sensors, update the device ID<br>and i2c slave address to match hardware config.<br><br>Change-Id: I374b5437c238caf89ae42f5328a574b22d3e0b8a<br>Signed-off-by: Lijian Zhao <lijian.zhao@intel.com><br>---<br>M src/mainboard/intel/kblrvp/acpi/ipu_mainboard.asl<br>M src/mainboard/intel/kblrvp/acpi/mipi_camera.asl<br>M src/mainboard/intel/kblrvp/variants/rvp3/include/variant/gpio.h<br>3 files changed, 45 insertions(+), 736 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/04/26104/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mainboard/intel/kblrvp/acpi/ipu_mainboard.asl b/src/mainboard/intel/kblrvp/acpi/ipu_mainboard.asl</span><br><span>index 211ca43..04be19c 100644</span><br><span>--- a/src/mainboard/intel/kblrvp/acpi/ipu_mainboard.asl</span><br><span>+++ b/src/mainboard/intel/kblrvp/acpi/ipu_mainboard.asl</span><br><span>@@ -65,7 +65,7 @@</span><br><span>           Package () {</span><br><span>                         Package () { "endpoint", 0 },</span><br><span>                      Package () { "clock-lanes", 0 },</span><br><span style="color: hsl(0, 100%, 40%);">-                      Package () { "data-lanes", Package () { 1, 2 } },</span><br><span style="color: hsl(120, 100%, 40%);">+                   Package () { "data-lanes", Package () { 1, 2, 3, 4 } },</span><br><span>                    Package () { "remote-endpoint",</span><br><span>                            Package() { \_SB.PCI0.I2C3.CAM1, 0, 0 }</span><br><span>                      },</span><br><span>diff --git a/src/mainboard/intel/kblrvp/acpi/mipi_camera.asl b/src/mainboard/intel/kblrvp/acpi/mipi_camera.asl</span><br><span>index 1efad47..7b45b97 100644</span><br><span>--- a/src/mainboard/intel/kblrvp/acpi/mipi_camera.asl</span><br><span>+++ b/src/mainboard/intel/kblrvp/acpi/mipi_camera.asl</span><br><span>@@ -15,416 +15,44 @@</span><br><span> </span><br><span> Scope (\_SB.PCI0.I2C2)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-   Device (PMIC)</span><br><span style="color: hsl(120, 100%, 40%);">+ PowerResource (PCAM, 0, 0)</span><br><span>   {</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (_HID, "INT3472") /* _HID: Hardware ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                Name (_UID, Zero)  // _UID: Unique ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                Name (_DDN, "TPS68470 PMIC")  /* _DDN: DOS Device Name */</span><br><span style="color: hsl(0, 100%, 40%);">-             Name (CAMD, 0x64)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               Method (_STA, 0, NotSerialized)  /* _STA: Status */</span><br><span style="color: hsl(120, 100%, 40%);">+           Name (STA, 0)</span><br><span style="color: hsl(120, 100%, 40%);">+         Method(_ON)</span><br><span>          {</span><br><span style="color: hsl(0, 100%, 40%);">-                       Return (0x0F)</span><br><span style="color: hsl(120, 100%, 40%);">+                 STXS(CAM_FLASH_STROBE)</span><br><span style="color: hsl(120, 100%, 40%);">+                        Sleep(10)</span><br><span style="color: hsl(120, 100%, 40%);">+                     STA = 1</span><br><span>              }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* Marks the availability of all the operation regions */</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVP1, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVGP, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVB0, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVB1, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVB2, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVB3, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Method (_REG, 2, NotSerialized)</span><br><span style="color: hsl(120, 100%, 40%);">+               Method(_OFF)</span><br><span>                 {</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LEqual (Arg0, 0x08))</span><br><span style="color: hsl(0, 100%, 40%);">-                        {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of GeneralPurposeIO</span><br><span style="color: hsl(0, 100%, 40%);">-                            * 0x08: opregion space for GeneralPurposeIO</span><br><span style="color: hsl(0, 100%, 40%);">-                             */</span><br><span style="color: hsl(0, 100%, 40%);">-                             Store (Arg1, AVGP)</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LEqual (Arg0, 0xB0))</span><br><span style="color: hsl(0, 100%, 40%);">-                        {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of</span><br><span style="color: hsl(0, 100%, 40%);">-                             * TI_PMIC_POWER_OPREGION_ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                         Store (Arg1, AVB0)</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LEqual (Arg0, 0xB1))</span><br><span style="color: hsl(0, 100%, 40%);">-                        {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of</span><br><span style="color: hsl(0, 100%, 40%);">-                             * TI_PMIC_VR_VAL_OPREGION_ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                                Store (Arg1, AVB1)</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LEqual (Arg0, 0xB2))</span><br><span style="color: hsl(0, 100%, 40%);">-                        {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of</span><br><span style="color: hsl(0, 100%, 40%);">-                             * TI_PMIC_CLK_OPREGION_ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                           Store (Arg1, AVB2)</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LEqual (Arg0, 0xB3))</span><br><span style="color: hsl(0, 100%, 40%);">-                        {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of</span><br><span style="color: hsl(0, 100%, 40%);">-                             * TI_PMIC_CLK_FREQ_OPREGION_ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                              Store (Arg1, AVB3)</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LAnd (AVGP, LAnd (LAnd (AVB0, AVB1),</span><br><span style="color: hsl(0, 100%, 40%);">-                                                         LAnd(AVB2, AVB3))))</span><br><span style="color: hsl(0, 100%, 40%);">-                    {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of all opregions */</span><br><span style="color: hsl(0, 100%, 40%);">-                           Store (1, AVP1)</span><br><span style="color: hsl(0, 100%, 40%);">-                 }</span><br><span style="color: hsl(0, 100%, 40%);">-                       Else</span><br><span style="color: hsl(0, 100%, 40%);">-                    {</span><br><span style="color: hsl(0, 100%, 40%);">-                               Store (0, AVP1)</span><br><span style="color: hsl(0, 100%, 40%);">-                 }</span><br><span style="color: hsl(120, 100%, 40%);">+                     STA = 0</span><br><span>              }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               OperationRegion (GPOP, GeneralPurposeIo, 0, 0x2)</span><br><span style="color: hsl(0, 100%, 40%);">-                Name (_CRS, ResourceTemplate ()</span><br><span style="color: hsl(0, 100%, 40%);">-         {</span><br><span style="color: hsl(0, 100%, 40%);">-                       I2cSerialBus (0x004D, ControllerInitiated, 0x00061A80,</span><br><span style="color: hsl(0, 100%, 40%);">-                          AddressingMode7Bit, "\\_SB.PCI0.I2C2",</span><br><span style="color: hsl(0, 100%, 40%);">-                                0x00, ResourceConsumer, ,</span><br><span style="color: hsl(0, 100%, 40%);">-                       )</span><br><span style="color: hsl(0, 100%, 40%);">-                       /* GPIO.9 is XSHUTDOWN pin for world facing camera */</span><br><span style="color: hsl(0, 100%, 40%);">-                   GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,</span><br><span style="color: hsl(0, 100%, 40%);">-                         IoRestrictionOutputOnly, "\\_SB.PCI0.I2C2.PMIC",</span><br><span style="color: hsl(0, 100%, 40%);">-                              0x00, ResourceConsumer,,)</span><br><span style="color: hsl(0, 100%, 40%);">-                       {</span><br><span style="color: hsl(0, 100%, 40%);">-                               9</span><br><span style="color: hsl(0, 100%, 40%);">-                       }</span><br><span style="color: hsl(0, 100%, 40%);">-               })</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-              /* PMIC operation regions */</span><br><span style="color: hsl(0, 100%, 40%);">-            /* 0xB0: TI_PMIC_POWER_OPREGION_ID</span><br><span style="color: hsl(0, 100%, 40%);">-               * VSIO: Sensor IO LDO output</span><br><span style="color: hsl(0, 100%, 40%);">-            * VCMC: VCM LDO output</span><br><span style="color: hsl(0, 100%, 40%);">-          * VAX1: Auxiliary LDO1 output</span><br><span style="color: hsl(0, 100%, 40%);">-           * VAX2: Auxiliary LDO2 output</span><br><span style="color: hsl(0, 100%, 40%);">-           * VACT: Analog LDO output</span><br><span style="color: hsl(0, 100%, 40%);">-               * VDCT: Core buck output</span><br><span style="color: hsl(0, 100%, 40%);">-                */</span><br><span style="color: hsl(0, 100%, 40%);">-             OperationRegion (PWR1, 0xB0, Zero, 0x0100)</span><br><span style="color: hsl(0, 100%, 40%);">-              Field (PWR1, DWordAcc, NoLock, Preserve)</span><br><span style="color: hsl(0, 100%, 40%);">-                {</span><br><span style="color: hsl(0, 100%, 40%);">-                       VSIO, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VCMC, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VAX1, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VAX2, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VACT, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VDCT, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* 0xB1: TI_PMIC_VR_VAL_OPREGION_ID</span><br><span style="color: hsl(0, 100%, 40%);">-              * SIOV: VSIO VR voltage value</span><br><span style="color: hsl(0, 100%, 40%);">-           * IOVA: VIO VR voltage value</span><br><span style="color: hsl(0, 100%, 40%);">-            * VCMV: VCM VR voltage value</span><br><span style="color: hsl(0, 100%, 40%);">-            * AX1V: Auxiliary LDO1 VR voltage value</span><br><span style="color: hsl(0, 100%, 40%);">-                 * AX2V: Auxiliary LDO2 VR voltage value</span><br><span style="color: hsl(0, 100%, 40%);">-                 * ACVA: Analog LDO VR voltage</span><br><span style="color: hsl(0, 100%, 40%);">-           * DCVA: Core buck VR volatage</span><br><span style="color: hsl(0, 100%, 40%);">-           */</span><br><span style="color: hsl(0, 100%, 40%);">-             OperationRegion (PWR2, 0xB1, Zero, 0x0100)</span><br><span style="color: hsl(0, 100%, 40%);">-              Field (PWR2, DWordAcc, NoLock, Preserve)</span><br><span style="color: hsl(0, 100%, 40%);">-                {</span><br><span style="color: hsl(0, 100%, 40%);">-                       SIOV, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       IOVA, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VCMV, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       AX1V, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       AX2V, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       ACVA, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       DCVA, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* 0xB2: TI_PMIC_CLK_OPREGION_ID</span><br><span style="color: hsl(0, 100%, 40%);">-                 * PCTL: PLL control register</span><br><span style="color: hsl(0, 100%, 40%);">-            * PCT2: PLL control 2 register</span><br><span style="color: hsl(0, 100%, 40%);">-          * CFG1: Clock configuration 1 register</span><br><span style="color: hsl(0, 100%, 40%);">-          * CFG2: Clock configuration 2 register</span><br><span style="color: hsl(0, 100%, 40%);">-          */</span><br><span style="color: hsl(0, 100%, 40%);">-             OperationRegion (CLKC, 0xB2, Zero, 0x0100)</span><br><span style="color: hsl(0, 100%, 40%);">-              Field (CLKC, DWordAcc, NoLock, Preserve)</span><br><span style="color: hsl(0, 100%, 40%);">-                {</span><br><span style="color: hsl(0, 100%, 40%);">-                       PCTL, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       PCT2, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       CFG1, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       CFG2, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* 0xB3: TI_PMIC_CLK_FREQ_OPREGION_ID</span><br><span style="color: hsl(0, 100%, 40%);">-            * PDV2: PLL output divider for HCLK_B</span><br><span style="color: hsl(0, 100%, 40%);">-           * BODI: PLL output divider for boost clock</span><br><span style="color: hsl(0, 100%, 40%);">-              * BUDI: PLL output divider for buck clock</span><br><span style="color: hsl(0, 100%, 40%);">-               * PSWR: PLL reference clock setting</span><br><span style="color: hsl(0, 100%, 40%);">-             * XTDV: Reference crystal divider</span><br><span style="color: hsl(0, 100%, 40%);">-               * PLDV: PLL feedback divider</span><br><span style="color: hsl(0, 100%, 40%);">-            * PODV: PLL output divider for HCLK_A</span><br><span style="color: hsl(0, 100%, 40%);">-           */</span><br><span style="color: hsl(0, 100%, 40%);">-             OperationRegion (CLKF, 0xB3, Zero, 0x0100)</span><br><span style="color: hsl(0, 100%, 40%);">-              Field (CLKF, DWordAcc, NoLock, Preserve)</span><br><span style="color: hsl(0, 100%, 40%);">-                {</span><br><span style="color: hsl(0, 100%, 40%);">-                       PDV2, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       BODI, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       BUDI, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       PSWR, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       XTDV, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       PLDV, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       PODV, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               Mutex (MUTC, 0)</span><br><span style="color: hsl(0, 100%, 40%);">-         Method (CLKE, 0, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                  /* save Acquire result so we can check for</span><br><span style="color: hsl(0, 100%, 40%);">-                      Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                       Store (Acquire (MUTC, 1000), Local0)</span><br><span style="color: hsl(0, 100%, 40%);">-                    /* check for Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                  If (LEqual (Local0, Zero)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                            /* Set boost clock divider */</span><br><span style="color: hsl(0, 100%, 40%);">-                           BODI = 3</span><br><span style="color: hsl(0, 100%, 40%);">-                                /* Set buck clock divider */</span><br><span style="color: hsl(0, 100%, 40%);">-                            BUDI = 2</span><br><span style="color: hsl(0, 100%, 40%);">-                                /* Set the PLL_REF_CLK cyles */</span><br><span style="color: hsl(0, 100%, 40%);">-                         PSWR = 19</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Set the reference crystal divider */</span><br><span style="color: hsl(0, 100%, 40%);">-                         XTDV = 170</span><br><span style="color: hsl(0, 100%, 40%);">-                              /* Set PLL feedback divider */</span><br><span style="color: hsl(0, 100%, 40%);">-                          PLDV = 32</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Set PLL output divider for HCLK_A */</span><br><span style="color: hsl(0, 100%, 40%);">-                         PODV = 1</span><br><span style="color: hsl(0, 100%, 40%);">-                                /* Enable HCLK_A clock.</span><br><span style="color: hsl(0, 100%, 40%);">-                          * CFG1: output selection for HCLK_A.</span><br><span style="color: hsl(0, 100%, 40%);">-                            * CFG2: set drive strength for HCLK_A.</span><br><span style="color: hsl(0, 100%, 40%);">-                          */</span><br><span style="color: hsl(0, 100%, 40%);">-                             CFG2 = 1</span><br><span style="color: hsl(0, 100%, 40%);">-                                CFG1 = 2</span><br><span style="color: hsl(0, 100%, 40%);">-                                /* Enable PLL output, crystal oscillator</span><br><span style="color: hsl(0, 100%, 40%);">-                                 * input capacitance control and set</span><br><span style="color: hsl(0, 100%, 40%);">-                             * Xtal oscillator as clock source.</span><br><span style="color: hsl(0, 100%, 40%);">-                              */</span><br><span style="color: hsl(0, 100%, 40%);">-                             PCTL = 209</span><br><span style="color: hsl(0, 100%, 40%);">-                              Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                Release (MUTC)</span><br><span style="color: hsl(0, 100%, 40%);">-                  }</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               Method (CLKD, 0, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                  /* save Acquire result so we can check for</span><br><span style="color: hsl(0, 100%, 40%);">-                      Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                       Store (Acquire (MUTC, 1000), Local0)</span><br><span style="color: hsl(0, 100%, 40%);">-                    /* check for Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                  If (LEqual (Local0, Zero)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                            BODI = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                BUDI = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                PSWR = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                XTDV = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                PLDV = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                PODV = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                /* Disable HCLK_A clock */</span><br><span style="color: hsl(0, 100%, 40%);">-                              CFG2 = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                CFG1 = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                PCTL = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                Release (MUTC)</span><br><span style="color: hsl(0, 100%, 40%);">-                  }</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* Reference count for VSIO */</span><br><span style="color: hsl(0, 100%, 40%);">-          Mutex (MUTV, 0)</span><br><span style="color: hsl(0, 100%, 40%);">-         Name (VSIC, 0)</span><br><span style="color: hsl(0, 100%, 40%);">-          Method (DOVD, 1, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                  /* Save Acquire result so we can check for</span><br><span style="color: hsl(0, 100%, 40%);">-                      Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                       Store (Acquire (MUTV, 1000), Local0)</span><br><span style="color: hsl(0, 100%, 40%);">-                    /* Check for Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                  If (LEqual (Local0, Zero)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                            /* Turn off VSIO */</span><br><span style="color: hsl(0, 100%, 40%);">-                             If (LEqual (Arg0, Zero)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                      /* Decrement only if VSIC > 0 */</span><br><span style="color: hsl(0, 100%, 40%);">-                                     if (LGreater (VSIC, 0)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                               Decrement (VSIC)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                If (LEqual (VSIC, Zero)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                      VSIO = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                                }</span><br><span style="color: hsl(0, 100%, 40%);">-                                       }</span><br><span style="color: hsl(0, 100%, 40%);">-                               } ElseIf (LEqual (Arg0, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                   /* Increment only if VSIC < 2 */</span><br><span style="color: hsl(0, 100%, 40%);">-                                     If (LLess (VSIC, 2)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                          /* Turn on VSIO */</span><br><span style="color: hsl(0, 100%, 40%);">-                                              If (LEqual (VSIC, Zero)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                      VSIO = 3</span><br><span style="color: hsl(0, 100%, 40%);">-                                                }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               Increment (VSIC)</span><br><span style="color: hsl(0, 100%, 40%);">-                                        }</span><br><span style="color: hsl(0, 100%, 40%);">-                               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                               Release (MUTV)</span><br><span style="color: hsl(0, 100%, 40%);">-                  }</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* Power resource methods for CAM0 */</span><br><span style="color: hsl(0, 100%, 40%);">-           PowerResource (OVTH, 0, 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    Name (STA, 0)</span><br><span style="color: hsl(0, 100%, 40%);">-                   Method (_ON, 0, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                           If (LEqual (AVP1, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                 If (LEqual (STA, 0)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                          /* Enable VSIO regulator +</span><br><span style="color: hsl(0, 100%, 40%);">-                                              daisy chain */</span><br><span style="color: hsl(0, 100%, 40%);">-                                          DOVD(1)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                         if (LNotEqual (IOVA, 52)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     /* Set VSIO value as</span><br><span style="color: hsl(0, 100%, 40%);">-                                                    1.8006 V */</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     IOVA = 52</span><br><span style="color: hsl(0, 100%, 40%);">-                                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               if (LNotEqual (SIOV, 52)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     /* Set VSIO value as</span><br><span style="color: hsl(0, 100%, 40%);">-                                                    1.8006 V */</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     SIOV = 52</span><br><span style="color: hsl(0, 100%, 40%);">-                                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               Sleep(3)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                                VACT = 1</span><br><span style="color: hsl(0, 100%, 40%);">-                                                if (LNotEqual (ACVA, 109)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                    /* Set ANA at 2.8152V */</span><br><span style="color: hsl(0, 100%, 40%);">-                                                        ACVA = 109</span><br><span style="color: hsl(0, 100%, 40%);">-                                              }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               Sleep(3)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                                \_SB.PCI0.I2C2.PMIC.CLKE()</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                              VDCT = 1</span><br><span style="color: hsl(0, 100%, 40%);">-                                                if (LNotEqual (DCVA, 12)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     /* Set CORE at 1.2V */</span><br><span style="color: hsl(0, 100%, 40%);">-                                                  DCVA = 12</span><br><span style="color: hsl(0, 100%, 40%);">-                                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               Sleep(3)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                \_SB.PCI0.I2C2.CAM0.CRST(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                             Sleep(5)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                                STA = 1</span><br><span style="color: hsl(0, 100%, 40%);">-                                 }</span><br><span style="color: hsl(0, 100%, 40%);">-                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                       }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                       Method (_OFF, 0, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                          If (LEqual (AVP1, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                 If (LEqual (STA, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                          Sleep(2)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                \_SB.PCI0.I2C2.PMIC.CLKD()</span><br><span style="color: hsl(0, 100%, 40%);">-                                              Sleep(2)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                \_SB.PCI0.I2C2.CAM0.CRST(0)</span><br><span style="color: hsl(0, 100%, 40%);">-                                             Sleep(3)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                VDCT = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                                Sleep(3)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                VACT = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                                Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                DOVD(0)</span><br><span style="color: hsl(0, 100%, 40%);">-                                         Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                        }</span><br><span style="color: hsl(0, 100%, 40%);">-                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                               STA = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                 }</span><br><span style="color: hsl(0, 100%, 40%);">-                       Method (_STA, 0, NotSerialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                               Return (STA)</span><br><span style="color: hsl(0, 100%, 40%);">-                    }</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* Power resource methods for VCM */</span><br><span style="color: hsl(0, 100%, 40%);">-            PowerResource (VCMP, 0, 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    Name (STA, 0)</span><br><span style="color: hsl(0, 100%, 40%);">-                   Method (_ON, 0, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                           If (LEqual (AVP1, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                 If (LEqual (STA, 0)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                          /* Enable VSIO regulator +</span><br><span style="color: hsl(0, 100%, 40%);">-                                              daisy chain */</span><br><span style="color: hsl(0, 100%, 40%);">-                                          DOVD(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                         if (LNotEqual (IOVA, 52)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     /* Set VSIO value as</span><br><span style="color: hsl(0, 100%, 40%);">-                                                    1.8006 V */</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     IOVA = 52</span><br><span style="color: hsl(0, 100%, 40%);">-                                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               if (LNotEqual (SIOV, 52)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     /* Set VSIO value as</span><br><span style="color: hsl(0, 100%, 40%);">-                                                    1.8006 V */</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     SIOV = 52</span><br><span style="color: hsl(0, 100%, 40%);">-                                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               Sleep(3)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                                /* Enable VCM regulator */</span><br><span style="color: hsl(0, 100%, 40%);">-                                              VCMC = 1</span><br><span style="color: hsl(0, 100%, 40%);">-                                                if (LNotEqual (VCMV, 109)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                    /* Set VCM value at</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     2.8152 V */</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     VCMV = 109</span><br><span style="color: hsl(0, 100%, 40%);">-                                              }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               Sleep(3)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                                STA = 1</span><br><span style="color: hsl(0, 100%, 40%);">-                                 }</span><br><span style="color: hsl(0, 100%, 40%);">-                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                       }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                       Method (_OFF, 0, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                          If (LEqual (AVP1, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                 If (LEqual (STA, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                          VCMC = 0 /* Disable regulator */</span><br><span style="color: hsl(0, 100%, 40%);">-                                                Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                DOVD(0) /* Disable regulator */</span><br><span style="color: hsl(0, 100%, 40%);">-                                         Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                STA = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                 }</span><br><span style="color: hsl(0, 100%, 40%);">-                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                       }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                       Method (_STA, 0, NotSerialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                               Return (STA)</span><br><span style="color: hsl(0, 100%, 40%);">-                    }</span><br><span style="color: hsl(120, 100%, 40%);">+             Method (_STA, 0, NotSerialized) {</span><br><span style="color: hsl(120, 100%, 40%);">+                     Return (STA)</span><br><span>                 }</span><br><span>    }</span><br><span> </span><br><span>        Device (CAM0)</span><br><span>        {</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (_HID, "OVTID858")  /* _HID: Hardware ID */</span><br><span style="color: hsl(120, 100%, 40%);">+            Name (_HID, "SONY355A")  /* _HID: Hardware ID */</span><br><span>           Name (_UID, Zero)  /* _UID: Unique ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                Name (_DDN, "OV 13858 Camera") /* _DDN: DOS Device Name */</span><br><span style="color: hsl(0, 100%, 40%);">-            Name (CAMD, 0x02)</span><br><span style="color: hsl(120, 100%, 40%);">+             Name (_DDN, "Sony IMX355 Camera") /* _DDN: DOS Device Name */</span><br><span> </span><br><span>          Method (_STA, 0, NotSerialized)  /* _STA: Status */</span><br><span>          {</span><br><span>                    Return (0x0F)</span><br><span>                }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           Name (_DEP, Package() {\_SB.PCI0.I2C2.PMIC})</span><br><span>                 Name (_CRS, ResourceTemplate ()</span><br><span>              {</span><br><span style="color: hsl(0, 100%, 40%);">-                       I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,</span><br><span style="color: hsl(120, 100%, 40%);">+                        I2cSerialBus (0x001a, ControllerInitiated, 0x00061A80,</span><br><span>                               AddressingMode7Bit, "\\_SB.PCI0.I2C2",</span><br><span>                             0x00, ResourceConsumer, ,</span><br><span>                            )</span><br><span>            })</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-          Field (\_SB.PCI0.I2C2.PMIC.GPOP, ByteAcc, NoLock, Preserve)</span><br><span style="color: hsl(0, 100%, 40%);">-             {</span><br><span style="color: hsl(0, 100%, 40%);">-                       Connection</span><br><span style="color: hsl(0, 100%, 40%);">-                      (</span><br><span style="color: hsl(0, 100%, 40%);">-                               GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,</span><br><span style="color: hsl(0, 100%, 40%);">-                                 IoRestrictionOutputOnly,</span><br><span style="color: hsl(0, 100%, 40%);">-                                        "\\_SB.PCI0.I2C2.PMIC", 0x00,</span><br><span style="color: hsl(0, 100%, 40%);">-                                 ResourceConsumer,,)</span><br><span style="color: hsl(0, 100%, 40%);">-                             {</span><br><span style="color: hsl(0, 100%, 40%);">-                                       9</span><br><span style="color: hsl(0, 100%, 40%);">-                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                       ),</span><br><span style="color: hsl(0, 100%, 40%);">-                      GRST, 1,</span><br><span style="color: hsl(0, 100%, 40%);">-                }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* Set or clear GRST GPIO */</span><br><span style="color: hsl(0, 100%, 40%);">-            Method (CRST, 1, Serialized)</span><br><span style="color: hsl(0, 100%, 40%);">-            {</span><br><span style="color: hsl(0, 100%, 40%);">-                       GRST = Arg0</span><br><span style="color: hsl(0, 100%, 40%);">-             }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (_PR0, Package () { ^^I2C2.PMIC.OVTH })</span><br><span style="color: hsl(0, 100%, 40%);">-            Name (_PR3, Package () { ^^I2C2.PMIC.OVTH })</span><br><span style="color: hsl(120, 100%, 40%);">+          Name (_PR0, Package () { PCAM })</span><br><span> </span><br><span>                 /* Port0 of CAM0 is connected to port0 of CIO2 device */</span><br><span>             Name (_DSD, Package () {</span><br><span>@@ -435,6 +63,9 @@</span><br><span>                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),</span><br><span>                   Package () {</span><br><span>                                 Package () { "clock-frequency", 19200000 },</span><br><span style="color: hsl(120, 100%, 40%);">+                         Package () { "lens-focus",</span><br><span style="color: hsl(120, 100%, 40%);">+                                  Package () { \_SB.PCI0.I2C2.VCM0 }</span><br><span style="color: hsl(120, 100%, 40%);">+                            }</span><br><span>                    }</span><br><span>            })</span><br><span> </span><br><span>@@ -488,17 +119,22 @@</span><br><span> </span><br><span>   Device (VCM0)</span><br><span>        {</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (_HID, "DWDWD000")  /* _HID: Hardware ID */</span><br><span style="color: hsl(120, 100%, 40%);">+            Name (_HID, "AKM7375")  /* _HID: Hardware ID */</span><br><span>            Name (_UID, Zero)  /* _UID: Unique ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                Name (_DDN, "Dongwoon AF DAC") /* _DDN: DOS Device Name */</span><br><span style="color: hsl(0, 100%, 40%);">-            Name (CAMD, 0x03)</span><br><span style="color: hsl(120, 100%, 40%);">+             Name (_DDN, "AKM AF DAC") /* _DDN: DOS Device Name */</span><br><span> </span><br><span>          Method (_STA, 0, NotSerialized)  /* _STA: Status */</span><br><span>          {</span><br><span>                    Return (0x0F)</span><br><span>                }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           Name (_DEP, Package() {\_SB.PCI0.I2C2.PMIC})</span><br><span style="color: hsl(120, 100%, 40%);">+          Name (_DSD, Package () {</span><br><span style="color: hsl(120, 100%, 40%);">+                      ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),</span><br><span style="color: hsl(120, 100%, 40%);">+                    Package () {</span><br><span style="color: hsl(120, 100%, 40%);">+                          Package () { "compatible", "akm,ak7375" },</span><br><span style="color: hsl(120, 100%, 40%);">+                        }</span><br><span style="color: hsl(120, 100%, 40%);">+             })</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>                 Name (_CRS, ResourceTemplate ()</span><br><span>              {</span><br><span>                    I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,</span><br><span>@@ -506,331 +142,40 @@</span><br><span>                              0x00, ResourceConsumer, ,</span><br><span>                            )</span><br><span>            })</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-              Name (_PR0, Package () { ^PMIC.VCMP })</span><br><span style="color: hsl(0, 100%, 40%);">-          Name (_PR3, Package () { ^PMIC.VCMP })</span><br><span>       }</span><br><span> }</span><br><span> </span><br><span> Scope (\_SB.PCI0.I2C3)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-       Device (PMIC)</span><br><span style="color: hsl(120, 100%, 40%);">+ PowerResource (PCAM, 0, 0)</span><br><span>   {</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (_HID, "INT3473") /* _HID: Hardware ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                Name (_UID, Zero)  /* _UID: Unique ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                Name (_DDN, "TPS68470 PMIC 2") /* _DDN: DOS Device Name */</span><br><span style="color: hsl(0, 100%, 40%);">-            Name (CAMD, 0x64)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               Method (_STA, 0, NotSerialized)  /* _STA: Status */</span><br><span style="color: hsl(120, 100%, 40%);">+           Name (STA, 0)</span><br><span style="color: hsl(120, 100%, 40%);">+         Method(_ON)</span><br><span>          {</span><br><span style="color: hsl(0, 100%, 40%);">-                       Return (0x0F)</span><br><span style="color: hsl(120, 100%, 40%);">+                 STXS(CAM_FLASH_STROBE)</span><br><span style="color: hsl(120, 100%, 40%);">+                        Sleep(10)</span><br><span style="color: hsl(120, 100%, 40%);">+                     STA = 1</span><br><span>              }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* Marks the availability of all the operation regions */</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVP2, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVGP, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVB0, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVB1, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVB2, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (AVB3, Zero)</span><br><span style="color: hsl(0, 100%, 40%);">-               Method (_REG, 2, NotSerialized)</span><br><span style="color: hsl(120, 100%, 40%);">+               Method(_OFF)</span><br><span>                 {</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LEqual (Arg0, 0x08))</span><br><span style="color: hsl(0, 100%, 40%);">-                        {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of GeneralPurposeIO</span><br><span style="color: hsl(0, 100%, 40%);">-                            * 0x08: opregion space for GeneralPurposeIO</span><br><span style="color: hsl(0, 100%, 40%);">-                             */</span><br><span style="color: hsl(0, 100%, 40%);">-                             Store (Arg1, AVGP)</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LEqual (Arg0, 0xB0))</span><br><span style="color: hsl(0, 100%, 40%);">-                        {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of</span><br><span style="color: hsl(0, 100%, 40%);">-                             * TI_PMIC_POWER_OPREGION_ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                         Store (Arg1, AVB0)</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LEqual (Arg0, 0xB1))</span><br><span style="color: hsl(0, 100%, 40%);">-                        {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of</span><br><span style="color: hsl(0, 100%, 40%);">-                             * TI_PMIC_VR_VAL_OPREGION_ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                                Store (Arg1, AVB1)</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LEqual (Arg0, 0xB2))</span><br><span style="color: hsl(0, 100%, 40%);">-                        {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of</span><br><span style="color: hsl(0, 100%, 40%);">-                             * TI_PMIC_CLK_OPREGION_ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                           Store (Arg1, AVB2)</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LEqual (Arg0, 0xB3))</span><br><span style="color: hsl(0, 100%, 40%);">-                        {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of</span><br><span style="color: hsl(0, 100%, 40%);">-                             * TI_PMIC_CLK_FREQ_OPREGION_ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                              Store (Arg1, AVB3)</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       If (LAnd (AVGP, LAnd (LAnd (AVB0, AVB1),</span><br><span style="color: hsl(0, 100%, 40%);">-                                                         LAnd(AVB2, AVB3))))</span><br><span style="color: hsl(0, 100%, 40%);">-                    {</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Marks the availability of all opregions */</span><br><span style="color: hsl(0, 100%, 40%);">-                           Store (1, AVP2)</span><br><span style="color: hsl(0, 100%, 40%);">-                 }</span><br><span style="color: hsl(0, 100%, 40%);">-                       Else</span><br><span style="color: hsl(0, 100%, 40%);">-                    {</span><br><span style="color: hsl(0, 100%, 40%);">-                               Store (0, AVP2)</span><br><span style="color: hsl(0, 100%, 40%);">-                 }</span><br><span style="color: hsl(120, 100%, 40%);">+                     STA = 0</span><br><span>              }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               OperationRegion (GPOP, GeneralPurposeIo, 0, 0x2)</span><br><span style="color: hsl(0, 100%, 40%);">-                Name (_CRS, ResourceTemplate ()</span><br><span style="color: hsl(0, 100%, 40%);">-         {</span><br><span style="color: hsl(0, 100%, 40%);">-                       I2cSerialBus (0x0049, ControllerInitiated, 0x00061A80,</span><br><span style="color: hsl(0, 100%, 40%);">-                          AddressingMode7Bit, "\\_SB.PCI0.I2C3",</span><br><span style="color: hsl(0, 100%, 40%);">-                                0x00, ResourceConsumer, ,</span><br><span style="color: hsl(0, 100%, 40%);">-                       )</span><br><span style="color: hsl(0, 100%, 40%);">-                       /* GPIO.4 is AVDD pin for user facing camera */</span><br><span style="color: hsl(0, 100%, 40%);">-                 GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,</span><br><span style="color: hsl(0, 100%, 40%);">-                         IoRestrictionOutputOnly, "\\_SB.PCI0.I2C3.PMIC",</span><br><span style="color: hsl(0, 100%, 40%);">-                              0x00, ResourceConsumer,,)</span><br><span style="color: hsl(0, 100%, 40%);">-                       {</span><br><span style="color: hsl(0, 100%, 40%);">-                               4</span><br><span style="color: hsl(0, 100%, 40%);">-                       }</span><br><span style="color: hsl(0, 100%, 40%);">-                       /* GPIO.5 is XSHUTDOWN pin for user facing camera */</span><br><span style="color: hsl(0, 100%, 40%);">-                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,</span><br><span style="color: hsl(0, 100%, 40%);">-                         IoRestrictionOutputOnly, "\\_SB.PCI0.I2C3.PMIC",</span><br><span style="color: hsl(0, 100%, 40%);">-                              0x00, ResourceConsumer,,)</span><br><span style="color: hsl(0, 100%, 40%);">-                       {</span><br><span style="color: hsl(0, 100%, 40%);">-                               5</span><br><span style="color: hsl(0, 100%, 40%);">-                       }</span><br><span style="color: hsl(0, 100%, 40%);">-               })</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-              /* PMIC operation regions */</span><br><span style="color: hsl(0, 100%, 40%);">-            /* 0xB0: TI_PMIC_POWER_OPREGION_ID</span><br><span style="color: hsl(0, 100%, 40%);">-               * VSIO: Sensor IO LDO output</span><br><span style="color: hsl(0, 100%, 40%);">-            * VCMC: VCM LDO output</span><br><span style="color: hsl(0, 100%, 40%);">-          * VAX1: Auxiliary LDO1 output</span><br><span style="color: hsl(0, 100%, 40%);">-           * VAX2: Auxiliary LDO2 output</span><br><span style="color: hsl(0, 100%, 40%);">-           * VACT: Analog LDO output</span><br><span style="color: hsl(0, 100%, 40%);">-               * VDCT: Core buck output</span><br><span style="color: hsl(0, 100%, 40%);">-                */</span><br><span style="color: hsl(0, 100%, 40%);">-             OperationRegion (PWR1, 0xB0, Zero, 0x0100)</span><br><span style="color: hsl(0, 100%, 40%);">-              Field (PWR1, DWordAcc, NoLock, Preserve)</span><br><span style="color: hsl(0, 100%, 40%);">-                {</span><br><span style="color: hsl(0, 100%, 40%);">-                       VSIO, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VCMC, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VAX1, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VAX2, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VACT, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VDCT, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* 0xB1: TI_PMIC_VR_VAL_OPREGION_ID</span><br><span style="color: hsl(0, 100%, 40%);">-              * SIOV: VSIO VR voltage value</span><br><span style="color: hsl(0, 100%, 40%);">-           * IOVA: VIO VR voltage value</span><br><span style="color: hsl(0, 100%, 40%);">-            * VCMV: VCM VR voltage value</span><br><span style="color: hsl(0, 100%, 40%);">-            * AX1V: Auxiliary LDO1 VR voltage value</span><br><span style="color: hsl(0, 100%, 40%);">-                 * AX2V: Auxiliary LDO2 VR voltage value</span><br><span style="color: hsl(0, 100%, 40%);">-                 * ACVA: Analog LDO VR voltage</span><br><span style="color: hsl(0, 100%, 40%);">-           * DCVA: Core buck VR volatage</span><br><span style="color: hsl(0, 100%, 40%);">-           */</span><br><span style="color: hsl(0, 100%, 40%);">-             OperationRegion (PWR2, 0xB1, Zero, 0x0100)</span><br><span style="color: hsl(0, 100%, 40%);">-              Field (PWR2, DWordAcc, NoLock, Preserve)</span><br><span style="color: hsl(0, 100%, 40%);">-                {</span><br><span style="color: hsl(0, 100%, 40%);">-                       SIOV, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       IOVA, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       VCMV, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       AX1V, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       AX2V, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       ACVA, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       DCVA, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* 0xB2: TI_PMIC_CLK_OPREGION_ID</span><br><span style="color: hsl(0, 100%, 40%);">-                 * PCTL: PLL control register</span><br><span style="color: hsl(0, 100%, 40%);">-            * PCT2: PLL control 2 register</span><br><span style="color: hsl(0, 100%, 40%);">-          * CFG1: Clock configuration 1 register</span><br><span style="color: hsl(0, 100%, 40%);">-          * CFG2: Clock configuration 2 register</span><br><span style="color: hsl(0, 100%, 40%);">-          */</span><br><span style="color: hsl(0, 100%, 40%);">-             OperationRegion (CLKC, 0xB2, Zero, 0x0100)</span><br><span style="color: hsl(0, 100%, 40%);">-              Field (CLKC, DWordAcc, NoLock, Preserve)</span><br><span style="color: hsl(0, 100%, 40%);">-                {</span><br><span style="color: hsl(0, 100%, 40%);">-                       PCTL, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       PCT2, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       CFG1, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       CFG2, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* 0xB3: TI_PMIC_CLK_FREQ_OPREGION_ID</span><br><span style="color: hsl(0, 100%, 40%);">-            * PDV2: PLL output divider for HCLK_B</span><br><span style="color: hsl(0, 100%, 40%);">-           * BODI: PLL output divider for boost clock</span><br><span style="color: hsl(0, 100%, 40%);">-              * BUDI: PLL output divider for buck clock</span><br><span style="color: hsl(0, 100%, 40%);">-               * PSWR: PLL reference clock setting</span><br><span style="color: hsl(0, 100%, 40%);">-             * XTDV: Reference crystal divider</span><br><span style="color: hsl(0, 100%, 40%);">-               * PLDV: PLL feedback divider</span><br><span style="color: hsl(0, 100%, 40%);">-            * PODV: PLL output divider for HCLK_A</span><br><span style="color: hsl(0, 100%, 40%);">-           */</span><br><span style="color: hsl(0, 100%, 40%);">-             OperationRegion (CLKF, 0xB3, Zero, 0x0100)</span><br><span style="color: hsl(0, 100%, 40%);">-              Field (CLKF, DWordAcc, NoLock, Preserve)</span><br><span style="color: hsl(0, 100%, 40%);">-                {</span><br><span style="color: hsl(0, 100%, 40%);">-                       PDV2, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       BODI, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       BUDI, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       PSWR, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       XTDV, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       PLDV, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-                       PODV, 32,</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               Mutex (MUTC, 0)</span><br><span style="color: hsl(0, 100%, 40%);">-         Method (CLKE, 0, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                  /* save Acquire result so we can check for</span><br><span style="color: hsl(0, 100%, 40%);">-                      Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                       Store (Acquire (MUTC, 1000), Local0)</span><br><span style="color: hsl(0, 100%, 40%);">-                    /* check for Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                  If (LEqual (Local0, Zero)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                            /* Set boost clock divider */</span><br><span style="color: hsl(0, 100%, 40%);">-                           BODI = 3</span><br><span style="color: hsl(0, 100%, 40%);">-                                /* Set buck clock divider */</span><br><span style="color: hsl(0, 100%, 40%);">-                            BUDI = 2</span><br><span style="color: hsl(0, 100%, 40%);">-                                /* Set the PLL_REF_CLK cyles */</span><br><span style="color: hsl(0, 100%, 40%);">-                         PSWR = 19</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Set the reference crystal divider */</span><br><span style="color: hsl(0, 100%, 40%);">-                         XTDV = 170</span><br><span style="color: hsl(0, 100%, 40%);">-                              /* Set PLL feedback divider */</span><br><span style="color: hsl(0, 100%, 40%);">-                          PLDV = 32</span><br><span style="color: hsl(0, 100%, 40%);">-                               /* Set PLL output divider for HCLK_A */</span><br><span style="color: hsl(0, 100%, 40%);">-                         PODV = 1</span><br><span style="color: hsl(0, 100%, 40%);">-                                /* Enable HCLK_A clock.</span><br><span style="color: hsl(0, 100%, 40%);">-                          * CFG1: output selection for HCLK_A.</span><br><span style="color: hsl(0, 100%, 40%);">-                            * CFG2: set drive strength for HCLK_A.</span><br><span style="color: hsl(0, 100%, 40%);">-                          */</span><br><span style="color: hsl(0, 100%, 40%);">-                             CFG2 = 1</span><br><span style="color: hsl(0, 100%, 40%);">-                                CFG1 = 2</span><br><span style="color: hsl(0, 100%, 40%);">-                                /* Enable PLL output, crystal oscillator</span><br><span style="color: hsl(0, 100%, 40%);">-                                 * input capacitance control and set</span><br><span style="color: hsl(0, 100%, 40%);">-                             * Xtal oscillator as clock source.</span><br><span style="color: hsl(0, 100%, 40%);">-                              */</span><br><span style="color: hsl(0, 100%, 40%);">-                             PCTL = 209</span><br><span style="color: hsl(0, 100%, 40%);">-                              Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                Release (MUTC)</span><br><span style="color: hsl(0, 100%, 40%);">-                  }</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               Method (CLKD, 0, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                  /* save Acquire result so we can check for</span><br><span style="color: hsl(0, 100%, 40%);">-                      Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                       Store (Acquire (MUTC, 1000), Local0)</span><br><span style="color: hsl(0, 100%, 40%);">-                    /* check for Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                  If (LEqual (Local0, Zero)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                            BODI = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                BUDI = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                PSWR = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                XTDV = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                PLDV = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                PODV = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                /* Disable HCLK_A clock */</span><br><span style="color: hsl(0, 100%, 40%);">-                              CFG2 = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                CFG1 = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                PCTL = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                Release (MUTC)</span><br><span style="color: hsl(0, 100%, 40%);">-                  }</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* Reference count for VSIO */</span><br><span style="color: hsl(0, 100%, 40%);">-          Mutex (MUTV, 0)</span><br><span style="color: hsl(0, 100%, 40%);">-         Name (VSIC, 0)</span><br><span style="color: hsl(0, 100%, 40%);">-          Method (DOVD, 1, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                  /* Save Acquire result so we can check for</span><br><span style="color: hsl(0, 100%, 40%);">-                      Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                       Store (Acquire (MUTV, 1000), Local0)</span><br><span style="color: hsl(0, 100%, 40%);">-                    /* Check for Mutex acquired */</span><br><span style="color: hsl(0, 100%, 40%);">-                  If (LEqual (Local0, Zero)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                            /* Turn off VSIO */</span><br><span style="color: hsl(0, 100%, 40%);">-                             If (LEqual (Arg0, Zero)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                      VSIO = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                } ElseIf (LEqual (Arg0, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                   VSIO = 3</span><br><span style="color: hsl(0, 100%, 40%);">-                                }</span><br><span style="color: hsl(0, 100%, 40%);">-                               Release (MUTV)</span><br><span style="color: hsl(0, 100%, 40%);">-                  }</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* Power resource methods for CAM1 */</span><br><span style="color: hsl(0, 100%, 40%);">-           PowerResource (OVFI, 0, 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    Name (STA, 0)</span><br><span style="color: hsl(0, 100%, 40%);">-                   Method (_ON, 0, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                           If (LEqual (AVP2, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                 If (LEqual (STA, 0)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                          /* Enable VSIO regulator +</span><br><span style="color: hsl(0, 100%, 40%);">-                                              daisy chain */</span><br><span style="color: hsl(0, 100%, 40%);">-                                          DOVD(1)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                         VAX2 = 1 /* Enable VAUX2 */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                             if (LNotEqual (AX2V, 52)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     /* Set VAUX2 as</span><br><span style="color: hsl(0, 100%, 40%);">-                                                 1.8006 V */</span><br><span style="color: hsl(0, 100%, 40%);">-                                                     AX2V = 52</span><br><span style="color: hsl(0, 100%, 40%);">-                                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                                \_SB.PCI0.I2C3.PMIC.CLKE()</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                              VAX1 = 1 /* Enable VAUX1 */</span><br><span style="color: hsl(0, 100%, 40%);">-                                             if (LNotEqual (AX1V, 19)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                             /* Set VAUX1 as 1.2132V */</span><br><span style="color: hsl(0, 100%, 40%);">-                                                      AX1V = 19</span><br><span style="color: hsl(0, 100%, 40%);">-                                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               Sleep(3)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                                \_SB.PCI0.I2C3.CAM1.CGP4(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                             Sleep(3)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                                \_SB.PCI0.I2C3.CAM1.CGP5(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                             Sleep(5)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                STA = 1</span><br><span style="color: hsl(0, 100%, 40%);">-                                 }</span><br><span style="color: hsl(0, 100%, 40%);">-                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                       }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                       Method (_OFF, 0, Serialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                          If (LEqual (AVP2, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                 If (LEqual (STA, 1)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                          Sleep(2)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                \_SB.PCI0.I2C3.PMIC.CLKD()</span><br><span style="color: hsl(0, 100%, 40%);">-                                              Sleep(2)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                \_SB.PCI0.I2C3.CAM1.CGP5(0)</span><br><span style="color: hsl(0, 100%, 40%);">-                                             Sleep(3)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                VAX1 = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                                Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                \_SB.PCI0.I2C3.CAM1.CGP4(0)</span><br><span style="color: hsl(0, 100%, 40%);">-                                             Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                VAX2 = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                                                Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-                                                DOVD(0)</span><br><span style="color: hsl(0, 100%, 40%);">-                                         Sleep(1)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                                        }</span><br><span style="color: hsl(0, 100%, 40%);">-                                       STA = 0</span><br><span style="color: hsl(0, 100%, 40%);">-                         }</span><br><span style="color: hsl(0, 100%, 40%);">-                       }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                       Method (_STA, 0, NotSerialized) {</span><br><span style="color: hsl(0, 100%, 40%);">-                               Return (STA)</span><br><span style="color: hsl(0, 100%, 40%);">-                    }</span><br><span style="color: hsl(120, 100%, 40%);">+             Method (_STA, 0, NotSerialized) {</span><br><span style="color: hsl(120, 100%, 40%);">+                     Return (STA)</span><br><span>                 }</span><br><span>    }</span><br><span> </span><br><span>        Device (CAM1)</span><br><span>        {</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (_HID, "INT3479") /* _HID: Hardware ID */</span><br><span style="color: hsl(120, 100%, 40%);">+              Name (_HID, "SONY319A") /* _HID: Hardware ID */</span><br><span>            Name (_UID, Zero)  /* _UID: Unique ID */</span><br><span style="color: hsl(0, 100%, 40%);">-                Name (_DDN, "OV 5670 Camera")  /* _DDN: DOS Device Name */</span><br><span style="color: hsl(0, 100%, 40%);">-            Name (CAMD, 0x02)</span><br><span style="color: hsl(120, 100%, 40%);">+             Name (_DDN, "Sony IMX319 Camera")  /* _DDN: DOS Device Name */</span><br><span> </span><br><span>                 Method (_STA, 0, NotSerialized)  /* _STA: Status */</span><br><span>          {</span><br><span>                    Return (0x0F)</span><br><span>                }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           Name (_DEP, Package() {\_SB.PCI0.I2C3.PMIC})</span><br><span>                 Name (_CRS, ResourceTemplate ()</span><br><span>              {</span><br><span>                    I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,</span><br><span>@@ -839,46 +184,7 @@</span><br><span>                        )</span><br><span>            })</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-          Field (\_SB.PCI0.I2C3.PMIC.GPOP, ByteAcc, NoLock, Preserve)</span><br><span style="color: hsl(0, 100%, 40%);">-             {</span><br><span style="color: hsl(0, 100%, 40%);">-                       Connection</span><br><span style="color: hsl(0, 100%, 40%);">-                      (</span><br><span style="color: hsl(0, 100%, 40%);">-                               GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,</span><br><span style="color: hsl(0, 100%, 40%);">-                                 IoRestrictionOutputOnly,</span><br><span style="color: hsl(0, 100%, 40%);">-                                        "\\_SB.PCI0.I2C3.PMIC", 0x00,</span><br><span style="color: hsl(0, 100%, 40%);">-                                 ResourceConsumer,,)</span><br><span style="color: hsl(0, 100%, 40%);">-                             {</span><br><span style="color: hsl(0, 100%, 40%);">-                                       4</span><br><span style="color: hsl(0, 100%, 40%);">-                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                       ),</span><br><span style="color: hsl(0, 100%, 40%);">-                      GPO4, 1,</span><br><span style="color: hsl(0, 100%, 40%);">-                        Connection</span><br><span style="color: hsl(0, 100%, 40%);">-                      (</span><br><span style="color: hsl(0, 100%, 40%);">-                               GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,</span><br><span style="color: hsl(0, 100%, 40%);">-                                 IoRestrictionOutputOnly,</span><br><span style="color: hsl(0, 100%, 40%);">-                                        "\\_SB.PCI0.I2C3.PMIC", 0x00,</span><br><span style="color: hsl(0, 100%, 40%);">-                                 ResourceConsumer,,)</span><br><span style="color: hsl(0, 100%, 40%);">-                             {</span><br><span style="color: hsl(0, 100%, 40%);">-                                       5</span><br><span style="color: hsl(0, 100%, 40%);">-                               }</span><br><span style="color: hsl(0, 100%, 40%);">-                       ),</span><br><span style="color: hsl(0, 100%, 40%);">-                      GPO5, 1,</span><br><span style="color: hsl(0, 100%, 40%);">-                }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* Set or clear GPO4 GPIO */</span><br><span style="color: hsl(0, 100%, 40%);">-            Method (CGP4, 1, Serialized)</span><br><span style="color: hsl(0, 100%, 40%);">-            {</span><br><span style="color: hsl(0, 100%, 40%);">-                       GPO4 = Arg0</span><br><span style="color: hsl(0, 100%, 40%);">-             }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* Set or clear GPO5 GPIO */</span><br><span style="color: hsl(0, 100%, 40%);">-            Method (CGP5, 1, Serialized)</span><br><span style="color: hsl(0, 100%, 40%);">-            {</span><br><span style="color: hsl(0, 100%, 40%);">-                       GPO5 = Arg0</span><br><span style="color: hsl(0, 100%, 40%);">-             }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               Name (_PR0, Package () { ^^I2C3.PMIC.OVFI })</span><br><span style="color: hsl(0, 100%, 40%);">-            Name (_PR3, Package () { ^^I2C3.PMIC.OVFI })</span><br><span style="color: hsl(120, 100%, 40%);">+          Name (_PR0, Package () { PCAM })</span><br><span> </span><br><span>                 /* Port0 of CAM1 is connected to port1 of CIO2 device */</span><br><span>             Name (_DSD, Package () {</span><br><span>@@ -909,7 +215,7 @@</span><br><span>                               Package () { "endpoint", 0 },</span><br><span>                              Package () { "clock-lanes", 0 },</span><br><span>                           Package () { "data-lanes",</span><br><span style="color: hsl(0, 100%, 40%);">-                                    Package () { 1, 2 }</span><br><span style="color: hsl(120, 100%, 40%);">+                                   Package () { 1, 2, 3, 4 }</span><br><span>                            },</span><br><span>                           Package () { "link-frequencies",</span><br><span>                                   Package() { 844800000 }</span><br><span>diff --git a/src/mainboard/intel/kblrvp/variants/rvp3/include/variant/gpio.h b/src/mainboard/intel/kblrvp/variants/rvp3/include/variant/gpio.h</span><br><span>index 64d0259..0b28142 100644</span><br><span>--- a/src/mainboard/intel/kblrvp/variants/rvp3/include/variant/gpio.h</span><br><span>+++ b/src/mainboard/intel/kblrvp/variants/rvp3/include/variant/gpio.h</span><br><span>@@ -38,6 +38,9 @@</span><br><span> #define EC_SCI_GPI              GPE0_DW2_16</span><br><span> #define EC_SMI_GPI               GPP_E15</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* CSI2 flash strobe */</span><br><span style="color: hsl(120, 100%, 40%);">+#define CAM_FLASH_STROBE  GPP_D4</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> #ifndef __ACPI__</span><br><span> /* Pad configuration in ramstage. */</span><br><span> static const struct pad_config gpio_table[] = {</span><br><span>@@ -117,7 +120,7 @@</span><br><span> /* SPI1_CLK */         PAD_CFG_NF(GPP_D1, NONE, DEEP, NF1),</span><br><span> /* SPI1_MISO */         PAD_CFG_NF(GPP_D2, NONE, DEEP, NF1),</span><br><span> /* SPI1_MOSI */         PAD_CFG_NF(GPP_D3, NONE, DEEP, NF1),</span><br><span style="color: hsl(0, 100%, 40%);">-/* CAM_FLASH_STROBE */      PAD_CFG_NF(GPP_D4, NONE, DEEP, NF1),</span><br><span style="color: hsl(120, 100%, 40%);">+/* CAM_FLASH_STROBE */    PAD_CFG_GPO(GPP_D4, 0, DEEP),</span><br><span> /* ISH_I2C0_SDA */     PAD_CFG_NF(GPP_D5, NONE, DEEP, NF1),</span><br><span> /* ISH_I2C0_SCL */      PAD_CFG_NF(GPP_D6, NONE, DEEP, NF1),</span><br><span> /* ISH_I2C1_SDA */      PAD_CFG_NF(GPP_D7, NONE, DEEP, NF1),</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/26104">change 26104</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/26104"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I374b5437c238caf89ae42f5328a574b22d3e0b8a </div>
<div style="display:none"> Gerrit-Change-Number: 26104 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Lijian Zhao <lijian.zhao@intel.com> </div>