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