summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/poppy/acpi/mipi_camera.asl111
1 files changed, 79 insertions, 32 deletions
diff --git a/src/mainboard/google/poppy/acpi/mipi_camera.asl b/src/mainboard/google/poppy/acpi/mipi_camera.asl
index 5c75122760..38cf060bdb 100644
--- a/src/mainboard/google/poppy/acpi/mipi_camera.asl
+++ b/src/mainboard/google/poppy/acpi/mipi_camera.asl
@@ -289,14 +289,27 @@ Scope (\_SB.PCI0.I2C2)
Decrement (VSIC)
If (LEqual (VSIC, Zero)) {
VSIO = 0
+ Sleep(1)
}
}
} ElseIf (LEqual (Arg0, 1)) {
- /* Increment only if VSIC < 3 */
- If (LLess (VSIC, 3)) {
+ /* Increment only if VSIC < 4 */
+ If (LLess (VSIC, 4)) {
/* Turn on VSIO */
If (LEqual (VSIC, Zero)) {
VSIO = 3
+
+ 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)
}
Increment (VSIC)
}
@@ -326,18 +339,6 @@ Scope (\_SB.PCI0.I2C2)
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 */
@@ -376,7 +377,6 @@ Scope (\_SB.PCI0.I2C2)
VACT = 0
Sleep(1)
DOVD(0)
- Sleep(1)
}
}
STA = 0
@@ -441,8 +441,6 @@ Scope (\_SB.PCI0.I2C2)
VAX2 = 0
Sleep(1)
DOVD(0)
- Sleep(1)
-
}
STA = 0
}
@@ -462,17 +460,6 @@ Scope (\_SB.PCI0.I2C2)
/* 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
@@ -494,7 +481,34 @@ Scope (\_SB.PCI0.I2C2)
VCMC = 0 /* Disable regulator */
Sleep(1)
DOVD(0) /* Disable regulator */
- Sleep(1)
+ STA = 0
+ }
+ }
+ }
+
+ Method (_STA, 0, NotSerialized) {
+ Return (STA)
+ }
+ }
+
+ /* Power resource methods for NVM */
+ PowerResource (NVMP, 0, 0) {
+ Name (STA, 0)
+ Method (_ON, 0, Serialized) {
+ If (LEqual (AVBL, 1)) {
+ If (LEqual (STA, 0)) {
+ /* Enable VSIO regulator +
+ daisy chain */
+ DOVD(1)
+ STA = 1
+ }
+ }
+ }
+
+ Method (_OFF, 0, Serialized) {
+ If (LEqual (AVBL, 1)) {
+ If (LEqual (STA, 1)) {
+ DOVD(0) /* Disable regulator */
STA = 0
}
}
@@ -518,7 +532,7 @@ Scope (\_SB.PCI0.I2C2)
Return (0x0F)
}
- Name (_DEP, Package() {\_SB.PCI0.I2C2.PMIC})
+ Name (_DEP, Package() { \_SB.PCI0.I2C2.PMIC })
Name (_CRS, ResourceTemplate ()
{
I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
@@ -656,7 +670,7 @@ Scope (\_SB.PCI0.I2C2)
Return (0x0F)
}
- Name (_DEP, Package() {\_SB.PCI0.I2C2.PMIC})
+ Name (_DEP, Package() { \_SB.PCI0.I2C2.PMIC })
Name (_CRS, ResourceTemplate ()
{
I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,
@@ -668,6 +682,39 @@ Scope (\_SB.PCI0.I2C2)
Name (_PR0, Package () { ^PMIC.VCMP })
Name (_PR3, Package () { ^PMIC.VCMP })
}
+
+ Device (NVM0)
+ {
+ Name (_HID, "INT3499") /* _HID: Hardware ID */
+ Name (_UID, Zero) /* _UID: Unique ID */
+ Name (_DDN, "GT24C16S/CAT24C16") /* _DDN: DOS Device Name */
+
+ Method (_STA, 0, NotSerialized) /* _STA: Status */
+ {
+ Return (0x0F)
+ }
+
+ Name (_DEP, Package() { \_SB.PCI0.I2C2.PMIC })
+ Name (_CRS, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0050, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.PCI0.I2C2",
+ 0x00, ResourceConsumer, ,)
+ })
+
+ Name (_PR0, Package () { ^PMIC.NVMP })
+ Name (_PR3, Package () { ^PMIC.NVMP })
+
+ Name (_DSD, Package ()
+ {
+ ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package () { "size", 2048 },
+ Package () { "pagesize", 1 },
+ Package () { "read-only", 1 },
+ }
+ })
+ }
}
Scope (\_SB.PCI0.I2C4)
@@ -684,7 +731,7 @@ Scope (\_SB.PCI0.I2C4)
Return (0x0F)
}
- Name (_DEP, Package() {\_SB.PCI0.I2C2.PMIC})
+ Name (_DEP, Package() { \_SB.PCI0.I2C2.PMIC })
Name (_CRS, ResourceTemplate ()
{
I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80,