[PATCH 00/13][SRU][OEM-5.13] Support MIPI camera through Intel IPU6
You-Sheng Yang
vicamo.yang at canonical.com
Thu Jul 29 06:48:19 UTC 2021
BugLink: https://bugs.launchpad.net/bugs/1921345
[Impact]
To bring Intel IPU6(Imaging Processing Unit version 6) to oem-5.13.
[Fix]
This patchset took kernel patches that have been included in oem-5.10 and two
more to address changes in kernel version differences.
[Test Case]
With kernel/firmware properly installed, the hardware should be ready for
further development:
$ dmesg | grep ipu
intel-ipu6 intel-ipu: enabling device (0000 -> 0002)
intel-ipu6 intel-ipu: Device 0x9a19 (rev: 0x1)
intel-ipu6 intel-ipu: physical base address 0x6054000000
intel-ipu6 intel-ipu: mapped as: 0x0000000097793328
intel-ipu6 intel-ipu: IPU in secure mode
intel-ipu6 intel-ipu: IPC reset done
intel-ipu6 intel-ipu: cpd file name: intel/ipu6_fw.bin
intel-ipu6 intel-ipu: FW version: 20201222
intel-ipu6 intel-ipu: Sending BOOT_LOAD to CSE
intel-ipu6 intel-ipu: Sending AUTHENTICATE_RUN to CSE
intel-ipu6 intel-ipu: CSE authenticate_run done
intel-ipu6 intel-ipu: IPU driver version 1.0
intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0
intel-ipu6-isys intel-ipu6-isys0: bind ov01a1s 20-0036 nlanes is 1
port is 1
intel-ipu6-isys intel-ipu6-isys0: All sensor registration completed.
intel-ipu6-isys intel-ipu6-isys0: stream on ov01a1s 20-0036
There should be a new video4linux device created under /dev.
[Where problems could occur]
The last patch contains addtional bits other than the need to address in
kernel mmap API changes. Not necessarily an issue, but at least that has not yet
received the same amount of verifications as oem-5.10 has.
[Other Info]
This SRU integrates fixes from several bugs for IPU6 previously for oem-5.10.
They are bug 1921345, 1926275, and 1929157.
Wang Yating (12):
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
You-Sheng Yang (1):
UBUNTU: [Config] updateconfigs for IPU6 driver
debian.oem/config/config.common.ubuntu | 5 +
drivers/media/i2c/Kconfig | 41 +
drivers/media/i2c/Makefile | 4 +
drivers/media/i2c/hm11b1.c | 1366 +++++++++++++
drivers/media/i2c/ov01a1s.c | 936 +++++++++
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 | 21 +
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 | 1399 +++++++++++++
drivers/media/pci/intel/ipu-buttress.h | 129 ++
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.h | 63 +
drivers/media/pci/intel/ipu-isys-csi2.c | 631 ++++++
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 | 657 +++++++
drivers/media/pci/intel/ipu-isys-subdev.h | 153 ++
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 | 1383 +++++++++++++
drivers/media/pci/intel/ipu-isys.h | 228 +++
drivers/media/pci/intel/ipu-mmu.c | 860 ++++++++
drivers/media/pci/intel/ipu-mmu.h | 76 +
drivers/media/pci/intel/ipu-pdata.h | 242 +++
drivers/media/pci/intel/ipu-psys-compat32.c | 226 +++
drivers/media/pci/intel/ipu-psys.c | 1628 +++++++++++++++
drivers/media/pci/intel/ipu-psys.h | 218 ++
drivers/media/pci/intel/ipu-trace.c | 869 ++++++++
drivers/media/pci/intel/ipu-trace.h | 146 ++
drivers/media/pci/intel/ipu.c | 821 ++++++++
drivers/media/pci/intel/ipu.h | 108 +
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 | 863 ++++++++
.../media/pci/intel/ipu6/ipu6-fw-resources.c | 595 ++++++
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 | 205 ++
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 | 561 ++++++
drivers/media/pci/intel/ipu6/ipu6-ppg.h | 38 +
drivers/media/pci/intel/ipu6/ipu6-psys-gpc.c | 212 ++
drivers/media/pci/intel/ipu6/ipu6-psys.c | 1056 ++++++++++
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/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/media/ipu-isys.h | 44 +
include/uapi/linux/ipu-isys.h | 15 +
include/uapi/linux/ipu-psys.h | 121 ++
95 files changed, 31032 insertions(+), 2 deletions(-)
create mode 100644 drivers/media/i2c/hm11b1.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.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-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/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/media/ipu-isys.h
create mode 100644 include/uapi/linux/ipu-isys.h
create mode 100644 include/uapi/linux/ipu-psys.h
--
2.31.1
More information about the kernel-team
mailing list