summaryrefslogtreecommitdiff
path: root/src/mainboard/google/poppy
diff options
context:
space:
mode:
authorRizwan Qureshi <rizwan.qureshi@intel.corp-partner.google.com>2018-01-08 18:04:36 +0530
committerMartin Roth <martinroth@google.com>2018-01-17 16:41:34 +0000
commitbc356ee693b0ad483535714e4161f7f78a8c455a (patch)
treeac8c2058858f2fd8dec007fd53056adc6c5841a6 /src/mainboard/google/poppy
parent21ea964c3a84ebd9c5f2142534b6fd4452cee1d8 (diff)
mb/google/poppy: Move PMIC specific objects to appropriate scope
Right now the poppy baseboard camera topology allows to add maximum of 2 sensors. The sensors can be of different vendors. The current ASL code structure doesn't allow sensor customization. Moving PMIC specific objects from sensor objects to PMIC scope and having separate sensor ASL files will help in unbinding the PMIC and sensor objects and allow some customizations. BUG=None BRANCH=None TEST=Build and boot soraka, make sure both camera's are working fine and also verify that the generated DSDT looks fine. Change-Id: I63ae1a685b78bda212c5c48a4c2dc744164a3cb5 Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com> Reviewed-on: https://review.coreboot.org/23168 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subrata.banik@intel.com>
Diffstat (limited to 'src/mainboard/google/poppy')
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam0.asl169
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam1.asl101
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/camera.asl4
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/camera_pmic.asl (renamed from src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/mipi_camera.asl)432
4 files changed, 368 insertions, 338 deletions
diff --git a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam0.asl b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam0.asl
new file mode 100644
index 0000000000..5bb8df5b75
--- /dev/null
+++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam0.asl
@@ -0,0 +1,169 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2018 Intel Corporation.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+Scope (\_SB.PCI0.I2C2)
+{
+ Device (CAM0)
+ {
+ Name (_HID, "OVTID858") /* _HID: Hardware ID */
+ Name (_UID, Zero) /* _UID: Unique ID */
+ Name (_DDN, "OV 13858 Camera") /* _DDN: DOS Device Name */
+ Name (CAMD, 0x02)
+
+ Method (_STA, 0, NotSerialized) /* _STA: Status */
+ {
+ Return (0x0F)
+ }
+
+ Name (_DEP, Package() { \_SB.PCI0.I2C2.PMIC })
+ Name (_CRS, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.PCI0.I2C2",
+ 0x00, ResourceConsumer, ,
+ )
+ })
+
+ Name (_PR0, Package () { ^^I2C2.PMIC.OVTH })
+ Name (_PR3, Package () { ^^I2C2.PMIC.OVTH })
+
+ /* Port0 of CAM0 is connected to port0 of CIO2 device */
+ Name (_DSD, Package () {
+ ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+ Package () {
+ Package () { "port0", "PRT0" },
+ },
+ ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package () { "clock-frequency", 19200000 },
+ Package () { "lens-focus",
+ Package () { \_SB.PCI0.I2C2.VCM0 }
+ }
+ }
+ })
+
+ Name (PRT0, Package() {
+ ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package () { "port", 0 },
+ },
+ ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+ Package () {
+ Package () { "endpoint0", "EP00" },
+ }
+ })
+
+ Name (EP00, Package() {
+ ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package () { "endpoint", 0 },
+ Package () { "clock-lanes", 0 },
+ Package () { "data-lanes",
+ Package () { 1, 2, 3, 4 }
+ },
+ Package () { "link-frequencies",
+ Package() { 540000000, 270000000 }
+ },
+ Package () { "remote-endpoint",
+ Package() { \_SB.PCI0.CIO2, 0, 0 }
+ },
+ }
+ })
+
+ Method (SSDB, 0, Serialized)
+ {
+ Return (Buffer (0x5E)
+ {
+ /* 0000 */ 0x00, 0x50, 0x00, 0x00, 0x00, 0x00,0x00, 0x00,
+ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03,
+ /* 0050 */ 0x09, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0x36,
+ /* 0058 */ 0x6E, 0x01, 0x00, 0x00, 0x00, 0x00
+ })
+ }
+ }
+
+ Device (VCM0)
+ {
+ Name (_HID, "PRP0001") /* _HID: Hardware ID */
+ Name (_UID, Zero) /* _UID: Unique ID */
+ Name (_DDN, "Dongwoon AF DAC") /* _DDN: DOS Device Name */
+ Name (CAMD, 0x03)
+
+ Method (_STA, 0, NotSerialized) /* _STA: Status */
+ {
+ Return (0x0F)
+ }
+
+ Name (_DEP, Package() { \_SB.PCI0.I2C2.PMIC })
+ Name (_CRS, ResourceTemplate ()
+ {
+ I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.PCI0.I2C2",
+ 0x00, ResourceConsumer, ,
+ )
+ })
+
+ Name (_DSD, Package () {
+ ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package () { "compatible", "dongwoon,dw9714" },
+ }
+ })
+
+ 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 },
+ }
+ })
+ }
+}
diff --git a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam1.asl b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam1.asl
new file mode 100644
index 0000000000..d7640b249d
--- /dev/null
+++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam1.asl
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2018 Intel Corporation.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+Scope (\_SB.PCI0.I2C4)
+{
+ Device (CAM1)
+ {
+ Name (_HID, "INT3479") /* _HID: Hardware ID */
+ Name (_UID, Zero) /* _UID: Unique ID */
+ Name (_DDN, "OV 5670 Camera") /* _DDN: DOS Device Name */
+ Name (CAMD, 0x02)
+
+ Method (_STA, 0, NotSerialized) /* _STA: Status */
+ {
+ Return (0x0F)
+ }
+
+ Name (_DEP, Package() { \_SB.PCI0.I2C2.PMIC })
+ Name (_CRS, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.PCI0.I2C4",
+ 0x00, ResourceConsumer, ,
+ )
+ })
+
+ Name (_PR0, Package () { ^^I2C2.PMIC.OVFI })
+ Name (_PR3, Package () { ^^I2C2.PMIC.OVFI })
+
+ /* Port0 of CAM1 is connected to port1 of CIO2 device */
+ Name (_DSD, Package () {
+ ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+ Package () {
+ Package () { "port0", "PRT0" },
+ },
+ ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package () { "clock-frequency", 19200000 },
+ }
+ })
+
+ Name (PRT0, Package() {
+ ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package () { "port", 0 },
+ },
+ ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+ Package () {
+ Package () { "endpoint0", "EP00" },
+ }
+ })
+
+ Name (EP00, Package() {
+ ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package () { "endpoint", 0 },
+ Package () { "clock-lanes", 0 },
+ Package () { "data-lanes",
+ Package () { 1, 2 }
+ },
+ Package () { "link-frequencies",
+ Package() { 422400000 }
+ },
+ Package () { "remote-endpoint",
+ Package() { \_SB.PCI0.CIO2, 1, 0 }
+ },
+ }
+ })
+
+ Method (SSDB, 0, Serialized)
+ {
+ Return (Buffer (0x5E)
+ {
+ /* 0000 */ 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
+ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03,
+ /* 0050 */ 0x09, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0x36,
+ /* 0058 */ 0x6E, 0x01, 0x00, 0x00, 0x00, 0x00
+ })
+ }
+ }
+}
diff --git a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/camera.asl b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/camera.asl
index 1a6e63f61d..5e34ba4a9e 100644
--- a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/camera.asl
+++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/camera.asl
@@ -15,4 +15,6 @@
#include "ipu_mainboard.asl"
#include "ipu_endpoints.asl"
-#include "mipi_camera.asl"
+#include "camera_pmic.asl"
+#include "cam0.asl"
+#include "cam1.asl"
diff --git a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/mipi_camera.asl b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/camera_pmic.asl
index 29552f51ab..5eaf5b758a 100644
--- a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/mipi_camera.asl
+++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/camera_pmic.asl
@@ -164,6 +164,91 @@ Scope (\_SB.PCI0.I2C2)
}
})
+ Field (\_SB.PCI0.I2C2.PMIC.GPOP, ByteAcc, NoLock, Preserve)
+ {
+ Connection
+ (
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
+ IoRestrictionInputOnly, "\\_SB.PCI0.I2C2.PMIC",
+ 0x00, ResourceConsumer,,)
+ {
+ 1
+ }
+ ),
+ GPO1, 1,
+ Connection
+ (
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
+ IoRestrictionInputOnly, "\\_SB.PCI0.I2C2.PMIC",
+ 0x00, ResourceConsumer,,)
+ {
+ 2
+ }
+ ),
+ GPO2, 1,
+ Connection
+ (
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
+ IoRestrictionOutputOnly,
+ "\\_SB.PCI0.I2C2.PMIC", 0x00,
+ ResourceConsumer,,)
+ {
+ 9
+ }
+ ),
+ GRST, 1,
+ Connection
+ (
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
+ IoRestrictionOutputOnly,
+ "\\_SB.PCI0.I2C2.PMIC", 0x00,
+ ResourceConsumer,,)
+ {
+ 4
+ }
+ ),
+ GPO4, 1,
+ Connection
+ (
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
+ IoRestrictionOutputOnly,
+ "\\_SB.PCI0.I2C2.PMIC", 0x00,
+ ResourceConsumer,,)
+ {
+ 5
+ }
+ ),
+ GPO5, 1,
+ }
+
+ /* Set or clear GRST GPIO */
+ Method (CRST, 1, Serialized)
+ {
+ GRST = Arg0
+ }
+
+ /* Read GPO1 GPIO, to configure as input */
+ Method (CGP1, 0, Serialized)
+ {
+ Return (GPO1)
+ }
+
+ /* Read GPO2 GPIO, to configure as input */
+ Method (CGP2, 0, Serialized)
+ {
+ Return (GPO2)
+ }
+ /* Set or clear GPO4 GPIO */
+ Method (CGP4, 1, Serialized)
+ {
+ GPO4 = Arg0
+ }
+
+ /* Set or clear GPO5 GPIO */
+ Method (CGP5, 1, Serialized)
+ {
+ GPO5 = Arg0
+ }
/* PMIC operation regions */
/* 0xB0: TI_PMIC_POWER_OPREGION_ID
* VSIO: Sensor IO LDO output
@@ -370,11 +455,12 @@ Scope (\_SB.PCI0.I2C2)
PowerResource (OVTH, 0, 0) {
Name (STA, 0)
Method (_ON, 0, Serialized) {
+ /* TODO: Read Voltage and Sleep values from Sensor Obj */
If (LEqual (AVBL, 1)) {
If (LEqual (STA, 0)) {
If (LEqual (C0GP, 0)) {
- \_SB.PCI0.I2C2.CAM0.CGP1()
- \_SB.PCI0.I2C2.CAM0.CGP2()
+ \_SB.PCI0.I2C2.PMIC.CGP1()
+ \_SB.PCI0.I2C2.PMIC.CGP2()
C0GP = 1
}
@@ -398,7 +484,7 @@ Scope (\_SB.PCI0.I2C2)
DCVA = 12
}
Sleep(3)
- \_SB.PCI0.I2C2.CAM0.CRST(1)
+ \_SB.PCI0.I2C2.PMIC.CRST(1)
Sleep(5)
STA = 1
@@ -413,7 +499,7 @@ Scope (\_SB.PCI0.I2C2)
CLE0 = 0
\_SB.PCI0.I2C2.PMIC.CLKD()
Sleep(2)
- \_SB.PCI0.I2C2.CAM0.CRST(0)
+ \_SB.PCI0.I2C2.PMIC.CRST(0)
Sleep(3)
VDCT = 0
Sleep(3)
@@ -433,6 +519,7 @@ Scope (\_SB.PCI0.I2C2)
PowerResource (OVFI, 0, 0) {
Name (STA, 0)
Method (_ON, 0, Serialized) {
+ /* TODO: Read Voltage and Sleep values from Sensor Obj */
If (LEqual (AVBL, 1)) {
If (LEqual (STA, 0)) {
/* Enable VSIO regulator +
@@ -458,10 +545,10 @@ Scope (\_SB.PCI0.I2C2)
}
Sleep(3)
- \_SB.PCI0.I2C4.CAM1.CGP4(1)
+ \_SB.PCI0.I2C2.PMIC.CGP4(1)
Sleep(3)
- \_SB.PCI0.I2C4.CAM1.CGP5(1)
+ \_SB.PCI0.I2C2.PMIC.CGP5(1)
Sleep(3)
STA = 1
}
@@ -475,11 +562,11 @@ Scope (\_SB.PCI0.I2C2)
CLE1 = 0
\_SB.PCI0.I2C2.PMIC.CLKD()
Sleep(2)
- \_SB.PCI0.I2C4.CAM1.CGP5(0)
+ \_SB.PCI0.I2C2.PMIC.CGP5(0)
Sleep(3)
VAX1 = 0
Sleep(1)
- \_SB.PCI0.I2C4.CAM1.CGP4(0)
+ \_SB.PCI0.I2C2.PMIC.CGP4(0)
Sleep(1)
VAX2 = 0
Sleep(1)
@@ -563,333 +650,4 @@ Scope (\_SB.PCI0.I2C2)
}
}
- Device (CAM0)
- {
- Name (_HID, "OVTID858") /* _HID: Hardware ID */
- Name (_UID, Zero) /* _UID: Unique ID */
- Name (_DDN, "OV 13858 Camera") /* _DDN: DOS Device Name */
- Name (CAMD, 0x02)
-
- Method (_STA, 0, NotSerialized) /* _STA: Status */
- {
- Return (0x0F)
- }
-
- Name (_DEP, Package() { \_SB.PCI0.I2C2.PMIC })
- Name (_CRS, ResourceTemplate ()
- {
- I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
- AddressingMode7Bit, "\\_SB.PCI0.I2C2",
- 0x00, ResourceConsumer, ,
- )
- })
-
- Field (\_SB.PCI0.I2C2.PMIC.GPOP, ByteAcc, NoLock, Preserve)
- {
- Connection
- (
- GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
- IoRestrictionInputOnly, "\\_SB.PCI0.I2C2.PMIC",
- 0x00, ResourceConsumer,,)
- {
- 1
- }
- ),
- GPO1, 1,
- Connection
- (
- GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
- IoRestrictionInputOnly, "\\_SB.PCI0.I2C2.PMIC",
- 0x00, ResourceConsumer,,)
- {
- 2
- }
- ),
- GPO2, 1,
- 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
- }
-
- /* Read GPO1 GPIO, to configure as input */
- Method (CGP1, 0, Serialized)
- {
- Return (GPO1)
- }
-
- /* Read GPO2 GPIO, to configure as input */
- Method (CGP2, 0, Serialized)
- {
- Return (GPO2)
- }
-
- Name (_PR0, Package () { ^^I2C2.PMIC.OVTH })
- Name (_PR3, Package () { ^^I2C2.PMIC.OVTH })
-
- /* Port0 of CAM0 is connected to port0 of CIO2 device */
- Name (_DSD, Package () {
- ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
- Package () {
- Package () { "port0", "PRT0" },
- },
- ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package () { "clock-frequency", 19200000 },
- Package () { "lens-focus",
- Package () { \_SB.PCI0.I2C2.VCM0 }
- }
- }
- })
-
- Name (PRT0, Package() {
- ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package () { "port", 0 },
- },
- ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
- Package () {
- Package () { "endpoint0", "EP00" },
- }
- })
-
- Name (EP00, Package() {
- ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package () { "endpoint", 0 },
- Package () { "clock-lanes", 0 },
- Package () { "data-lanes",
- Package () { 1, 2, 3, 4 }
- },
- Package () { "link-frequencies",
- Package() { 540000000, 270000000 }
- },
- Package () { "remote-endpoint",
- Package() { \_SB.PCI0.CIO2, 0, 0 }
- },
- }
- })
-
- Method (SSDB, 0, Serialized)
- {
- Return (Buffer (0x5E)
- {
- /* 0000 */ 0x00, 0x50, 0x00, 0x00, 0x00, 0x00,0x00, 0x00,
- /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
- /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03,
- /* 0050 */ 0x09, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0x36,
- /* 0058 */ 0x6E, 0x01, 0x00, 0x00, 0x00, 0x00
- })
- }
- }
-
- Device (VCM0)
- {
- Name (_HID, "PRP0001") /* _HID: Hardware ID */
- Name (_UID, Zero) /* _UID: Unique ID */
- Name (_DDN, "Dongwoon AF DAC") /* _DDN: DOS Device Name */
- Name (CAMD, 0x03)
-
- Method (_STA, 0, NotSerialized) /* _STA: Status */
- {
- Return (0x0F)
- }
-
- Name (_DEP, Package() { \_SB.PCI0.I2C2.PMIC })
- Name (_CRS, ResourceTemplate ()
- {
- I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,
- AddressingMode7Bit, "\\_SB.PCI0.I2C2",
- 0x00, ResourceConsumer, ,
- )
- })
-
- Name (_DSD, Package () {
- ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package () { "compatible", "dongwoon,dw9714" },
- }
- })
-
- 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)
-{
- Device (CAM1)
- {
- Name (_HID, "INT3479") /* _HID: Hardware ID */
- Name (_UID, Zero) /* _UID: Unique ID */
- Name (_DDN, "OV 5670 Camera") /* _DDN: DOS Device Name */
- Name (CAMD, 0x02)
-
- Method (_STA, 0, NotSerialized) /* _STA: Status */
- {
- Return (0x0F)
- }
-
- Name (_DEP, Package() { \_SB.PCI0.I2C2.PMIC })
- Name (_CRS, ResourceTemplate ()
- {
- I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80,
- AddressingMode7Bit, "\\_SB.PCI0.I2C4",
- 0x00, ResourceConsumer, ,
- )
- })
-
- Field (\_SB.PCI0.I2C2.PMIC.GPOP, ByteAcc, NoLock, Preserve)
- {
- Connection
- (
- GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
- IoRestrictionOutputOnly,
- "\\_SB.PCI0.I2C2.PMIC", 0x00,
- ResourceConsumer,,)
- {
- 4
- }
- ),
- GPO4, 1,
- Connection
- (
- GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
- IoRestrictionOutputOnly,
- "\\_SB.PCI0.I2C2.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 () { ^^I2C2.PMIC.OVFI })
- Name (_PR3, Package () { ^^I2C2.PMIC.OVFI })
-
- /* Port0 of CAM1 is connected to port1 of CIO2 device */
- Name (_DSD, Package () {
- ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
- Package () {
- Package () { "port0", "PRT0" },
- },
- ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package () { "clock-frequency", 19200000 },
- }
- })
-
- Name (PRT0, Package() {
- ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package () { "port", 0 },
- },
- ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
- Package () {
- Package () { "endpoint0", "EP00" },
- }
- })
-
- Name (EP00, Package() {
- ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package () { "endpoint", 0 },
- Package () { "clock-lanes", 0 },
- Package () { "data-lanes",
- Package () { 1, 2 }
- },
- Package () { "link-frequencies",
- Package() { 422400000 }
- },
- Package () { "remote-endpoint",
- Package() { \_SB.PCI0.CIO2, 1, 0 }
- },
- }
- })
-
- Method (SSDB, 0, Serialized)
- {
- Return (Buffer (0x5E)
- {
- /* 0000 */ 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
- /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03,
- /* 0050 */ 0x09, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0x36,
- /* 0058 */ 0x6E, 0x01, 0x00, 0x00, 0x00, 0x00
- })
- }
- }
}