[PATCH 00/29][SRU][OEM-5.14] Support Intel IPU6 MIPI camera on Alder Lake platforms
You-Sheng Yang
vicamo.yang at canonical.com
Tue Dec 28 06:19:26 UTC 2021
BugLink: https://bugs.launchpad.net/bugs/1955383
[Impact]
To support Intel IPU6 MIPI camera on Alder Lake platforms.
[Fix]
Initial support for Intel IPU6 MIPI camera on Tiger Lake platforms has
been addressed by bug 1921345 and 1939539. They are backported from
https://github.com/intel/ipu6-drivers.
Further works to enable IPU6 camera on Alder Lake platforms depend on a
few more fixes from same ipu6-drivers repository, as well as an extra
https://github.com/intel/ivsc-driver for Intel Vision Sensing
Controller(IVSC).
[Test Case]
This depends on an integral of enablement components inclusive of the
kernel drivers that are being proposed, firmware, updates for the
userspace camera hardware abstration layer library and a gstreamer
element as what we have for Tiger Lake platforms.
[Where problems could occur]
It's confirmed Intel IPU6 MIPI camera doesn't support suspend at
streaming.
[Other Info]
Jammy is planned, but yet the support for 5.15 kernel is not yet started
from Intel side.
Hao Yao (1):
UBUNTU: SAUCE: IPU6 driver release for kernel 5.14 on 2021-11-01
Wang Yating (14):
UBUNTU: SAUCE: intel ipu drivers first release
UBUNTU: SAUCE: IPU driver release WW48
UBUNTU: SAUCE: IPU driver release WW48 with MCU
UBUNTU: SAUCE: IPU driver release WW52
UBUNTU: SAUCE: IPU driver release WW04
UBUNTU: SAUCE: IPU driver release WW14
UBUNTU: SAUCE: Fix ov01a1s output mirror issue
UBUNTU: SAUCE: integrate IPU6 builds
UBUNTU: SAUCE: Fix ov01a1s IQ issues
UBUNTU: SAUCE: intel/ipu6: Remove unnecessary video devices
UBUNTU: SAUCE: change power control driver to acpi driver
UBUNTU: SAUCE: IPU6 driver release for kernel 5.13
UBUNTU: SAUCE: sensor HM11b1 brightness bugfix
UBUNTU: SAUCE: Fix build error on Kernel 5.13
Wentong Wu (4):
UBUNTU: SAUCE: intel visual sensing controller(VSC) driver first
release
UBUNTU: SAUCE: ivsc: return error when device not ready
UBUNTU: SAUCE: ivsc: add soft dependencies for intel_vsc module
UBUNTU: SAUCE: ivsc: add delay for acquire camera to wait firmware
ready
Ye Xiang (7):
UBUNTU: SAUCE: ljca: switch wait event to uninterruptible
UBUNTU: SAUCE: mei-vsc: switch wait event to uninterruptible
UBUNTU: SAUCE: mei_vsc: add ACPI HID for ADL
UBUNTU: SAUCE: ljca: add multi ACPI HID support
UBUNTU: SAUCE: mei_vsc: distinguish platform with different camera
sensor
UBUNTU: SAUCE: i2c-ljca: fix a potential issue
UBUNTU: SAUCE: ljca: disable autosuspend by default
You-Sheng Yang (3):
UBUNTU: [Config] updateconfigs for IPU6 driver
UBUNTU: [Config] IPU6: enable OV01A10 sensor
UBUNTU: [Config] ivsc: enable Intel VSC drivers
debian.oem/config/config.common.ubuntu | 16 +
drivers/gpio/Kconfig | 11 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-ljca.c | 468 +++++
drivers/i2c/busses/Kconfig | 10 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-ljca.c | 422 ++++
drivers/media/i2c/Kconfig | 55 +
drivers/media/i2c/Makefile | 5 +
drivers/media/i2c/hm11b1.c | 1102 +++++++++++
drivers/media/i2c/ov01a10.c | 934 +++++++++
drivers/media/i2c/ov01a1s.c | 949 +++++++++
drivers/media/i2c/power_ctrl_logic.c | 147 ++
drivers/media/i2c/power_ctrl_logic.h | 9 +
drivers/media/pci/Kconfig | 2 +-
drivers/media/pci/intel/Kconfig | 20 +
drivers/media/pci/intel/Makefile | 11 +-
drivers/media/pci/intel/ipu-bus.c | 256 +++
drivers/media/pci/intel/ipu-bus.h | 67 +
drivers/media/pci/intel/ipu-buttress.c | 1372 +++++++++++++
drivers/media/pci/intel/ipu-buttress.h | 128 ++
drivers/media/pci/intel/ipu-cpd.c | 465 +++++
drivers/media/pci/intel/ipu-cpd.h | 110 ++
drivers/media/pci/intel/ipu-dma.c | 406 ++++
drivers/media/pci/intel/ipu-dma.h | 19 +
drivers/media/pci/intel/ipu-fw-com.c | 496 +++++
drivers/media/pci/intel/ipu-fw-com.h | 48 +
drivers/media/pci/intel/ipu-fw-isys.c | 600 ++++++
drivers/media/pci/intel/ipu-fw-isys.h | 816 ++++++++
drivers/media/pci/intel/ipu-fw-psys.c | 430 ++++
drivers/media/pci/intel/ipu-fw-psys.h | 382 ++++
.../media/pci/intel/ipu-isys-csi2-be-soc.c | 341 ++++
drivers/media/pci/intel/ipu-isys-csi2-be.c | 325 +++
drivers/media/pci/intel/ipu-isys-csi2-be.h | 63 +
drivers/media/pci/intel/ipu-isys-csi2.c | 655 ++++++
drivers/media/pci/intel/ipu-isys-csi2.h | 164 ++
drivers/media/pci/intel/ipu-isys-media.h | 77 +
drivers/media/pci/intel/ipu-isys-queue.c | 1063 ++++++++++
drivers/media/pci/intel/ipu-isys-queue.h | 142 ++
drivers/media/pci/intel/ipu-isys-subdev.c | 650 ++++++
drivers/media/pci/intel/ipu-isys-subdev.h | 152 ++
drivers/media/pci/intel/ipu-isys-tpg.c | 311 +++
drivers/media/pci/intel/ipu-isys-tpg.h | 99 +
drivers/media/pci/intel/ipu-isys-video.c | 1748 +++++++++++++++++
drivers/media/pci/intel/ipu-isys-video.h | 178 ++
drivers/media/pci/intel/ipu-isys.c | 1355 +++++++++++++
drivers/media/pci/intel/ipu-isys.h | 227 +++
drivers/media/pci/intel/ipu-mmu.c | 858 ++++++++
drivers/media/pci/intel/ipu-mmu.h | 76 +
drivers/media/pci/intel/ipu-pdata.h | 242 +++
drivers/media/pci/intel/ipu-psys-compat32.c | 225 +++
drivers/media/pci/intel/ipu-psys.c | 1618 +++++++++++++++
drivers/media/pci/intel/ipu-psys.h | 217 ++
drivers/media/pci/intel/ipu-trace.c | 869 ++++++++
drivers/media/pci/intel/ipu-trace.h | 146 ++
drivers/media/pci/intel/ipu.c | 823 ++++++++
drivers/media/pci/intel/ipu.h | 109 +
drivers/media/pci/intel/ipu6/Makefile | 58 +
.../media/pci/intel/ipu6/ipu-fw-resources.c | 103 +
.../intel/ipu6/ipu-platform-buttress-regs.h | 317 +++
.../intel/ipu6/ipu-platform-isys-csi2-reg.h | 277 +++
.../media/pci/intel/ipu6/ipu-platform-isys.h | 26 +
.../media/pci/intel/ipu6/ipu-platform-psys.h | 78 +
.../media/pci/intel/ipu6/ipu-platform-regs.h | 333 ++++
.../pci/intel/ipu6/ipu-platform-resources.h | 103 +
drivers/media/pci/intel/ipu6/ipu-platform.h | 34 +
drivers/media/pci/intel/ipu6/ipu-resources.c | 851 ++++++++
.../media/pci/intel/ipu6/ipu6-fw-resources.c | 608 ++++++
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c | 513 +++++
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.h | 14 +
drivers/media/pci/intel/ipu6/ipu6-isys-gpc.c | 203 ++
drivers/media/pci/intel/ipu6/ipu6-isys-phy.c | 595 ++++++
drivers/media/pci/intel/ipu6/ipu6-isys-phy.h | 159 ++
drivers/media/pci/intel/ipu6/ipu6-isys.c | 174 ++
.../media/pci/intel/ipu6/ipu6-l-scheduler.c | 615 ++++++
.../pci/intel/ipu6/ipu6-platform-resources.h | 196 ++
drivers/media/pci/intel/ipu6/ipu6-ppg.c | 560 ++++++
drivers/media/pci/intel/ipu6/ipu6-ppg.h | 38 +
drivers/media/pci/intel/ipu6/ipu6-psys-gpc.c | 210 ++
drivers/media/pci/intel/ipu6/ipu6-psys.c | 1032 ++++++++++
drivers/media/pci/intel/ipu6/ipu6.c | 333 ++++
.../pci/intel/ipu6/ipu6ep-fw-resources.c | 393 ++++
.../intel/ipu6/ipu6ep-platform-resources.h | 42 +
.../pci/intel/ipu6/ipu6se-fw-resources.c | 194 ++
.../intel/ipu6/ipu6se-platform-resources.h | 103 +
drivers/mfd/Kconfig | 10 +
drivers/mfd/Makefile | 2 +
drivers/mfd/ljca.c | 1191 +++++++++++
drivers/misc/Kconfig | 1 +
drivers/misc/Makefile | 1 +
drivers/misc/ivsc/Kconfig | 40 +
drivers/misc/ivsc/Makefile | 9 +
drivers/misc/ivsc/intel_vsc.c | 250 +++
drivers/misc/ivsc/intel_vsc.h | 177 ++
drivers/misc/ivsc/mei_ace.c | 589 ++++++
drivers/misc/ivsc/mei_ace_debug.c | 696 +++++++
drivers/misc/ivsc/mei_csi.c | 456 +++++
drivers/misc/ivsc/mei_pse.c | 944 +++++++++
drivers/misc/mei/Kconfig | 7 +
drivers/misc/mei/Makefile | 4 +
drivers/misc/mei/hw-vsc.c | 1637 +++++++++++++++
drivers/misc/mei/hw-vsc.h | 378 ++++
drivers/misc/mei/spi-vsc.c | 293 +++
drivers/spi/Kconfig | 10 +
drivers/spi/Makefile | 1 +
drivers/spi/spi-ljca.c | 328 ++++
drivers/usb/Kconfig | 2 +
drivers/usb/Makefile | 2 +
drivers/usb/intel_ulpss/Kconfig | 11 +
drivers/usb/intel_ulpss/Makefile | 3 +
drivers/usb/intel_ulpss/diag_stub.c | 116 ++
drivers/usb/intel_ulpss/diag_stub.h | 19 +
drivers/usb/intel_ulpss/gpio_stub.c | 459 +++++
drivers/usb/intel_ulpss/gpio_stub.h | 13 +
drivers/usb/intel_ulpss/i2c_stub.c | 456 +++++
drivers/usb/intel_ulpss/i2c_stub.h | 21 +
drivers/usb/intel_ulpss/mng_stub.c | 244 +++
drivers/usb/intel_ulpss/mng_stub.h | 18 +
.../usb/intel_ulpss/protocol_intel_ulpss.h | 173 ++
drivers/usb/intel_ulpss/ulpss_bridge.c | 529 +++++
drivers/usb/intel_ulpss/ulpss_bridge.h | 77 +
drivers/usb/intel_ulpss/usb_stub.c | 285 +++
drivers/usb/intel_ulpss/usb_stub.h | 49 +
include/linux/mfd/ljca.h | 47 +
include/linux/vsc.h | 83 +
include/media/ipu-isys.h | 44 +
include/uapi/linux/ipu-isys.h | 15 +
include/uapi/linux/ipu-psys.h | 121 ++
128 files changed, 40462 insertions(+), 2 deletions(-)
create mode 100644 drivers/gpio/gpio-ljca.c
create mode 100644 drivers/i2c/busses/i2c-ljca.c
create mode 100644 drivers/media/i2c/hm11b1.c
create mode 100644 drivers/media/i2c/ov01a10.c
create mode 100644 drivers/media/i2c/ov01a1s.c
create mode 100644 drivers/media/i2c/power_ctrl_logic.c
create mode 100644 drivers/media/i2c/power_ctrl_logic.h
create mode 100644 drivers/media/pci/intel/Kconfig
create mode 100644 drivers/media/pci/intel/ipu-bus.c
create mode 100644 drivers/media/pci/intel/ipu-bus.h
create mode 100644 drivers/media/pci/intel/ipu-buttress.c
create mode 100644 drivers/media/pci/intel/ipu-buttress.h
create mode 100644 drivers/media/pci/intel/ipu-cpd.c
create mode 100644 drivers/media/pci/intel/ipu-cpd.h
create mode 100644 drivers/media/pci/intel/ipu-dma.c
create mode 100644 drivers/media/pci/intel/ipu-dma.h
create mode 100644 drivers/media/pci/intel/ipu-fw-com.c
create mode 100644 drivers/media/pci/intel/ipu-fw-com.h
create mode 100644 drivers/media/pci/intel/ipu-fw-isys.c
create mode 100644 drivers/media/pci/intel/ipu-fw-isys.h
create mode 100644 drivers/media/pci/intel/ipu-fw-psys.c
create mode 100644 drivers/media/pci/intel/ipu-fw-psys.h
create mode 100644 drivers/media/pci/intel/ipu-isys-csi2-be-soc.c
create mode 100644 drivers/media/pci/intel/ipu-isys-csi2-be.c
create mode 100644 drivers/media/pci/intel/ipu-isys-csi2-be.h
create mode 100644 drivers/media/pci/intel/ipu-isys-csi2.c
create mode 100644 drivers/media/pci/intel/ipu-isys-csi2.h
create mode 100644 drivers/media/pci/intel/ipu-isys-media.h
create mode 100644 drivers/media/pci/intel/ipu-isys-queue.c
create mode 100644 drivers/media/pci/intel/ipu-isys-queue.h
create mode 100644 drivers/media/pci/intel/ipu-isys-subdev.c
create mode 100644 drivers/media/pci/intel/ipu-isys-subdev.h
create mode 100644 drivers/media/pci/intel/ipu-isys-tpg.c
create mode 100644 drivers/media/pci/intel/ipu-isys-tpg.h
create mode 100644 drivers/media/pci/intel/ipu-isys-video.c
create mode 100644 drivers/media/pci/intel/ipu-isys-video.h
create mode 100644 drivers/media/pci/intel/ipu-isys.c
create mode 100644 drivers/media/pci/intel/ipu-isys.h
create mode 100644 drivers/media/pci/intel/ipu-mmu.c
create mode 100644 drivers/media/pci/intel/ipu-mmu.h
create mode 100644 drivers/media/pci/intel/ipu-pdata.h
create mode 100644 drivers/media/pci/intel/ipu-psys-compat32.c
create mode 100644 drivers/media/pci/intel/ipu-psys.c
create mode 100644 drivers/media/pci/intel/ipu-psys.h
create mode 100644 drivers/media/pci/intel/ipu-trace.c
create mode 100644 drivers/media/pci/intel/ipu-trace.h
create mode 100644 drivers/media/pci/intel/ipu.c
create mode 100644 drivers/media/pci/intel/ipu.h
create mode 100644 drivers/media/pci/intel/ipu6/Makefile
create mode 100644 drivers/media/pci/intel/ipu6/ipu-fw-resources.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu-platform-buttress-regs.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu-platform-isys-csi2-reg.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu-platform-isys.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu-platform-psys.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu-platform-regs.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu-platform-resources.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu-platform.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu-resources.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-fw-resources.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-isys-csi2.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-isys-gpc.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-isys-phy.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-isys.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-l-scheduler.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-platform-resources.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-ppg.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-ppg.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-psys-gpc.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6-psys.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6ep-fw-resources.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6ep-platform-resources.h
create mode 100644 drivers/media/pci/intel/ipu6/ipu6se-fw-resources.c
create mode 100644 drivers/media/pci/intel/ipu6/ipu6se-platform-resources.h
create mode 100644 drivers/mfd/ljca.c
create mode 100644 drivers/misc/ivsc/Kconfig
create mode 100644 drivers/misc/ivsc/Makefile
create mode 100644 drivers/misc/ivsc/intel_vsc.c
create mode 100644 drivers/misc/ivsc/intel_vsc.h
create mode 100644 drivers/misc/ivsc/mei_ace.c
create mode 100644 drivers/misc/ivsc/mei_ace_debug.c
create mode 100644 drivers/misc/ivsc/mei_csi.c
create mode 100644 drivers/misc/ivsc/mei_pse.c
create mode 100644 drivers/misc/mei/hw-vsc.c
create mode 100644 drivers/misc/mei/hw-vsc.h
create mode 100644 drivers/misc/mei/spi-vsc.c
create mode 100644 drivers/spi/spi-ljca.c
create mode 100644 drivers/usb/intel_ulpss/Kconfig
create mode 100644 drivers/usb/intel_ulpss/Makefile
create mode 100644 drivers/usb/intel_ulpss/diag_stub.c
create mode 100644 drivers/usb/intel_ulpss/diag_stub.h
create mode 100644 drivers/usb/intel_ulpss/gpio_stub.c
create mode 100644 drivers/usb/intel_ulpss/gpio_stub.h
create mode 100644 drivers/usb/intel_ulpss/i2c_stub.c
create mode 100644 drivers/usb/intel_ulpss/i2c_stub.h
create mode 100644 drivers/usb/intel_ulpss/mng_stub.c
create mode 100644 drivers/usb/intel_ulpss/mng_stub.h
create mode 100644 drivers/usb/intel_ulpss/protocol_intel_ulpss.h
create mode 100644 drivers/usb/intel_ulpss/ulpss_bridge.c
create mode 100644 drivers/usb/intel_ulpss/ulpss_bridge.h
create mode 100644 drivers/usb/intel_ulpss/usb_stub.c
create mode 100644 drivers/usb/intel_ulpss/usb_stub.h
create mode 100644 include/linux/mfd/ljca.h
create mode 100644 include/linux/vsc.h
create mode 100644 include/media/ipu-isys.h
create mode 100644 include/uapi/linux/ipu-isys.h
create mode 100644 include/uapi/linux/ipu-psys.h
--
2.33.1
More information about the kernel-team
mailing list