soc/intel/tigerlake: Update ACPI files
Add and update ACPI files for Tiger Lake SoC Use ASL2.0 code syntax for new acpi(camera_clock_ctl.asl) Reference PCH EDS#576591 vol1 rev1.2 PCH EDS#575857 vol2 rev1.0 BUG=none BRANCH=none TEST=Build and boot tigerlake rvp board Signed-off-by: Ravi Sarawadi <ravishankar.sarawadi@intel.com> Change-Id: Ib82156830273c2937f5f02713ed7dd27da41c857 Reviewed-on: https://review.coreboot.org/c/coreboot/+/37781 Reviewed-by: Wonkyu Kim <wonkyu.kim@intel.com> Reviewed-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-by: Subrata Banik <subrata.banik@intel.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
69855f2e60
commit
954a5b50ad
|
@ -0,0 +1,136 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020 Intel Corp.
|
||||||
|
*
|
||||||
|
* 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; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define R_ICLK_PCR_CAMERA1 0x8000
|
||||||
|
#define B_ICLK_PCR_FREQUENCY 0x1
|
||||||
|
#define B_ICLK_PCR_REQUEST 0x2
|
||||||
|
|
||||||
|
Scope (\_SB.PCI0) {
|
||||||
|
/* IsCLK PCH register for clock settings */
|
||||||
|
OperationRegion (ICLK, SystemMemory, PCRB (PID_ISCLK) + R_ICLK_PCR_CAMERA1, 0x40)
|
||||||
|
Field (ICLK, AnyAcc, Lock, Preserve)
|
||||||
|
{
|
||||||
|
CLK1, 8,
|
||||||
|
Offset(0x0C),
|
||||||
|
CLK2, 8,
|
||||||
|
Offset(0x18),
|
||||||
|
CLK3, 8,
|
||||||
|
Offset(0x24),
|
||||||
|
CLK4, 8,
|
||||||
|
Offset(0x30),
|
||||||
|
CLK5, 8,
|
||||||
|
Offset(0x3C),
|
||||||
|
CLK6, 8,
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Helper function for Read And OR Write
|
||||||
|
* Arg0 : source and destination
|
||||||
|
* Arg1 : And data
|
||||||
|
* Arg2 : Or data
|
||||||
|
*/
|
||||||
|
Method (RAOW, 0x3, NotSerialized)
|
||||||
|
{
|
||||||
|
Local0 = Arg0
|
||||||
|
Arg0 = Local0 & Arg1 | Arg2
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Clock Control
|
||||||
|
* Arg0 - Clock number (0:IMGCLKOUT_0, etc)
|
||||||
|
* Arg1 - Desired state (0:Disable, 1:Enable)
|
||||||
|
*/
|
||||||
|
Method(CLKC, 0x2, NotSerialized)
|
||||||
|
{
|
||||||
|
|
||||||
|
Switch (ToInteger (Arg0))
|
||||||
|
{
|
||||||
|
Case (0)
|
||||||
|
{
|
||||||
|
RAOW (CLK1, ~B_ICLK_PCR_REQUEST, Arg1 << 1)
|
||||||
|
}
|
||||||
|
Case (1)
|
||||||
|
{
|
||||||
|
RAOW (CLK2, ~B_ICLK_PCR_REQUEST, Arg1 << 1)
|
||||||
|
}
|
||||||
|
Case (2)
|
||||||
|
{
|
||||||
|
RAOW (CLK3, ~B_ICLK_PCR_REQUEST, Arg1 << 1)
|
||||||
|
}
|
||||||
|
Case (3)
|
||||||
|
{
|
||||||
|
RAOW (CLK4, ~B_ICLK_PCR_REQUEST, Arg1 << 1)
|
||||||
|
}
|
||||||
|
Case (4)
|
||||||
|
{
|
||||||
|
RAOW (CLK5, ~B_ICLK_PCR_REQUEST, Arg1 << 1)
|
||||||
|
}
|
||||||
|
Case (5)
|
||||||
|
{
|
||||||
|
RAOW (CLK6, ~B_ICLK_PCR_REQUEST, Arg1 << 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Clock Frequency
|
||||||
|
* Arg0 - Clock number (0:IMGCLKOUT_0, etc)
|
||||||
|
* Arg1 - Clock frequency (0:24MHz, 1:19.2MHz)
|
||||||
|
*/
|
||||||
|
Method (CLKF, 0x2, NotSerialized)
|
||||||
|
{
|
||||||
|
Switch (ToInteger (Arg0))
|
||||||
|
{
|
||||||
|
Case (0)
|
||||||
|
{
|
||||||
|
RAOW (CLK1, ~B_ICLK_PCR_FREQUENCY, Arg1)
|
||||||
|
}
|
||||||
|
Case (1)
|
||||||
|
{
|
||||||
|
RAOW (CLK2, ~B_ICLK_PCR_FREQUENCY, Arg1)
|
||||||
|
}
|
||||||
|
Case (2)
|
||||||
|
{
|
||||||
|
RAOW (CLK3, ~B_ICLK_PCR_FREQUENCY, Arg1)
|
||||||
|
}
|
||||||
|
Case (3)
|
||||||
|
{
|
||||||
|
RAOW (CLK4, ~B_ICLK_PCR_FREQUENCY, Arg1)
|
||||||
|
}
|
||||||
|
Case (4)
|
||||||
|
{
|
||||||
|
RAOW (CLK5, ~B_ICLK_PCR_FREQUENCY, Arg1)
|
||||||
|
}
|
||||||
|
Case (5)
|
||||||
|
{
|
||||||
|
RAOW (CLK6, ~B_ICLK_PCR_FREQUENCY, Arg1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Clock control Method
|
||||||
|
* Arg0: Clock source select(0: IMGCLKOUT_0, 1: IMGCLKOUT_1, 2: IMGCLKOUT_2, 3: IMGCLKOUT_3,
|
||||||
|
* 4: IMGCLKOUT_4, 5: IMGCLKOUT_5)
|
||||||
|
* Arg1: Clock Enable / Disable (0: Disable, 1: Enable)
|
||||||
|
* Arg2: Select 24MHz / 19.2 MHz (0: 24MHz, 1: 19.2MHz)
|
||||||
|
*/
|
||||||
|
Method (MCCT, 0x3, NotSerialized)
|
||||||
|
{
|
||||||
|
CLKF (Arg0, Arg2)
|
||||||
|
CLKC (Arg0, Arg1)
|
||||||
|
}
|
||||||
|
}
|
|
@ -69,6 +69,12 @@ Device (SPI2)
|
||||||
Name (_DDN, "Serial IO SPI Controller 2")
|
Name (_DDN, "Serial IO SPI Controller 2")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Device (SPI3)
|
||||||
|
{
|
||||||
|
Name (_ADR, 0x00130000)
|
||||||
|
Name (_DDN, "Serial IO SPI Controller 3")
|
||||||
|
}
|
||||||
|
|
||||||
Device (UAR0)
|
Device (UAR0)
|
||||||
{
|
{
|
||||||
Name (_ADR, 0x001e0000)
|
Name (_ADR, 0x001e0000)
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020 Intel Corp.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Intel SMBus Controller 0:1f.4 */
|
||||||
|
|
||||||
|
Device (SBUS)
|
||||||
|
{
|
||||||
|
Name (_ADR, 0x001f0004)
|
||||||
|
}
|
|
@ -25,8 +25,8 @@
|
||||||
/* PCR access */
|
/* PCR access */
|
||||||
#include <soc/intel/common/acpi/pcr.asl>
|
#include <soc/intel/common/acpi/pcr.asl>
|
||||||
|
|
||||||
/* eMMC, SD Card */
|
/* PCH clock */
|
||||||
#include "scs.asl"
|
#include "camera_clock_ctl.asl"
|
||||||
|
|
||||||
/* GPIO controller */
|
/* GPIO controller */
|
||||||
#include "gpio.asl"
|
#include "gpio.asl"
|
||||||
|
@ -43,11 +43,11 @@
|
||||||
/* Serial IO */
|
/* Serial IO */
|
||||||
#include "serialio.asl"
|
#include "serialio.asl"
|
||||||
|
|
||||||
|
/* SMBus 0:1f.4 */
|
||||||
|
#include "smbus.asl"
|
||||||
|
|
||||||
/* USB XHCI 0:14.0 */
|
/* USB XHCI 0:14.0 */
|
||||||
#include "xhci.asl"
|
#include "xhci.asl"
|
||||||
|
|
||||||
/* PCI _OSC */
|
/* PCI _OSC */
|
||||||
#include <soc/intel/common/acpi/pci_osc.asl>
|
#include <soc/intel/common/acpi/pci_osc.asl>
|
||||||
|
|
||||||
/* GBe 0:1f.6 */
|
|
||||||
#include "pch_glan.asl"
|
|
||||||
|
|
|
@ -53,19 +53,11 @@ Device (XHCI)
|
||||||
Device (HS08) { Name (_ADR, 8) }
|
Device (HS08) { Name (_ADR, 8) }
|
||||||
Device (HS09) { Name (_ADR, 9) }
|
Device (HS09) { Name (_ADR, 9) }
|
||||||
Device (HS10) { Name (_ADR, 10) }
|
Device (HS10) { Name (_ADR, 10) }
|
||||||
Device (HS11) { Name (_ADR, 11) }
|
|
||||||
Device (HS12) { Name (_ADR, 12) }
|
|
||||||
|
|
||||||
/* USBr */
|
|
||||||
Device (USR1) { Name (_ADR, 11) }
|
|
||||||
Device (USR2) { Name (_ADR, 12) }
|
|
||||||
|
|
||||||
/* USB3 */
|
/* USB3 */
|
||||||
Device (SS01) { Name (_ADR, 13) }
|
Device (SS01) { Name (_ADR, 13) }
|
||||||
Device (SS02) { Name (_ADR, 14) }
|
Device (SS02) { Name (_ADR, 14) }
|
||||||
Device (SS03) { Name (_ADR, 15) }
|
Device (SS03) { Name (_ADR, 15) }
|
||||||
Device (SS04) { Name (_ADR, 16) }
|
Device (SS04) { Name (_ADR, 16) }
|
||||||
Device (SS05) { Name (_ADR, 17) }
|
|
||||||
Device (SS06) { Name (_ADR, 18) }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue