mb/google/volteer: Convert MIPI camera cfg from static ASL to devicetree
Convert MIPI camera configurations from static ASL files to devicetree- based runtime ACPI generation using the mipi_camera driver. This moves the camera IPU and device definitions from static ASL includes to devicetree overridetree files. Changes: - Convert baseboard, voema, volteer, and volteer2 from static mipi_camera.asl files to devicetree configuration - Move IPU0 configuration with CAM0 and CAM1 to volteer/volteer2 variant overridetree files (baseboard devicetree not used directly) - Remove all static ASL camera definition files (mipi_camera.asl) - Simplify voema variant to use only 1 IPU port (CAM1 only) instead of 2 ports, removing unused CAM0 port definition - Add SSDB config based on sensor name/type and CIO2 config This, along with follow-on patches, will allow volteer variants to be properly supported under Windows/Linux as well as ChromeOS. Change-Id: I7bd4ef2812a3d21b6541469bc3a126498d72f5ef Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/90579 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Eric Lai <ericllai@google.com> Reviewed-by: Sean Rhodes <sean@starlabs.systems>
This commit is contained in:
parent
2aca802e85
commit
65cbf312af
9 changed files with 353 additions and 1015 deletions
|
|
@ -105,8 +105,8 @@ config BOARD_GOOGLE_TRONDO
|
|||
|
||||
config BOARD_GOOGLE_VOEMA
|
||||
select BOARD_GOOGLE_BASEBOARD_VOLTEER
|
||||
select DRIVERS_INTEL_MIPI_CAMERA
|
||||
select INTEL_GMA_HAVE_VBT
|
||||
select VARIANT_HAS_MIPI_CAMERA
|
||||
|
||||
config BOARD_GOOGLE_VOLET
|
||||
select BOARD_GOOGLE_BASEBOARD_VOLTEER
|
||||
|
|
@ -114,24 +114,24 @@ config BOARD_GOOGLE_VOLET
|
|||
|
||||
config BOARD_GOOGLE_VOLTEER
|
||||
select BOARD_GOOGLE_BASEBOARD_VOLTEER
|
||||
select DRIVERS_INTEL_MIPI_CAMERA
|
||||
select INTEL_CAR_NEM
|
||||
select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
|
||||
select VARIANT_HAS_MIPI_CAMERA
|
||||
|
||||
config BOARD_GOOGLE_VOLTEER2
|
||||
select BOARD_GOOGLE_BASEBOARD_VOLTEER
|
||||
select DRIVER_I2C_TPM_ACPI
|
||||
select DRIVERS_GENESYSLOGIC_GL9755
|
||||
select DRIVERS_INTEL_MIPI_CAMERA
|
||||
select INTEL_GMA_HAVE_VBT
|
||||
select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
|
||||
select VARIANT_HAS_MIPI_CAMERA
|
||||
|
||||
config BOARD_GOOGLE_VOLTEER2_TI50
|
||||
select BOARD_GOOGLE_BASEBOARD_VOLTEER
|
||||
select DRIVER_I2C_TPM_ACPI
|
||||
select DRIVERS_GENESYSLOGIC_GL9755
|
||||
select DRIVERS_INTEL_MIPI_CAMERA
|
||||
select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
|
||||
select VARIANT_HAS_MIPI_CAMERA
|
||||
|
||||
config BOARD_GOOGLE_VOXEL
|
||||
select BOARD_GOOGLE_BASEBOARD_VOLTEER
|
||||
|
|
@ -241,10 +241,6 @@ config VARIANT_DIR
|
|||
default "volteer2" if BOARD_GOOGLE_VOLTEER2_TI50
|
||||
default "voxel" if BOARD_GOOGLE_VOXEL
|
||||
|
||||
config VARIANT_HAS_MIPI_CAMERA
|
||||
bool
|
||||
default n
|
||||
|
||||
config USE_PM_ACPI_TIMER
|
||||
default n
|
||||
|
||||
|
|
|
|||
|
|
@ -30,9 +30,6 @@ DefinitionBlock(
|
|||
#include <soc/intel/tigerlake/acpi/tcss.asl>
|
||||
#include <soc/intel/common/block/acpi/acpi/gna.asl>
|
||||
#include <drivers/intel/gma/acpi/default_brightness_levels.asl>
|
||||
#if CONFIG(VARIANT_HAS_MIPI_CAMERA)
|
||||
#include <soc/intel/common/block/acpi/acpi/ipu.asl>
|
||||
#endif
|
||||
}
|
||||
/* Mainboard hooks */
|
||||
#include "mainboard.asl"
|
||||
|
|
@ -48,9 +45,4 @@ DefinitionBlock(
|
|||
}
|
||||
|
||||
#include <southbridge/intel/common/acpi/sleepstates.asl>
|
||||
|
||||
#if CONFIG(VARIANT_HAS_MIPI_CAMERA)
|
||||
/* Camera */
|
||||
#include <variant/acpi/mipi_camera.asl>
|
||||
#endif /* VARIANT_HAS_MIPI_CAMERA */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,650 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
Scope (\_SB.PCI0.IPU0)
|
||||
{
|
||||
Name (_DSD, Package (0x02) /* _DSD: Device-Specific Data */
|
||||
{
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x02)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port0",
|
||||
"PRT0"
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"port1",
|
||||
"PRT1"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Name (PRT0, Package (0x04)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port",
|
||||
5
|
||||
}
|
||||
},
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint0",
|
||||
"EP00"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Name (PRT1, Package (0x04)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port",
|
||||
1
|
||||
}
|
||||
},
|
||||
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint0",
|
||||
"EP10"
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Scope (\_SB.PCI0.IPU0)
|
||||
{
|
||||
Name (EP00, Package (0x02)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x04)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"clock-lanes",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"data-lanes",
|
||||
Package (0x04)
|
||||
{
|
||||
1,
|
||||
0x02,
|
||||
0x03,
|
||||
0x04
|
||||
}
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"remote-endpoint",
|
||||
Package (0x03)
|
||||
{
|
||||
^I2C3.CAM0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
Name (EP10, Package (0x02)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x04)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"clock-lanes",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"data-lanes",
|
||||
Package (0x02)
|
||||
{
|
||||
1,
|
||||
0x02
|
||||
}
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"remote-endpoint",
|
||||
Package (0x03)
|
||||
{
|
||||
^I2C2.CAM1,
|
||||
0,
|
||||
0
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Scope (\_SB.PCI0.I2C3)
|
||||
{
|
||||
/* Reference counter to track power control by RCAM and VCM */
|
||||
Name (REFC, 0)
|
||||
PowerResource (RCPR, 0x00, 0x0000)
|
||||
{
|
||||
Name (STA, 0)
|
||||
Method (_ON, 0, Serialized) /* Rear camera_ON_: Power On */
|
||||
{
|
||||
/* Enable IMG_CLK */
|
||||
MCON(3,1) /* Clock 3, 19.2MHz */
|
||||
|
||||
/* Pull RST low */
|
||||
CTXS(GPP_F15)
|
||||
|
||||
/* Pull SNRPWR_EN high */
|
||||
STXS(GPP_H14)
|
||||
|
||||
If (REFC == 0)
|
||||
{
|
||||
/* Pull PWREN high */
|
||||
STXS(GPP_H20)
|
||||
}
|
||||
Sleep(2) /* reset pulse width */
|
||||
|
||||
REFC++
|
||||
|
||||
/* Pull RST high */
|
||||
STXS(GPP_F15)
|
||||
|
||||
Sleep(1) /* t2 */
|
||||
|
||||
STA = 1
|
||||
}
|
||||
Method (_OFF, 0, Serialized) /* Rear camera _OFF: Power Off */
|
||||
{
|
||||
/* Disable IMG_CLK */
|
||||
Sleep(1) /* t0+t1 */
|
||||
MCOF(3) /* Clock 3 */
|
||||
|
||||
/* Pull RST low */
|
||||
CTXS(GPP_F15)
|
||||
|
||||
If (REFC == 1)
|
||||
{
|
||||
/* Pull PWREN low */
|
||||
CTXS(GPP_H20)
|
||||
}
|
||||
REFC--
|
||||
|
||||
/* Pull SNRPWR_EN low */
|
||||
CTXS(GPP_H14)
|
||||
|
||||
STA = 0
|
||||
}
|
||||
Method (_STA, 0, NotSerialized)
|
||||
{
|
||||
Return (STA)
|
||||
}
|
||||
}
|
||||
|
||||
Device (CAM0)
|
||||
{
|
||||
Name (_HID, "OVTI8856")
|
||||
Name (_UID, 0)
|
||||
Name (_DDN, "Ov 8856 Camera") /* _DDN: DOS Device Name */
|
||||
Method (_STA, 0, NotSerialized)
|
||||
{
|
||||
Return (0x0F)
|
||||
}
|
||||
Name (_CRS, ResourceTemplate () /* _CRS: Current Resource Settings */
|
||||
{
|
||||
I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
|
||||
AddressingMode7Bit, "\\_SB.PCI0.I2C3",
|
||||
0x00, ResourceConsumer, ,
|
||||
)
|
||||
})
|
||||
Name (_PR0, Package (0x01) /* _PR0: Power Resources for D0 */
|
||||
{
|
||||
RCPR
|
||||
})
|
||||
Name (_PR3, Package (0x01) /* _PR3: Power Resources for D3hot */
|
||||
{
|
||||
RCPR
|
||||
})
|
||||
Name (_DSD, Package (0x04) /* _DSD: Device-Specific Data */
|
||||
{
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port0",
|
||||
"PRT0"
|
||||
}
|
||||
},
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x03)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"clock-frequency",
|
||||
0x0124F800
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"lens-focus",
|
||||
Package (0x01)
|
||||
{
|
||||
VCM0
|
||||
}
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"i2c-allow-low-power-probe",
|
||||
0x01
|
||||
}
|
||||
}
|
||||
})
|
||||
Name (PRT0, Package (0x04)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port",
|
||||
0
|
||||
}
|
||||
},
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint0",
|
||||
"EP00"
|
||||
}
|
||||
}
|
||||
})
|
||||
Name (EP00, Package (0x02)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x05)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"clock-lanes",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"data-lanes",
|
||||
Package (0x04)
|
||||
{
|
||||
1,
|
||||
0x02,
|
||||
0x03,
|
||||
0x04
|
||||
}
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"link-frequencies",
|
||||
Package (0x02)
|
||||
{
|
||||
0x15752A00,
|
||||
0xABA9500
|
||||
}
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"remote-endpoint",
|
||||
Package (0x03)
|
||||
{
|
||||
IPU0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
PowerResource (VCPR, 0x00, 0x0000)
|
||||
{
|
||||
Name (STA, 0)
|
||||
Method (_ON, 0, Serialized) /* VCPR_ON_: VCM Power On */
|
||||
{
|
||||
If (REFC == 0)
|
||||
{
|
||||
/* Pull PWREN high */
|
||||
STXS(GPP_H20)
|
||||
}
|
||||
REFC++
|
||||
STA = 1
|
||||
}
|
||||
Method (_OFF, 0, Serialized) /* VCPR_OFF: VCM Power Off */
|
||||
{
|
||||
If (REFC == 1)
|
||||
{
|
||||
/* Pull PWREN low */
|
||||
CTXS(GPP_H20)
|
||||
}
|
||||
REFC--
|
||||
STA = 0
|
||||
}
|
||||
Method (_STA, 0, NotSerialized)
|
||||
{
|
||||
Return (STA)
|
||||
}
|
||||
}
|
||||
|
||||
Device (VCM0)
|
||||
{
|
||||
Name (_HID, "PRP0001")
|
||||
Name (_UID, 0x00)
|
||||
Name (_DDN, "DW9768 VCM") /* _DDN: DOS Device Name */
|
||||
Method (_STA, 0, NotSerialized)
|
||||
{
|
||||
Return (0x0F)
|
||||
}
|
||||
Name (_CRS, ResourceTemplate () /* _CRS: Current Resource Settings */
|
||||
{
|
||||
I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,
|
||||
AddressingMode7Bit, "\\_SB.PCI0.I2C3",
|
||||
0x00, ResourceConsumer, ,
|
||||
)
|
||||
})
|
||||
Name (_DEP, Package (0x01) /* _DEP: Dependencies */
|
||||
{
|
||||
CAM0
|
||||
})
|
||||
Name (_PR0, Package (0x01) /* _PR0: Power Resources for D0 */
|
||||
{
|
||||
VCPR
|
||||
})
|
||||
Name (_PR3, Package (0x01) /* _PR3: Power Resources for D3hot */
|
||||
{
|
||||
VCPR
|
||||
})
|
||||
Name (_DSD, Package (0x02) /* _DSD: Device-Specific Data */
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x02)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"compatible",
|
||||
"dongwoon,dw9768"
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"i2c-allow-low-power-probe",
|
||||
0x01
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
Device (NVM0)
|
||||
{
|
||||
Name (_HID, "PRP0001")
|
||||
Name (_UID, 0x01)
|
||||
Name (_DDN, "AT24 EEPROM") // _DDN: DOS Device Name
|
||||
Method (_STA, 0, NotSerialized)
|
||||
{
|
||||
Return (0x0F)
|
||||
}
|
||||
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
||||
{
|
||||
I2cSerialBusV2 (0x0058, ControllerInitiated, 0x00061A80,
|
||||
AddressingMode7Bit, "\\_SB.PCI0.I2C3",
|
||||
0x00, ResourceConsumer, , Exclusive,
|
||||
)
|
||||
})
|
||||
Name (_DEP, Package (0x01) // _DEP: Dependencies
|
||||
{
|
||||
CAM0
|
||||
})
|
||||
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
|
||||
{
|
||||
RCPR
|
||||
})
|
||||
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
|
||||
{
|
||||
RCPR
|
||||
})
|
||||
Name (_DSD, Package (0x02) // _DSD: Device-Specific Data
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
|
||||
Package (0x06)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"size",
|
||||
0x2800
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"pagesize",
|
||||
1
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"read-only",
|
||||
1
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"address-width",
|
||||
0x10
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"compatible",
|
||||
"atmel,24c1024"
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"i2c-allow-low-power-probe",
|
||||
0x01
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Scope (\_SB.PCI0.I2C2)
|
||||
{
|
||||
Name (STA, 0)
|
||||
PowerResource (FCPR, 0x00, 0x0000)
|
||||
{
|
||||
Method (_ON, 0, Serialized) /* Front camera_ON_: Power On */
|
||||
{
|
||||
If (STA == 0)
|
||||
{
|
||||
/* Enable IMG_CLK */
|
||||
MCON(2,1) /* Clock 2, 19.2MHz */
|
||||
|
||||
/* Pull RST low */
|
||||
CTXS(GPP_D4)
|
||||
|
||||
/* Pull SNRPWR_EN high */
|
||||
STXS(GPP_D18)
|
||||
|
||||
/* Pull PWREN high */
|
||||
STXS(GPP_D17)
|
||||
Sleep(10) /* t9 */
|
||||
|
||||
/* Pull RST high */
|
||||
STXS(GPP_D4)
|
||||
Sleep(1) /* t2 */
|
||||
|
||||
STA = 1
|
||||
}
|
||||
}
|
||||
Method (_OFF, 0, Serialized) /* Front camera_OFF_: Power Off */
|
||||
{
|
||||
If (STA == 1)
|
||||
{
|
||||
/* Disable IMG_CLK */
|
||||
Sleep(1) /* t0+t1 */
|
||||
MCOF(2) /* Clock 2 */
|
||||
|
||||
/* Pull RST low */
|
||||
CTXS(GPP_D4)
|
||||
|
||||
/* Pull PWREN low */
|
||||
CTXS(GPP_D17)
|
||||
|
||||
/* Pull SNRPWR_EN low */
|
||||
CTXS(GPP_D18)
|
||||
|
||||
STA = 0
|
||||
}
|
||||
}
|
||||
Method (_STA, 0, NotSerialized)
|
||||
{
|
||||
Return (STA)
|
||||
}
|
||||
}
|
||||
|
||||
Device (CAM1)
|
||||
{
|
||||
Name (_HID, "INT3474")
|
||||
Name (_UID, 0)
|
||||
Name (_DDN, "Ov 2740 Camera") /* _DDN: DOS Device Name */
|
||||
Method (_STA, 0, NotSerialized)
|
||||
{
|
||||
Return (0x0F)
|
||||
}
|
||||
Name (_CRS, ResourceTemplate () /* _CRS: Current Resource Settings */
|
||||
{
|
||||
I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
|
||||
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
|
||||
0x00, ResourceConsumer, ,
|
||||
)
|
||||
})
|
||||
Name (_PR0, Package (0x01) /* _PR0: Power Resources for D0 */
|
||||
{
|
||||
FCPR
|
||||
})
|
||||
Name (_PR3, Package (0x01) /* _PR3: Power Resources for D3hot */
|
||||
{
|
||||
FCPR
|
||||
})
|
||||
Name (_DSD, Package (0x04) /* _DSD: Device-Specific Data */
|
||||
{
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port0",
|
||||
"PRT0"
|
||||
}
|
||||
},
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x02)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"clock-frequency",
|
||||
0x0124F800
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"i2c-allow-low-power-probe",
|
||||
0x01
|
||||
}
|
||||
}
|
||||
})
|
||||
Name (PRT0, Package (0x04)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port",
|
||||
0
|
||||
}
|
||||
},
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint0",
|
||||
"EP00"
|
||||
}
|
||||
}
|
||||
})
|
||||
Name (EP00, Package (0x02)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x05)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"clock-lanes",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"data-lanes",
|
||||
Package (0x02)
|
||||
{
|
||||
1,
|
||||
0x02
|
||||
}
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"link-frequencies",
|
||||
Package (0x01)
|
||||
{
|
||||
0x15752A00
|
||||
}
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"remote-endpoint",
|
||||
Package (0x03)
|
||||
{
|
||||
IPU0,
|
||||
1,
|
||||
0
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -1,340 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
Scope (\_SB.PCI0.IPU0)
|
||||
{
|
||||
Name (_DSD, Package (0x02) /* _DSD: Device-Specific Data */
|
||||
{
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x02)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port0",
|
||||
"PRT0"
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"port1",
|
||||
"PRT1"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Name (PRT0, Package (0x04)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port",
|
||||
5
|
||||
}
|
||||
},
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint0",
|
||||
"EP00"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Name (PRT1, Package (0x04)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port",
|
||||
1
|
||||
}
|
||||
},
|
||||
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint0",
|
||||
"EP10"
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Scope (\_SB.PCI0.IPU0)
|
||||
{
|
||||
Name (EP10, Package (0x02)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x04)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"clock-lanes",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"data-lanes",
|
||||
Package (0x02)
|
||||
{
|
||||
1,
|
||||
0x02
|
||||
}
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"remote-endpoint",
|
||||
Package (0x03)
|
||||
{
|
||||
^I2C2.CAM1,
|
||||
0,
|
||||
0
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Scope (\_SB.PCI0.I2C2)
|
||||
{
|
||||
Name (STA, 0)
|
||||
PowerResource (FCPR, 0x00, 0x0000)
|
||||
{
|
||||
Method (_ON, 0, Serialized) /* Front camera_ON_: Power On */
|
||||
{
|
||||
If (STA == 0)
|
||||
{
|
||||
/* Enable IMG_CLK */
|
||||
MCON(2,1) /* Clock 2, 19.2MHz */
|
||||
|
||||
/* Pull RST low */
|
||||
CTXS(GPP_D4)
|
||||
|
||||
/* Pull PWREN high */
|
||||
STXS(GPP_D17)
|
||||
Sleep(10) /* t9 */
|
||||
|
||||
/* Pull RST high */
|
||||
STXS(GPP_D4)
|
||||
Sleep(1) /* t2 */
|
||||
|
||||
STA = 1
|
||||
}
|
||||
}
|
||||
Method (_OFF, 0, Serialized) /* Front camera_OFF_: Power Off */
|
||||
{
|
||||
If (STA == 1)
|
||||
{
|
||||
/* Disable IMG_CLK */
|
||||
Sleep(1) /* t0+t1 */
|
||||
MCOF(2) /* Clock 2 */
|
||||
|
||||
/* Pull RST low */
|
||||
CTXS(GPP_D4)
|
||||
|
||||
/* Pull PWREN low */
|
||||
CTXS(GPP_D17)
|
||||
|
||||
STA = 0
|
||||
}
|
||||
}
|
||||
Method (_STA, 0, NotSerialized)
|
||||
{
|
||||
Return (STA)
|
||||
}
|
||||
}
|
||||
|
||||
Device (CAM1)
|
||||
{
|
||||
Name (_HID, "INT3474")
|
||||
Name (_UID, 0)
|
||||
Name (_DDN, "Ov 2740 Camera") /* _DDN: DOS Device Name */
|
||||
Method (_STA, 0, NotSerialized)
|
||||
{
|
||||
Return (0x0F)
|
||||
}
|
||||
Name (_CRS, ResourceTemplate () /* _CRS: Current Resource Settings */
|
||||
{
|
||||
I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80,
|
||||
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
|
||||
0x00, ResourceConsumer, ,
|
||||
)
|
||||
})
|
||||
Name (_PR0, Package (0x01) /* _PR0: Power Resources for D0 */
|
||||
{
|
||||
FCPR
|
||||
})
|
||||
Name (_PR3, Package (0x01) /* _PR3: Power Resources for D3hot */
|
||||
{
|
||||
FCPR
|
||||
})
|
||||
Name (_DSD, Package (0x04) /* _DSD: Device-Specific Data */
|
||||
{
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port0",
|
||||
"PRT0"
|
||||
}
|
||||
},
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x02)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"clock-frequency",
|
||||
0x0124F800
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"i2c-allow-low-power-probe",
|
||||
0x01
|
||||
}
|
||||
}
|
||||
})
|
||||
Name (PRT0, Package (0x04)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"port",
|
||||
0
|
||||
}
|
||||
},
|
||||
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||
Package (0x01)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint0",
|
||||
"EP00"
|
||||
}
|
||||
}
|
||||
})
|
||||
Name (EP00, Package (0x02)
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||
Package (0x05)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"endpoint",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"clock-lanes",
|
||||
0
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"data-lanes",
|
||||
Package (0x02)
|
||||
{
|
||||
1,
|
||||
0x02
|
||||
}
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"link-frequencies",
|
||||
Package (0x01)
|
||||
{
|
||||
0x15752A00
|
||||
}
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"remote-endpoint",
|
||||
Package (0x03)
|
||||
{
|
||||
IPU0,
|
||||
1,
|
||||
0
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
Device (NVM0)
|
||||
{
|
||||
Name (_HID, "PRP0001")
|
||||
Name (_UID, 0x01)
|
||||
Name (_DDN, "AT24 EEPROM") // _DDN: DOS Device Name
|
||||
Method (_STA, 0, NotSerialized)
|
||||
{
|
||||
Return (0x0F)
|
||||
}
|
||||
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
||||
{
|
||||
I2cSerialBusV2 (0x0050, ControllerInitiated, 0x00061A80,
|
||||
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
|
||||
0x00, ResourceConsumer, , Exclusive,
|
||||
)
|
||||
})
|
||||
Name (_DEP, Package (0x01) // _DEP: Dependencies
|
||||
{
|
||||
CAM1
|
||||
})
|
||||
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
|
||||
{
|
||||
FCPR
|
||||
})
|
||||
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
|
||||
{
|
||||
FCPR
|
||||
})
|
||||
Name (_DSD, Package (0x02) // _DSD: Device-Specific Data
|
||||
{
|
||||
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
|
||||
Package (0x06)
|
||||
{
|
||||
Package (0x02)
|
||||
{
|
||||
"size",
|
||||
0x2000
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"pagesize",
|
||||
1
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"read-only",
|
||||
1
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"address-width",
|
||||
0x10
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"compatible",
|
||||
"atmel,24c64"
|
||||
},
|
||||
Package (0x02)
|
||||
{
|
||||
"i2c-allow-low-power-probe",
|
||||
0x01
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -9,7 +9,19 @@ chip soc/intel/tigerlake
|
|||
register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E10, .pad_auxn_dc = GPP_E13}"
|
||||
|
||||
device domain 0 on
|
||||
device ref ipu on end # IPU
|
||||
device ref ipu on
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_uid" = "0x50000"
|
||||
register "acpi_name" = ""IPU0""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
|
||||
|
||||
register "cio2_num_ports" = "1"
|
||||
register "cio2_lanes_used" = "{2}" # 2 CSI Camera lanes are used
|
||||
register "cio2_lane_endpoint[0]" = ""^I2C2.CAM1""
|
||||
register "cio2_prt[0]" = "1"
|
||||
device generic 0 on end
|
||||
end
|
||||
end
|
||||
device ref i2c0 on
|
||||
chip drivers/i2c/generic
|
||||
register "hid" = ""10EC5682""
|
||||
|
|
@ -62,6 +74,66 @@ chip soc/intel/tigerlake
|
|||
device i2c 10 on end
|
||||
end
|
||||
end
|
||||
device ref i2c2 on
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_hid" = ""INT3474""
|
||||
register "acpi_uid" = "0"
|
||||
register "acpi_name" = ""CAM1""
|
||||
register "chip_name" = ""Ov 2740 Camera""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
|
||||
register "has_power_resource" = "true"
|
||||
|
||||
register "ssdb.lanes_used" = "2"
|
||||
register "ssdb.link_used" = "1"
|
||||
register "ssdb.platform" = "PLAT_TGL"
|
||||
register "ssdb.rom_type" = "ROM_EEPROM_CAT24C64"
|
||||
register "rom_address" = "0x50"
|
||||
register "num_freq_entries" = "1"
|
||||
register "link_freq[0]" = "360 * MHz"
|
||||
register "remote_name" = ""IPU0""
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
|
||||
|
||||
#Controls
|
||||
register "clk_panel.clks[0].clknum" = "2"
|
||||
register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
|
||||
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_D4" #reset
|
||||
register "gpio_panel.gpio[1].gpio_num" = "GPP_D17" #power enable
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "4"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
|
||||
register "on_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" # RST low
|
||||
register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 10)" # PWREN high, sleep 10ms
|
||||
register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(0, 1)" # RST high, sleep 1ms
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "3"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 1)" # Disable clock, delay 1ms
|
||||
register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" # RST low
|
||||
register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" # PWREN low
|
||||
|
||||
device i2c 36 on end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
|
||||
register "acpi_uid" = "1"
|
||||
register "acpi_name" = ""NVM0""
|
||||
register "chip_name" = ""AT24 EEPROM""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
|
||||
register "pr0" = ""\\_SB.PCI0.I2C2.CAM1.PRIC""
|
||||
|
||||
register "nvm_size" = "0x2000"
|
||||
register "nvm_pagesize" = "1"
|
||||
register "nvm_readonly" = "1"
|
||||
register "nvm_width" = "0x10"
|
||||
register "nvm_compat" = ""atmel,24c64""
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
device i2c 50 on end
|
||||
end
|
||||
end
|
||||
device ref i2c5 on
|
||||
chip drivers/i2c/generic
|
||||
register "hid" = ""ELAN0000""
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#include <baseboard/acpi/mipi_camera.asl>
|
||||
|
|
@ -63,7 +63,21 @@ chip soc/intel/tigerlake
|
|||
probe DB_USB USB4_GEN3
|
||||
end
|
||||
|
||||
device ref ipu on end
|
||||
device ref ipu on
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_uid" = "0x50000"
|
||||
register "acpi_name" = ""IPU0""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
|
||||
|
||||
register "cio2_num_ports" = "2"
|
||||
register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
|
||||
register "cio2_lane_endpoint[0]" = ""^I2C3.CAM0""
|
||||
register "cio2_lane_endpoint[1]" = ""^I2C2.CAM1""
|
||||
register "cio2_prt[0]" = "5"
|
||||
register "cio2_prt[1]" = "1"
|
||||
device generic 0 on end
|
||||
end
|
||||
end
|
||||
device ref i2c0 on
|
||||
chip drivers/i2c/generic
|
||||
register "hid" = ""10EC5682""
|
||||
|
|
@ -166,6 +180,129 @@ chip soc/intel/tigerlake
|
|||
register "proxraw_strength" = "0"
|
||||
device i2c 28 on end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_hid" = ""INT3474""
|
||||
register "acpi_uid" = "0"
|
||||
register "acpi_name" = ""CAM1""
|
||||
register "chip_name" = ""Ov 2740 Camera""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
|
||||
register "has_power_resource" = "true"
|
||||
register "low_power_probe" = "1"
|
||||
|
||||
register "ssdb.lanes_used" = "2"
|
||||
register "ssdb.link_used" = "1"
|
||||
register "ssdb.platform" = "PLAT_TGL"
|
||||
register "num_freq_entries" = "1"
|
||||
register "link_freq[0]" = "360 * MHz"
|
||||
register "remote_name" = ""IPU0""
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
|
||||
|
||||
#Controls
|
||||
register "clk_panel.clks[0].clknum" = "2"
|
||||
register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
|
||||
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_D4" #reset
|
||||
register "gpio_panel.gpio[1].gpio_num" = "GPP_D17" #power enable
|
||||
register "gpio_panel.gpio[2].gpio_num" = "GPP_D18" #SNRPWR_EN
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "5"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
|
||||
register "on_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" # RST low
|
||||
register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(2, 0)" # SNRPWR_EN high
|
||||
register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 10)" # PWREN high, sleep 10ms
|
||||
register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(0, 1)" # RST high, sleep 1ms
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "4"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 1)" # Disable clock, delay 1ms
|
||||
register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" # RST low
|
||||
register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" # PWREN low
|
||||
register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 0)" # SNRPWR_EN low
|
||||
|
||||
device i2c 10 on end
|
||||
end
|
||||
end
|
||||
device ref i2c3 on
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_hid" = ""OVTI8856""
|
||||
register "acpi_uid" = "0"
|
||||
register "acpi_name" = ""CAM0""
|
||||
register "chip_name" = ""Ov 8856 Camera""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
|
||||
register "has_power_resource" = "true"
|
||||
register "low_power_probe" = "1"
|
||||
|
||||
register "ssdb.lanes_used" = "4"
|
||||
register "ssdb.link_used" = "0"
|
||||
register "ssdb.platform" = "PLAT_TGL"
|
||||
register "ssdb.vcm_type" = "VCM_DW9808"
|
||||
register "vcm_address" = "0x0C"
|
||||
register "vcm_name" = ""VCM0""
|
||||
# placeholder; ROM type 24C1024 currently unsupported
|
||||
# register "ssdb.rom_type" = "ROM_EEPROM_24C1024"
|
||||
# register "rom_address" = "0x50"
|
||||
register "num_freq_entries" = "2"
|
||||
register "link_freq[0]" = "360 * MHz" # 360 MHz
|
||||
register "link_freq[1]" = "180 * MHz" # 180 MHz
|
||||
register "remote_name" = ""IPU0""
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
|
||||
|
||||
#Controls
|
||||
register "clk_panel.clks[0].clknum" = "3"
|
||||
register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
|
||||
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_F15" #reset
|
||||
register "gpio_panel.gpio[1].gpio_num" = "GPP_H20" #power enable
|
||||
register "gpio_panel.gpio[2].gpio_num" = "GPP_H14" #SNRPWR_EN
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "5"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
|
||||
register "on_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" # RST low
|
||||
register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(2, 0)" # SNRPWR_EN high
|
||||
register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 2)" # PWREN high, sleep 2ms
|
||||
register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(0, 1)" # RST high, sleep 1ms
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "4"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 1)" # Disable clock, delay 1ms
|
||||
register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" # RST low
|
||||
register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" # PWREN low
|
||||
register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 0)" # SNRPWR_EN low
|
||||
|
||||
device i2c 10 on end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_uid" = "2"
|
||||
register "acpi_name" = ""VCM0""
|
||||
register "chip_name" = ""DW9768 VCM""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_VCM"
|
||||
|
||||
register "pr0" = ""\\_SB.PCI0.I2C3.CAM0.PRIC""
|
||||
register "vcm_compat" = ""dongwoon,dw9768""
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
device i2c 0C on end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
|
||||
register "acpi_uid" = "1"
|
||||
register "acpi_name" = ""NVM0""
|
||||
register "chip_name" = ""AT24 EEPROM""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
|
||||
register "pr0" = ""\\_SB.PCI0.I2C3.CAM0.PRIC""
|
||||
|
||||
register "nvm_size" = "0x2800"
|
||||
register "nvm_pagesize" = "1"
|
||||
register "nvm_readonly" = "1"
|
||||
register "nvm_width" = "0x10"
|
||||
register "nvm_compat" = ""atmel,24c1024""
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
device i2c 58 on end
|
||||
end
|
||||
end
|
||||
device ref i2c5 on
|
||||
chip drivers/i2c/generic
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#include <baseboard/acpi/mipi_camera.asl>
|
||||
|
|
@ -117,7 +117,21 @@ chip soc/intel/tigerlake
|
|||
probe DB_USB USB4_GEN3
|
||||
end
|
||||
|
||||
device ref ipu on end # IPU 0x9A19
|
||||
device ref ipu on
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_uid" = "0x50000"
|
||||
register "acpi_name" = ""IPU0""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
|
||||
|
||||
register "cio2_num_ports" = "2"
|
||||
register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
|
||||
register "cio2_lane_endpoint[0]" = ""^I2C3.CAM0""
|
||||
register "cio2_lane_endpoint[1]" = ""^I2C2.CAM1""
|
||||
register "cio2_prt[0]" = "5"
|
||||
register "cio2_prt[1]" = "1"
|
||||
device generic 0 on end
|
||||
end
|
||||
end
|
||||
device ref i2c0 on
|
||||
chip drivers/i2c/generic
|
||||
register "hid" = ""10EC5682""
|
||||
|
|
@ -225,6 +239,129 @@ chip soc/intel/tigerlake
|
|||
register "proxraw_strength" = "0"
|
||||
device i2c 28 on end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_hid" = ""INT3474""
|
||||
register "acpi_uid" = "0"
|
||||
register "acpi_name" = ""CAM1""
|
||||
register "chip_name" = ""Ov 2740 Camera""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
|
||||
register "has_power_resource" = "true"
|
||||
register "low_power_probe" = "1"
|
||||
|
||||
register "ssdb.lanes_used" = "2"
|
||||
register "ssdb.link_used" = "1"
|
||||
register "ssdb.platform" = "PLAT_TGL"
|
||||
register "num_freq_entries" = "1"
|
||||
register "link_freq[0]" = "360 * MHz"
|
||||
register "remote_name" = ""IPU0""
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
|
||||
|
||||
#Controls
|
||||
register "clk_panel.clks[0].clknum" = "2"
|
||||
register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
|
||||
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_D4" #reset
|
||||
register "gpio_panel.gpio[1].gpio_num" = "GPP_D17" #power enable
|
||||
register "gpio_panel.gpio[2].gpio_num" = "GPP_D18" #SNRPWR_EN
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "5"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
|
||||
register "on_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" # RST low
|
||||
register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(2, 0)" # SNRPWR_EN high
|
||||
register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 10)" # PWREN high, sleep 10ms
|
||||
register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(0, 1)" # RST high, sleep 1ms
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "4"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 1)" # Disable clock, delay 1ms
|
||||
register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" # RST low
|
||||
register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" # PWREN low
|
||||
register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 0)" # SNRPWR_EN low
|
||||
|
||||
device i2c 10 on end
|
||||
end
|
||||
end
|
||||
device ref i2c3 on
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_hid" = ""OVTI8856""
|
||||
register "acpi_uid" = "0"
|
||||
register "acpi_name" = ""CAM0""
|
||||
register "chip_name" = ""Ov 8856 Camera""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
|
||||
register "has_power_resource" = "true"
|
||||
register "low_power_probe" = "1"
|
||||
|
||||
register "ssdb.lanes_used" = "4"
|
||||
register "ssdb.link_used" = "0"
|
||||
register "ssdb.platform" = "PLAT_TGL"
|
||||
register "ssdb.vcm_type" = "VCM_DW9808"
|
||||
register "vcm_address" = "0x0C"
|
||||
register "vcm_name" = ""VCM0""
|
||||
# placeholder; ROM type 24C1024 currently unsupported
|
||||
# register "ssdb.rom_type" = "ROM_EEPROM_24C1024"
|
||||
# register "rom_address" = "0x50"
|
||||
register "num_freq_entries" = "2"
|
||||
register "link_freq[0]" = "360 * MHz" # 360 MHz
|
||||
register "link_freq[1]" = "180 * MHz" # 180 MHz
|
||||
register "remote_name" = ""IPU0""
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
|
||||
|
||||
#Controls
|
||||
register "clk_panel.clks[0].clknum" = "3"
|
||||
register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
|
||||
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_F15" #reset
|
||||
register "gpio_panel.gpio[1].gpio_num" = "GPP_H20" #power enable
|
||||
register "gpio_panel.gpio[2].gpio_num" = "GPP_H14" #SNRPWR_EN
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "5"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
|
||||
register "on_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" # RST low
|
||||
register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(2, 0)" # SNRPWR_EN high
|
||||
register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 2)" # PWREN high, sleep 2ms
|
||||
register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(0, 1)" # RST high, sleep 1ms
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "4"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 1)" # Disable clock, delay 1ms
|
||||
register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" # RST low
|
||||
register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" # PWREN low
|
||||
register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 0)" # SNRPWR_EN low
|
||||
|
||||
device i2c 10 on end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_uid" = "2"
|
||||
register "acpi_name" = ""VCM0""
|
||||
register "chip_name" = ""DW9768 VCM""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_VCM"
|
||||
|
||||
register "pr0" = ""\\_SB.PCI0.I2C3.CAM0.PRIC""
|
||||
register "vcm_compat" = ""dongwoon,dw9768""
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
device i2c 0C on end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
|
||||
register "acpi_uid" = "1"
|
||||
register "acpi_name" = ""NVM0""
|
||||
register "chip_name" = ""AT24 EEPROM""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
|
||||
register "pr0" = ""\\_SB.PCI0.I2C3.CAM0.PRIC""
|
||||
|
||||
register "nvm_size" = "0x2800"
|
||||
register "nvm_pagesize" = "1"
|
||||
register "nvm_readonly" = "1"
|
||||
register "nvm_width" = "0x10"
|
||||
register "nvm_compat" = ""atmel,24c1024""
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
device i2c 58 on end
|
||||
end
|
||||
end
|
||||
device ref i2c5 on
|
||||
chip drivers/i2c/generic
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue