From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=teemu.s.rytkonen@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 D910321D2BF05 for ; Fri, 12 Jan 2018 10:41:04 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Jan 2018 10:46:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,350,1511856000"; d="scan'208,217";a="19643834" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga003.jf.intel.com with ESMTP; 12 Jan 2018 10:46:19 -0800 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 12 Jan 2018 10:46:18 -0800 Received: from hasmsx108.ger.corp.intel.com (10.184.198.18) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 12 Jan 2018 10:46:18 -0800 Received: from HASMSX110.ger.corp.intel.com ([169.254.6.250]) by hasmsx108.ger.corp.intel.com ([169.254.9.137]) with mapi id 14.03.0319.002; Fri, 12 Jan 2018 20:46:14 +0200 From: "Rytkonen, Teemu S" To: "Wei, David" , "edk2-devel@lists.01.org" CC: "Loeppert, Anthony" , "Guo, Mang" Thread-Topic: [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 1/2] Add support for Sony camera imx219 Thread-Index: AQHTi3vff9GSu8LgTEqTKYKPt3uCHKNwk0yQ Date: Fri, 12 Jan 2018 18:46:14 +0000 Message-ID: <68D471EE0CC5DB459530C79468CB20E845FCA7A2@HASMSX110.ger.corp.intel.com> References: <20180111174227.16692-1-teemu.s.rytkonen@intel.com> <89954A0B46707A448411A627AD4EEE3468FD8401@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <89954A0B46707A448411A627AD4EEE3468FD8401@SHSMSX101.ccr.corp.intel.com> Accept-Language: fi-FI, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.232.80.75] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 Subject: Re: [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 1/2] 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: , X-List-Received-Date: Fri, 12 Jan 2018 18:41:05 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi David, I fixed the license header and also tried to fix the split lines but I am n= ot sure am doing it correctly as it seemed to me that nothing changed. This= is what I see in the git diff, which I assume is correct? I am resending p= atch so that you can have a look. 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;^M + option text =3D STRING_TOKEN(STR_IMX219), value =3D 3, flags =3D MAN= UFACTURING | DEFAULT | RESET_REQUIRED;^M endoneof; 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;^M + option text =3D STRING_TOKEN(STR_OV2740), value =3D 1, flags =3D RES= ET_REQUIRED;^M + option text =3D STRING_TOKEN(STR_IMX219), value =3D 2, flags =3D RES= ET_REQUIRED;^M Thanks, -Teemu _____________________________________________ From: Wei, David Sent: Friday, January 12, 2018 12:04 AM To: Rytkonen, Teemu S ; edk2-devel@lists.01.org Cc: Loeppert, Anthony ; Wei, David ; Guo, Mang Subject: RE: [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 1/2] Add sup= port for Sony camera imx219 Hi Teemu, (1) The ASL files' header use the Intel 'Sample Driver' license. We should = use the BSD license. Wrong file header: +/** @file + +@copyright + Copyright (c) 2012 - 2016 Intel Corporation. All rights reserved This +software and associated documentation (if any) is furnished under a +license and may only be used or copied in accordance with the terms of +the license. Except as permitted by the license, no part of this +software or documentation may be reproduced, stored in a retrieval +system, or transmitted in any form or by any means without the express +written consent of Intel Corporation. + This file contains a 'Sample Driver' and is licensed as such under +the terms of your license agreement with Intel or your vendor. This +file may be modified by the user, subject to the additional terms of +the license agreement. + +@par Specification Reference: +**/ Expected file header: /** @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 BSD= License which accompanies this distribution. The full text of the license may be= 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 IMPL= IED. **/ (2) Some lines are broken in the middle. Current: + option text =3D STRING_TOKEN(STR_IMX219), value =3D 3, flags =3D + MANUFACTURING | DEFAULT | RESET_REQUIRED; Expected: + option text =3D STRING_TOKEN(STR_IMX219), value =3D 3, flags =3D MAN= UFACTURING | DEFAULT | RESET_REQUIRED; Current: + option text =3D STRING_TOKEN(STR_IMX219), value =3D 2, flags =3D + RESET_REQUIRED; Expected: + option text =3D STRING_TOKEN(STR_IMX219), value =3D 2, flags =3D RES= ET_REQUIRED; Others look good. Thanks, David Wei Intel SSG/STO/UEFI BIOS > -----Original Message----- > From: Rytkonen, Teemu S > Sent: Friday, January 12, 2018 1:42 AM > To: edk2-devel@lists.01.org > Cc: Wei, David >; Loepper= t, Anthony > > > Subject: [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 1/2] Add > support for Sony camera imx219 > > 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 > > --- > .../BensonGlacier/BoardInitPostMem/BoardGpios.h | 4 +- > .../PlatformSsdt/Camera/Camera_Sony219A.asl | 223 > +++++++++++++++++++++ > .../PlatformSsdt/Camera/Camera_Sony219B.asl | 223 > +++++++++++++++++++++ > .../AcpiTablesPCAT/PlatformSsdt/PlatformSsdt.asl | 3 + > .../PlatformSettings/PlatformSetupDxe/UnCore.vfi | 8 +- > .../PlatformSetupDxe/VfrStrings.uni | Bin 305886 -> 30604= 4 bytes > 6 files changed, 456 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/BoardInitPostMem/B > oardGpios.h > b/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/B > oardGpios.h > index e4c1c2ee1..f636852b8 100644 > --- > a/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/B > oardGpios.h > +++ > b/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/B > oardGpios.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 > the 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 the 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 > + 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 ,DisPuPd, > 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 ,DisPuPd, > 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/PlatformSs > dt/Camera/Camera_Sony219A.asl > b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSs > dt/Camera/Camera_Sony219A.asl > new file mode 100644 > index 000000000..13cba6e19 > --- /dev/null > +++ > b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSs > dt/Camera/Camera_Sony219A.asl > @@ -0,0 +1,223 @@ > +/** @file > + > +@copyright > + Copyright (c) 2012 - 2016 Intel Corporation. All rights reserved > + This software and associated documentation (if any) is furnished > + under a license and may only be used or copied in accordance > + with the terms of the license. Except as permitted by the > + license, no part of this software or documentation may be > + reproduced, stored in a retrieval system, or transmitted in any > + form or by any means without the express written consent of > + Intel Corporation. > + This file contains a 'Sample Driver' and is licensed as such > + under the terms of your license agreement with Intel or your > + vendor. This file may be modified by the user, subject to > + the additional terms of the license agreement. > + > +@par Specification Reference: > +**/ > + > +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, 0= x00, > + /* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0= x00, > + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF > + } > + }) > + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Devi= ce > + { > + 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, > IoRestrictionOutputOnly, > + "\\_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 Setti= ngs > + { > + Return (SBUF) > + } > + > + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method > + { > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x6A, 0xA7, 0x7B, 0x37, 0x90, 0xF3,= 0xFF, 0x4A, > + /* 0008 */ 0xAB, 0x38, 0x9B, 0x1B, 0xF3, 0x3A,= 0x30, 0x15 > + })) > + { > + Return ("SONY219A") //DSDT_CAM_HWID > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0xAA, 0xAA, 0x62, 0x3C, 0xE0, 0xD8,= 0x1A, 0x40, > + /* 0008 */ 0x84, 0xC3, 0xFC, 0x05, 0x65, 0x6F,= 0xA2, 0x8C > + })) > + { > + Return ("IMX219") //DSDT_CAM_CMOS > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x8F, 0xCE, 0x2A, 0x82, 0x14, 0x28,= 0x74, 0x41, > + /* 0008 */ 0xA5, 0x6B, 0x5F, 0x02, 0x9F, 0xE0,= 0x79, 0xEE > + })) > + { > + Return ("RasperryPi") //DSDT_CAM_MODULE > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x2A, 0x51, 0x59, 0x29, 0x8C, 0x02,= 0x46, 0x46, > + /* 0008 */ 0xB7, 0x3D, 0x4D, 0x1B, 0x56, 0x72,= 0xFA, 0xD8 > + })) > + { > + Return ("Intel_RVP") //DSDT_CAM_CUSTOM > + } > + > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0xD8, 0x7B, 0x3B, 0xEA, 0x9B, 0xE0,= 0x39, 0x42, > + /* 0008 */ 0xAD, 0x6E, 0xED, 0x52, 0x5F, 0x3F,= 0x26, 0xAB > + })) > + { > + Return (0x1020) //DSDT_CAM_MIPIPORT > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x92, 0xC4, 0x5A, 0xB6, 0x30, 0x9E,= 0x60, 0x4D, > + /* 0008 */ 0xB5, 0xB2, 0xF4, 0x97, 0xC7, 0x90,= 0xD9, 0xCF > + })) > + { > + Return (Zero) //DSDT_CAM_FUNC > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x0F, 0xAB, 0x70, 0xE7, 0x44, 0x26,= 0xAB, 0x4B, > + /* 0008 */ 0x86, 0x28, 0xD6, 0x2F, 0x16, 0x83,= 0xFB, 0x9D > + })) > + { > + Return (Zero) //DSDT_CAM_ROM > + } > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0xB2, 0x4A, 0xA5, 0x1E, 0x84, 0xCD,= 0xCC, 0x48, > + /* 0008 */ 0x9D, 0xD4, 0x7F, 0x59, 0x4E, 0xC3,= 0xB0, 0x15 > + })) > + { > + Return (Zero) //DSDT_CAM_INTF_VER > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x39, 0xA6, 0xC9, 0x75, 0x8A, 0x5C,= 0x00, 0x4A, > + /* 0008 */ 0x9F, 0x48, 0xA9, 0xC3, 0xB5, 0xDA,= 0x78, 0x9F > + })) > + { > + Return (Zero) //DSDT_CAM_VCM > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x51, 0x26, 0xBE, 0x8D, 0xC1, 0x70,= 0x6F, 0x4C, > + /* 0008 */ 0xAC, 0x87, 0xA3, 0x7C, 0xB4, 0x6E,= 0x4A, 0xF6 > + })) > + { > + Return (0x0) //MCLK0 --> OSC_CLKOUT_R_0 > + } > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x49, 0x75, 0x25, 0x26, 0x71, 0x92,= 0xA4, 0x4C, > + /* 0008 */ 0xBB, 0x43, 0xC4, 0x89, 0x9D, 0x5A,= 0x48, 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,= 0xEA, 0x4F, > + /* 0008 */ 0xA5, 0xC1, 0xB5, 0xAA, 0x8B, 0x19,= 0x75, 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/PlatformSs > dt/Camera/Camera_Sony219B.asl > b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSs > dt/Camera/Camera_Sony219B.asl > new file mode 100644 > index 000000000..cd9d0be64 > --- /dev/null > +++ > b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSs > dt/Camera/Camera_Sony219B.asl > @@ -0,0 +1,223 @@ > +/** @file > + > +@copyright > + Copyright (c) 2012 - 2016 Intel Corporation. All rights reserved > + This software and associated documentation (if any) is furnished > + under a license and may only be used or copied in accordance > + with the terms of the license. Except as permitted by the > + license, no part of this software or documentation may be > + reproduced, stored in a retrieval system, or transmitted in any > + form or by any means without the express written consent of > + Intel Corporation. > + This file contains a 'Sample Driver' and is licensed as such > + under the terms of your license agreement with Intel or your > + vendor. This file may be modified by the user, subject to > + the additional terms of the license agreement. > + > +@par Specification Reference: > +**/ > + > +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, 0= x00, > + /* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0= x00, > + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF > + } > + }) > + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Devi= ce > + { > + 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, > IoRestrictionOutputOnly, > + "\\_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 Setti= ngs > + { > + Return (SBUF) > + } > + > + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method > + { > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x6A, 0xA7, 0x7B, 0x37, 0x90, 0xF3,= 0xFF, 0x4A, > + /* 0008 */ 0xAB, 0x38, 0x9B, 0x1B, 0xF3, 0x3A,= 0x30, 0x15 > + })) > + { > + Return ("SONY219A") //DSDT_CAM_HWID > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0xAA, 0xAA, 0x62, 0x3C, 0xE0, 0xD8,= 0x1A, 0x40, > + /* 0008 */ 0x84, 0xC3, 0xFC, 0x05, 0x65, 0x6F,= 0xA2, 0x8C > + })) > + { > + Return ("IMX219") //DSDT_CAM_CMOS > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x8F, 0xCE, 0x2A, 0x82, 0x14, 0x28,= 0x74, 0x41, > + /* 0008 */ 0xA5, 0x6B, 0x5F, 0x02, 0x9F, 0xE0,= 0x79, 0xEE > + })) > + { > + Return ("RasperryPi") //DSDT_CAM_MODULE > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x2A, 0x51, 0x59, 0x29, 0x8C, 0x02,= 0x46, 0x46, > + /* 0008 */ 0xB7, 0x3D, 0x4D, 0x1B, 0x56, 0x72,= 0xFA, 0xD8 > + })) > + { > + Return ("Intel_RVP") //DSDT_CAM_CUSTOM > + } > + > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0xD8, 0x7B, 0x3B, 0xEA, 0x9B, 0xE0,= 0x39, 0x42, > + /* 0008 */ 0xAD, 0x6E, 0xED, 0x52, 0x5F, 0x3F,= 0x26, 0xAB > + })) > + { > + Return (0x1022) //DSDT_CAM_MIPIPORT > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x92, 0xC4, 0x5A, 0xB6, 0x30, 0x9E,= 0x60, 0x4D, > + /* 0008 */ 0xB5, 0xB2, 0xF4, 0x97, 0xC7, 0x90,= 0xD9, 0xCF > + })) > + { > + Return (Zero) //DSDT_CAM_FUNC > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x0F, 0xAB, 0x70, 0xE7, 0x44, 0x26,= 0xAB, 0x4B, > + /* 0008 */ 0x86, 0x28, 0xD6, 0x2F, 0x16, 0x83,= 0xFB, 0x9D > + })) > + { > + Return (Zero) //DSDT_CAM_ROM > + } > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0xB2, 0x4A, 0xA5, 0x1E, 0x84, 0xCD,= 0xCC, 0x48, > + /* 0008 */ 0x9D, 0xD4, 0x7F, 0x59, 0x4E, 0xC3,= 0xB0, 0x15 > + })) > + { > + Return (Zero) //DSDT_CAM_INTF_VER > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x39, 0xA6, 0xC9, 0x75, 0x8A, 0x5C,= 0x00, 0x4A, > + /* 0008 */ 0x9F, 0x48, 0xA9, 0xC3, 0xB5, 0xDA,= 0x78, 0x9F > + })) > + { > + Return (Zero) //DSDT_CAM_VCM > + } > + > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x51, 0x26, 0xBE, 0x8D, 0xC1, 0x70,= 0x6F, 0x4C, > + /* 0008 */ 0xAC, 0x87, 0xA3, 0x7C, 0xB4, 0x6E,= 0x4A, 0xF6 > + })) > + { > + Return (0x0) //MCLK0 --> OSC_CLKOUT_R_0 > + } > + If (LEqual (Arg0, Buffer (0x10) > + { > + /* 0000 */ 0x49, 0x75, 0x25, 0x26, 0x71, 0x92,= 0xA4, 0x4C, > + /* 0008 */ 0xBB, 0x43, 0xC4, 0x89, 0x9D, 0x5A,= 0x48, 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,= 0xEA, 0x4F, > + /* 0008 */ 0xA5, 0xC1, 0xB5, 0xAA, 0x8B, 0x19,= 0x75, 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/PlatformSs > dt/PlatformSsdt.asl > b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSs > dt/PlatformSsdt.asl > index 9cd50ae7f..b86baf357 100644 > --- > a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSs > dt/PlatformSsdt.asl > +++ > b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSs > dt/PlatformSsdt.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") > } > > diff --git > a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupD > xe/UnCore.vfi > b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetup > Dxe/UnCore.vfi > index f8b4b47ec..a185e9fbd 100644 > --- > a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupD > xe/UnCore.vfi > +++ > b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetup > Dxe/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 > RESET_REQUIRED; > option text =3D STRING_TOKEN(STR_IMX214), value =3D 1, flags =3D > RESET_REQUIRED; > - option text =3D STRING_TOKEN(STR_IMX135), value =3D 2, flags =3D > MANUFACTURING | DEFAULT | RESET_REQUIRED; > + option text =3D STRING_TOKEN(STR_IMX135), value =3D 2, flags =3D > RESET_REQUIRED; > + option text =3D STRING_TOKEN(STR_IMX219), value =3D 3, flags =3D > MANUFACTURING | DEFAULT | RESET_REQUIRED; > endoneof; > > 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 > RESET_REQUIRED; > - option text =3D STRING_TOKEN(STR_OV2740), value =3D 1, flags =3D > MANUFACTURING | DEFAULT | RESET_REQUIRED; > + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D > MANUFACTURING | DEFAULT | RESET_REQUIRED; > + option text =3D STRING_TOKEN(STR_OV2740), value =3D 1, flags =3D > RESET_REQUIRED; > + option text =3D STRING_TOKEN(STR_IMX219), value =3D 2, flags =3D > RESET_REQUIRED; > endoneof; > > // Rotation > diff --git > a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupD > xe/VfrStrings.uni > b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetup > Dxe/VfrStrings.uni > index > 163b750c3b0c54bd54a0760effffcc6c8296ebe1..df868581ebdda14ee03287bbb > 2d73bd40e03dbe8 100644 > GIT binary patch > delta 60 > zcmcb2Rp`$(p$$Reler#AaC a5HoMj > J6K5%y3;<2w5&{4K > > delta 39 > scmex!P3YcLp$$RelV@039m}#Q*>R > > -- > 2.14.1.windows.1