From nobody Mon Dec 23 13:42:45 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1515782769756270.0216682280244; Fri, 12 Jan 2018 10:46:09 -0800 (PST) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id D077F21D2BF08; Fri, 12 Jan 2018 10:40:52 -0800 (PST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9D6AE21D2BEFE for ; Fri, 12 Jan 2018 10:40:51 -0800 (PST) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Jan 2018 10:46:06 -0800 Received: from tsrytkon-snbuild01.sn.intel.com (HELO tsrytkon-IVM3.ger.corp.intel.com) ([10.232.80.75]) by orsmga005.jf.intel.com with ESMTP; 12 Jan 2018 10:46:05 -0800 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.93; helo=mga11.intel.com; envelope-from=teemu.s.rytkonen@intel.com; receiver=edk2-devel@lists.01.org X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,350,1511856000"; d="scan'208";a="193501100" From: Teemu Rytkonen To: edk2-devel@lists.01.org Date: Fri, 12 Jan 2018 10:46:01 -0800 Message-Id: <20180112184601.17692-1-teemu.s.rytkonen@intel.com> X-Mailer: git-send-email 2.14.1.windows.1 Subject: [edk2] [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Add support for Sony camera imx219 X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: anthony.loeppert@intel.com, david.wei@intel.com MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Adds support for two ACPI entries for imx219 as front and back camera of IPU. Both camera entries can be configured from the Front, Back camera of the BIOS menu settings. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Teemu Rytkonen Reviewed-by: zwei4 --- .../BensonGlacier/BoardInitPostMem/BoardGpios.h | 4 +- .../PlatformSsdt/Camera/Camera_Sony219A.asl | 218 +++++++++++++++++= ++++ .../PlatformSsdt/Camera/Camera_Sony219B.asl | 218 +++++++++++++++++= ++++ .../AcpiTablesPCAT/PlatformSsdt/PlatformSsdt.asl | 3 + .../PlatformSettings/PlatformSetupDxe/UnCore.vfi | 8 +- .../PlatformSetupDxe/VfrStrings.uni | Bin 305886 -> 306044 = bytes 6 files changed, 446 insertions(+), 5 deletions(-) create mode 100644 Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/= PlatformSsdt/Camera/Camera_Sony219A.asl create mode 100644 Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/= PlatformSsdt/Camera/Camera_Sony219B.asl diff --git a/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostM= em/BoardGpios.h b/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInit= PostMem/BoardGpios.h index e4c1c2ee1..f636852b8 100644 --- a/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/Boar= dGpios.h +++ b/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/Boar= dGpios.h @@ -73,7 +73,7 @@ BXT_GPIO_PAD_INIT mBenson_GpioInitData_N[] =3D BXT_GPIO_PAD_CONF(L"GPIO_7", M1 , NA , NA ,= NA , NA , Wake_Disabled, P_20K_L, NA , NA, HizRx0I, = SAME, GPIO_PADBAR+0x0038, NORTH),//Mux with DISP1_TOUCH_INT_N based on t= he SW3 switch BXT_GPIO_PAD_CONF(L"GPIO_8", M1 , NA , NA ,= NA , NA , Wake_Disabled, P_20K_L, NA , NA, HizRx0I, = SAME, GPIO_PADBAR+0x0040, NORTH),//Mux with DISP1_TOUCH_RST_N based on t= he SW3 switch BXT_GPIO_PAD_CONF(L"GPIO_9", M0 , GPO , NA ,= NA , NA , Wake_Disabled, P_20K_L, NA , NA ,NA , = NA, GPIO_PADBAR+0x0048, NORTH),//Feature: LB - BXT_GPIO_PAD_CONF(L"GPIO_10", M0 , GPO , NA ,= NA , NA , Wake_Enabled , P_20K_L, Inverted,IOAPIC, TxDRxE , = NA, GPIO_PADBAR+0x0050, NORTH),//Feature: LB =20 + BXT_GPIO_PAD_CONF(L"GPIO_10", M0 , GPO , NA ,= NA , NA , Wake_Enabled , P_20K_L, Inverted,IOAPIC, TxDRxE , = NA, GPIO_PADBAR+0x0050, NORTH),//Feature: CAM0_POWEREN BXT_GPIO_PAD_CONF(L"GPIO_11", M1 , NA , NA ,= NA , NA , Wake_Disabled, P_20K_L, NA , NA ,NA , = NA, GPIO_PADBAR+0x0058, NORTH),//Feature: LB BXT_GPIO_PAD_CONF(L"GPIO_12", M1 , NA , NA ,= NA , NA , Wake_Enabled , P_20K_L, NA , NA ,NA , = NA, GPIO_PADBAR+0x0060, NORTH),//Feature: LB BXT_GPIO_PAD_CONF(L"GPIO_13", M1 , NA , NA ,= NA , NA , Wake_Disabled, P_20K_L, NA , NA ,NA , = NA, GPIO_PADBAR+0x0068, NORTH),//Feature: LB @@ -82,7 +82,7 @@ BXT_GPIO_PAD_INIT mBenson_GpioInitData_N[] =3D BXT_GPIO_PAD_CONF(L"GPIO_16", M0 , GPI , NA ,= NA , Edge , Wake_Disabled, P_20K_H, Inverted,IOAPIC, HizRx0I ,D= isPuPd, GPIO_PADBAR+0x0080, NORTH),//Feature:SIM Card Detect Net in= Sch: SIM_CON_CD1, falling edge trigger BXT_GPIO_PAD_CONF(L"GPIO_17", M0 , GPI , GPIO_D,= NA , Edge , Wake_Disabled, P_NONE , NA ,IOAPIC, NA ,D= isPuPd, GPIO_PADBAR+0x0088, NORTH), // SOC_LSE_HOST_IRQ_N BXT_GPIO_PAD_CONF(L"GPIO_18", M1 , NA , NA ,= NA , NA , Wake_Disabled, P_20K_H, NA , NA, NA , = NA, GPIO_PADBAR+0x0090, NORTH),//Feature: LB - BXT_GPIO_PAD_CONF(L"GPIO_19", M1 , NA , NA ,= NA , NA , Wake_Disabled, P_20K_H, NA , NA, NA , = NA, GPIO_PADBAR+0x0098, NORTH),//Feature: LB + BXT_GPIO_PAD_CONF(L"GPIO_19", M0 , NA , NA ,= NA , NA , Wake_Disabled, P_20K_H, NA , NA, NA , = NA, GPIO_PADBAR+0x0098, NORTH),//Feature: CAM0_POWEREN BXT_GPIO_PAD_CONF(L"GPIO_20", M1 , NA , NA ,= NA , NA , Wake_Disabled, P_20K_L, NA , NA, NA , = NA, GPIO_PADBAR+0x00A0, NORTH),//Feature: LB BXT_GPIO_PAD_CONF(L"GPIO_21", M1 , NA , NA ,= NA , NA , Wake_Disabled, P_20K_L, NA , NA, NA , = NA, GPIO_PADBAR+0x00A8, NORTH),//Feature: LB BXT_GPIO_PAD_CONF(L"GPIO_22", M0 , GPIO ,GPIO_D ,= NA , NA , Wake_Disabled, P_20K_L, NA , NA, NA , = NA, GPIO_PADBAR+0x00B0, NORTH),//Feature: LB diff --git a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/Platfor= mSsdt/Camera/Camera_Sony219A.asl b/Platform/BroxtonPlatformPkg/Common/Acpi/= AcpiTablesPCAT/PlatformSsdt/Camera/Camera_Sony219A.asl new file mode 100644 index 000000000..0075870ed --- /dev/null +++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/C= amera/Camera_Sony219A.asl @@ -0,0 +1,218 @@ +/** @file + Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.
+ + This program and the accompanying materials + are licensed and made available under the terms and conditions of the BS= D License + which accompanies this distribution. The full text of the license may b= e found at + http://opensource.org/licenses/bsd-license.php. + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMP= LIED. + +**/ + + +Scope(\_SB.PCI0.I2C0) +{ + Device (CAM3) + { + // + // Rear Camera IMX219 + // + Name (_ADR, Zero) // _ADR: Address + Name (_HID, "SONY219A") // _HID: Hardware ID + Name (_CID, "SONY219A") // _CID: Compatible ID + Name (_SUB, "INTL0000") // _SUB: Subsystem ID + Name (_DDN, "SONY IMX219") // _DDN: DOS Device Name + Name (_UID, One) // _UID: Unique ID + /* need to be update after power on + Name (_DEP, Package () // _DEP: Dependencies + { + //PMIC device + }) + + Name (_PR0, Package (0x03) // _PR0: Power Resources for D0 + { + // Power and Clock + }) + */ + Name (PLDB, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0= 0, + /* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x0= 0, + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF + } + }) + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Return (PLDB) + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If(LEqual(WCAS,3)) { // 3-IMX219 + Return (0x0F) + } + Return (0x0) + } + /* + Method (_PS3, 0, Serialized) // _PS3: Power State 3 + { + } + + Method (_PS0, 0, Serialized) // _PS0: Power State 0 + { + } + */ + Name (SBUF, ResourceTemplate () + { + GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionO= utputOnly, + "\\_SB.GPO0", 0x00, ResourceConsumer, , + ) + { + 0x0A // GPIO_10 + } + //I2C for CMOS + I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80, + AddressingMode7Bit, "\\_SB.PCI0.I2C0", + 0x00, ResourceConsumer, , + ) + }) + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Return (SBUF) + } + + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x6A, 0xA7, 0x7B, 0x37, 0x90, 0xF3, 0= xFF, 0x4A, + /* 0008 */ 0xAB, 0x38, 0x9B, 0x1B, 0xF3, 0x3A, 0= x30, 0x15 + })) + { + Return ("SONY219A") //DSDT_CAM_HWID + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0xAA, 0xAA, 0x62, 0x3C, 0xE0, 0xD8, 0= x1A, 0x40, + /* 0008 */ 0x84, 0xC3, 0xFC, 0x05, 0x65, 0x6F, 0= xA2, 0x8C + })) + { + Return ("IMX219") //DSDT_CAM_CMOS + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x8F, 0xCE, 0x2A, 0x82, 0x14, 0x28, 0= x74, 0x41, + /* 0008 */ 0xA5, 0x6B, 0x5F, 0x02, 0x9F, 0xE0, 0= x79, 0xEE + })) + { + Return ("RasperryPi") //DSDT_CAM_MODULE + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x2A, 0x51, 0x59, 0x29, 0x8C, 0x02, 0= x46, 0x46, + /* 0008 */ 0xB7, 0x3D, 0x4D, 0x1B, 0x56, 0x72, 0= xFA, 0xD8 + })) + { + Return ("Intel_RVP") //DSDT_CAM_CUSTOM + } + + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0xD8, 0x7B, 0x3B, 0xEA, 0x9B, 0xE0, 0= x39, 0x42, + /* 0008 */ 0xAD, 0x6E, 0xED, 0x52, 0x5F, 0x3F, 0= x26, 0xAB + })) + { + Return (0x1020) //DSDT_CAM_MIPIPORT + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x92, 0xC4, 0x5A, 0xB6, 0x30, 0x9E, 0= x60, 0x4D, + /* 0008 */ 0xB5, 0xB2, 0xF4, 0x97, 0xC7, 0x90, 0= xD9, 0xCF + })) + { + Return (Zero) //DSDT_CAM_FUNC + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x0F, 0xAB, 0x70, 0xE7, 0x44, 0x26, 0= xAB, 0x4B, + /* 0008 */ 0x86, 0x28, 0xD6, 0x2F, 0x16, 0x83, 0= xFB, 0x9D + })) + { + Return (Zero) //DSDT_CAM_ROM + } + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0xB2, 0x4A, 0xA5, 0x1E, 0x84, 0xCD, 0= xCC, 0x48, + /* 0008 */ 0x9D, 0xD4, 0x7F, 0x59, 0x4E, 0xC3, 0= xB0, 0x15 + })) + { + Return (Zero) //DSDT_CAM_INTF_VER + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x39, 0xA6, 0xC9, 0x75, 0x8A, 0x5C, 0= x00, 0x4A, + /* 0008 */ 0x9F, 0x48, 0xA9, 0xC3, 0xB5, 0xDA, 0= x78, 0x9F + })) + { + Return (Zero) //DSDT_CAM_VCM + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x51, 0x26, 0xBE, 0x8D, 0xC1, 0x70, 0= x6F, 0x4C, + /* 0008 */ 0xAC, 0x87, 0xA3, 0x7C, 0xB4, 0x6E, 0= x4A, 0xF6 + })) + { + Return (0x0) //MCLK0 --> OSC_CLKOUT_R_0 + } + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x49, 0x75, 0x25, 0x26, 0x71, 0x92, 0= xA4, 0x4C, + /* 0008 */ 0xBB, 0x43, 0xC4, 0x89, 0x9D, 0x5A, 0= x48, 0x81 + })) + + { + If (LEqual (Arg2, One)) //DSDT_CAM_I2C + { + Return (One) + } + + If (LEqual (Arg2, 0x02)) + { + Return (0x03003600) + } + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x40, 0x46, 0x23, 0x79, 0x10, 0x9E, 0= xEA, 0x4F, + /* 0008 */ 0xA5, 0xC1, 0xB5, 0xAA, 0x8B, 0x19, 0= x75, 0x6F + })) + { + If (LEqual (Arg2, One)) //DSDT_CAM_GPIO + { + Return (0x01) + } + + If (LEqual (Arg2, 0x02)) + { + Return (0x01004300) + } + } + + Return (Zero) + } + } + +} // Scope(\_SB.PCI0.I2C4) diff --git a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/Platfor= mSsdt/Camera/Camera_Sony219B.asl b/Platform/BroxtonPlatformPkg/Common/Acpi/= AcpiTablesPCAT/PlatformSsdt/Camera/Camera_Sony219B.asl new file mode 100644 index 000000000..cb38f1729 --- /dev/null +++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/C= amera/Camera_Sony219B.asl @@ -0,0 +1,218 @@ +/** @file + Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.
+ + This program and the accompanying materials + are licensed and made available under the terms and conditions of the BS= D License + which accompanies this distribution. The full text of the license may b= e found at + http://opensource.org/licenses/bsd-license.php. + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMP= LIED. + +**/ + + +Scope(\_SB.PCI0.I2C6) +{ + Device (CAM4) + { + // + // Front Camera IMX219 + // + Name (_ADR, Zero) // _ADR: Address + Name (_HID, "SONY219A") // _HID: Hardware ID + Name (_CID, "SONY219A") // _CID: Compatible ID + Name (_SUB, "INTL0000") // _SUB: Subsystem ID + Name (_DDN, "SONY IMX219") // _DDN: DOS Device Name + Name (_UID, One) // _UID: Unique ID + /* need to be update after power on + Name (_DEP, Package () // _DEP: Dependencies + { + //PMIC device + }) + + Name (_PR0, Package (0x03) // _PR0: Power Resources for D0 + { + // Power and Clock + }) + */ + Name (PLDB, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0= 0, + /* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x0= 0, + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF + } + }) + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Return (PLDB) + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If(LEqual(UCAS,2)) { // 2-IMX219 + Return (0x0F) + } + Return (0x0) + } + /* + Method (_PS3, 0, Serialized) // _PS3: Power State 3 + { + } + + Method (_PS0, 0, Serialized) // _PS0: Power State 0 + { + } + */ + Name (SBUF, ResourceTemplate () + { + GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionO= utputOnly, + "\\_SB.GPO0", 0x00, ResourceConsumer, , + ) + { + 0x13 // GPIO_19 + } + //I2C for CMOS + I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80, + AddressingMode7Bit, "\\_SB.PCI0.I2C6", + 0x00, ResourceConsumer, , + ) + }) + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Return (SBUF) + } + + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x6A, 0xA7, 0x7B, 0x37, 0x90, 0xF3, 0= xFF, 0x4A, + /* 0008 */ 0xAB, 0x38, 0x9B, 0x1B, 0xF3, 0x3A, 0= x30, 0x15 + })) + { + Return ("SONY219A") //DSDT_CAM_HWID + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0xAA, 0xAA, 0x62, 0x3C, 0xE0, 0xD8, 0= x1A, 0x40, + /* 0008 */ 0x84, 0xC3, 0xFC, 0x05, 0x65, 0x6F, 0= xA2, 0x8C + })) + { + Return ("IMX219") //DSDT_CAM_CMOS + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x8F, 0xCE, 0x2A, 0x82, 0x14, 0x28, 0= x74, 0x41, + /* 0008 */ 0xA5, 0x6B, 0x5F, 0x02, 0x9F, 0xE0, 0= x79, 0xEE + })) + { + Return ("RasperryPi") //DSDT_CAM_MODULE + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x2A, 0x51, 0x59, 0x29, 0x8C, 0x02, 0= x46, 0x46, + /* 0008 */ 0xB7, 0x3D, 0x4D, 0x1B, 0x56, 0x72, 0= xFA, 0xD8 + })) + { + Return ("Intel_RVP") //DSDT_CAM_CUSTOM + } + + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0xD8, 0x7B, 0x3B, 0xEA, 0x9B, 0xE0, 0= x39, 0x42, + /* 0008 */ 0xAD, 0x6E, 0xED, 0x52, 0x5F, 0x3F, 0= x26, 0xAB + })) + { + Return (0x1022) //DSDT_CAM_MIPIPORT + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x92, 0xC4, 0x5A, 0xB6, 0x30, 0x9E, 0= x60, 0x4D, + /* 0008 */ 0xB5, 0xB2, 0xF4, 0x97, 0xC7, 0x90, 0= xD9, 0xCF + })) + { + Return (Zero) //DSDT_CAM_FUNC + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x0F, 0xAB, 0x70, 0xE7, 0x44, 0x26, 0= xAB, 0x4B, + /* 0008 */ 0x86, 0x28, 0xD6, 0x2F, 0x16, 0x83, 0= xFB, 0x9D + })) + { + Return (Zero) //DSDT_CAM_ROM + } + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0xB2, 0x4A, 0xA5, 0x1E, 0x84, 0xCD, 0= xCC, 0x48, + /* 0008 */ 0x9D, 0xD4, 0x7F, 0x59, 0x4E, 0xC3, 0= xB0, 0x15 + })) + { + Return (Zero) //DSDT_CAM_INTF_VER + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x39, 0xA6, 0xC9, 0x75, 0x8A, 0x5C, 0= x00, 0x4A, + /* 0008 */ 0x9F, 0x48, 0xA9, 0xC3, 0xB5, 0xDA, 0= x78, 0x9F + })) + { + Return (Zero) //DSDT_CAM_VCM + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x51, 0x26, 0xBE, 0x8D, 0xC1, 0x70, 0= x6F, 0x4C, + /* 0008 */ 0xAC, 0x87, 0xA3, 0x7C, 0xB4, 0x6E, 0= x4A, 0xF6 + })) + { + Return (0x0) //MCLK0 --> OSC_CLKOUT_R_0 + } + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x49, 0x75, 0x25, 0x26, 0x71, 0x92, 0= xA4, 0x4C, + /* 0008 */ 0xBB, 0x43, 0xC4, 0x89, 0x9D, 0x5A, 0= x48, 0x81 + })) + + { + If (LEqual (Arg2, One)) //DSDT_CAM_I2C + { + Return (One) + } + + If (LEqual (Arg2, 0x02)) + { + Return (0x03003600) + } + } + + If (LEqual (Arg0, Buffer (0x10) + { + /* 0000 */ 0x40, 0x46, 0x23, 0x79, 0x10, 0x9E, 0= xEA, 0x4F, + /* 0008 */ 0xA5, 0xC1, 0xB5, 0xAA, 0x8B, 0x19, 0= x75, 0x6F + })) + { + If (LEqual (Arg2, One)) //DSDT_CAM_GPIO + { + Return (0x01) + } + + If (LEqual (Arg2, 0x02)) + { + Return (0x01004300) + } + } + + Return (Zero) + } + } + +} // Scope(\_SB.PCI0.I2C4) diff --git a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/Platfor= mSsdt/PlatformSsdt.asl b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTables= PCAT/PlatformSsdt/PlatformSsdt.asl index 9cd50ae7f..b86baf357 100644 --- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/P= latformSsdt.asl +++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/P= latformSsdt.asl @@ -26,6 +26,7 @@ DefinitionBlock ( External(\_SB.PCI0.I2C3, DeviceObj) External(\_SB.PCI0.I2C4, DeviceObj) External(\_SB.PCI0.I2C5, DeviceObj) + External(\_SB.PCI0.I2C6, DeviceObj) External(\_SB.PCI0.I2C7, DeviceObj) External(\_SB.PCI0.URT1, DeviceObj) External(\_SB.PCI0.URT2, DeviceObj) @@ -52,6 +53,8 @@ DefinitionBlock ( include ("Camera/Camera_INT3471.asl") include ("Camera/Camera_INT3474.asl") include ("Camera/Camera_Sony214A.asl") + include ("Camera/Camera_Sony219A.asl") + include ("Camera/Camera_Sony219B.asl") include ("Camera/Flash_TPS61311.asl") } =20 diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSe= tupDxe/UnCore.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/Pla= tformSetupDxe/UnCore.vfi index f8b4b47ec..a185e9fbd 100644 --- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/= UnCore.vfi +++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/= UnCore.vfi @@ -300,14 +300,16 @@ form formid =3D UNCORE_FORM_ID, help =3D STRING_TOKEN(STR_WORLDCAMERA_SELECTION_HELP), option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D RE= SET_REQUIRED; option text =3D STRING_TOKEN(STR_IMX214), value =3D 1, flags =3D RES= ET_REQUIRED; - option text =3D STRING_TOKEN(STR_IMX135), value =3D 2, flags =3D MAN= UFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_IMX135), value =3D 2, flags =3D RES= ET_REQUIRED; + option text =3D STRING_TOKEN(STR_IMX219), value =3D 3, flags =3D MAN= UFACTURING | DEFAULT | RESET_REQUIRED; endoneof; =20 oneof varid =3D Setup.UserCameraSel, prompt =3D STRING_TOKEN(STR_USERCAMERA_SELECTION_PROMPT), help =3D STRING_TOKEN(STR_USERCAMERA_SELECTION_HELP), - option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D RE= SET_REQUIRED; - option text =3D STRING_TOKEN(STR_OV2740), value =3D 1, flags =3D MAN= UFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D MA= NUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_OV2740), value =3D 1, flags =3D RES= ET_REQUIRED; + option text =3D STRING_TOKEN(STR_IMX219), value =3D 2, flags =3D RES= ET_REQUIRED; endoneof; =20 // Rotation diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSe= tupDxe/VfrStrings.uni b/Platform/BroxtonPlatformPkg/Common/PlatformSettings= /PlatformSetupDxe/VfrStrings.uni index 163b750c3b0c54bd54a0760effffcc6c8296ebe1..df868581ebdda14ee03287bbb2d= 73bd40e03dbe8 100644 GIT binary patch delta 60 zcmcb2Rp`$(p$$Reler#AaC039m}#Q*>R --=20 2.14.1.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel