diff options
author | Lijian Zhao <lijian.zhao@intel.com> | 2018-06-13 12:51:47 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2018-07-02 07:27:21 +0000 |
commit | e78af973499d906c8cc27b2515148b4a8494d35a (patch) | |
tree | c62583036be14adfffb068ccfb8984b7d70282b4 /src/mainboard/google/poppy/variants/nocturne/include/variant/acpi/cam1.asl | |
parent | d0a5deb46a86d1979d3956a1d835fb00d7d3cb97 (diff) | |
download | coreboot-e78af973499d906c8cc27b2515148b4a8494d35a.tar.xz |
mainboard/google/nocturne: Set camera power sequence
To make image sensor working, the intended power sequence need to
applied.
BUG=NONE
TEST=NONE
Change-Id: I4833c0e303174b297c1d193495e08e55d294a717
Signed-off-by: Lijian Zhao <lijian.zhao@intel.com>
Signed-off-by: Rajmohan Mani <rajmohan.mani@intel.com>
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://review.coreboot.org/27094
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/mainboard/google/poppy/variants/nocturne/include/variant/acpi/cam1.asl')
-rw-r--r-- | src/mainboard/google/poppy/variants/nocturne/include/variant/acpi/cam1.asl | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/mainboard/google/poppy/variants/nocturne/include/variant/acpi/cam1.asl b/src/mainboard/google/poppy/variants/nocturne/include/variant/acpi/cam1.asl index bba761066d..ca2fee4e45 100644 --- a/src/mainboard/google/poppy/variants/nocturne/include/variant/acpi/cam1.asl +++ b/src/mainboard/google/poppy/variants/nocturne/include/variant/acpi/cam1.asl @@ -35,6 +35,60 @@ Scope (\_SB.PCI0.I2C5) ) }) + Name (STA, 0) + Method (PMON, 0, Serialized) { + If (STA == 0) { + CTXS(GPIO_RCAM_RST_L) + STXS(GPIO_RCAM_PWR_EN) + STXS(GPIO_PCH_RCAM_CLK_EN) + Sleep(3) + STXS(GPIO_RCAM_RST_L) + + /* + * A delay of T7 (minimum of 10 ms) + T8 + * (max 1.4 ms + delay of coarse integration + * time value) is needed to have the sensor + * ready for streaming, as soon as the power + * on sequence completes + */ + Sleep(12) + } + STA++ + } + + Method (PMOF, 0, Serialized) { + If (STA == 0) { + Return + } + STA-- + If (STA == 0) { + CTXS(GPIO_PCH_RCAM_CLK_EN) + CTXS(GPIO_RCAM_RST_L) + CTXS(GPIO_RCAM_PWR_EN) + } + } + + Name (_PR0, Package (0x01) { RCPR }) + Name (_PR3, Package (0x01) { RCPR }) + + /* Power resource methods for Rear Camera */ + PowerResource (RCPR, 0, 0) { + Method (_ON, 0, Serialized) { + PMON () + } + Method (_OFF, 0, Serialized) { + PMOF () + } + Method (_STA, 0, Serialized) { + If (LGreater(STA,0)) { + Return (0x1) + } + Else { + Return (0x0) + } + } + } + /* Port0 of CAM1 is connected to port1 of CIO2 device */ Name (_DSD, Package () { ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), @@ -98,6 +152,11 @@ Scope (\_SB.PCI0.I2C5) ) }) + Name (_DEP, Package() { ^^I2C5.CAM1 }) + + Name (_PR0, Package (0x01) { ^^I2C5.CAM1.RCPR }) + Name (_PR3, Package (0x01) { ^^I2C5.CAM1.RCPR }) + Name (_DSD, Package () { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package () { @@ -124,6 +183,11 @@ Scope (\_SB.PCI0.I2C5) 0x00, ResourceConsumer, ,) }) + Name (_DEP, Package () { ^^I2C5.CAM1 }) + + Name (_PR0, Package (0x01) { ^^I2C5.CAM1.RCPR }) + Name (_PR3, Package (0x01) { ^^I2C5.CAM1.RCPR }) + Name (_DSD, Package () { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), |