Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 22 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,35 +33,36 @@ This repository contains reference drivers and configurations for Intel MIPI CSI

| GMSL Sensor | User Guide | Vendor | IPU6EP | IPU6EPMTL | IPU75XA | IPU8 |
|---------------------------------------------|---------------------------------------------|-----------------|:------:|:---------:|:-------:|:----:|
| [AR0233+GW5300](doc/ar0233/kernelspace.md) | [User Guide](doc/ar0233/userspace-gmsl.md) | Sensing |❌ |✅|✅|❌|
| [AR0234](doc/ar0234/kernelspace.md) | [User Guide](doc/ar0234/userspace-gmsl.md) | D3 Embedded |❌ |✅|✅|✅|
| [AR0820+GW5300](doc/ar0820/kernelspace.md) | [User Guide](doc/ar0820/userspace-gmsl.md) | Sensing |❌ |✅|✅|❌|
| D457 | [User Guide](doc/d4xx/userspace-gmsl.md) | RealSense |❌ |✅|✅|✅|
| [ISX031](doc/isx031/kernelspace.md) | [User Guide](doc/isx031/userspace-gmsl.md) | D3 Embedded |✅*|✅|✅|✅|
| [ISX031](doc/isx031/kernelspace.md) | [User Guide](doc/isx031/userspace-gmsl.md) | Leopard Imaging |✅*|✅|✅|✅|
| [ISX031](doc/isx031/kernelspace.md) | [User Guide](doc/isx031/userspace-gmsl.md) | Sensing |✅*|✅|✅|✅|
| [AR0233+GW5300](doc/ar0233/kernelspace.md) | [User Guide](doc/ar0233/userspace-gmsl.md) | Sensing |❌ |✅B|✅B|❌ |
| [AR0234](doc/ar0234/kernelspace.md) | [User Guide](doc/ar0234/userspace-gmsl.md) | D3 Embedded |❌ |✅ |✅A|✅A|
| [AR0820+GW5300](doc/ar0820/kernelspace.md) | [User Guide](doc/ar0820/userspace-gmsl.md) | Sensing |❌ |✅B|✅B|❌ |
| D457 | [User Guide](doc/d4xx/userspace-gmsl.md) | RealSense |❌ |✅ |✅ |✅ |
| [ISX031](doc/isx031/kernelspace.md) | [User Guide](doc/isx031/userspace-gmsl.md) | D3 Embedded |✅B|✅ |✅ |✅ |
| [ISX031](doc/isx031/kernelspace.md) | [User Guide](doc/isx031/userspace-gmsl.md) | Leopard Imaging |✅B|✅ |✅ |✅ |
| [ISX031](doc/isx031/kernelspace.md) | [User Guide](doc/isx031/userspace-gmsl.md) | Sensing |✅B|✅ |✅ |✅ |


| MIPI Sensor | User Guide | Vendor | IPU6EP | IPU6EPMTL | IPU75XA | IPU8 |
|---------------------------------------------|---------------------------------------------|-----------------|:------:|:---------:|:-------:|:----:|
| [AR0234](doc/ar0234/kernelspace.md) | [User Guide](doc/ar0234/userspace-mipi.md) | D3 Embedded |❌ |✅ |✅ |✅|
| [AR0830+AP1302](doc/ar0830/kernelspace.md) | [User Guide](doc/ar0830/userspace-mipi.md) | Leopard Imaging |❌ |✅*|✅*|❌|
| IMX415 | [User Guide](doc/imx415/userspace-mipi.md) | Leopard Imaging |❌ |✅*|❌ |❌|
| [IMX586](doc/imx586/kernelspace.md) | [User Guide](doc/imx586/userspace-mipi.md) | Leopard Imaging |❌ |✅*|❌ |❌|
| [ISX031](doc/isx031/kernelspace.md) | [User Guide](doc/isx031/userspace-mipi.md) | D3 Embedded |✅*|✅ |✅ |✅|
| [ISX031](doc/isx031/kernelspace.md) | [User Guide](doc/isx031/userspace-mipi.md) | Sensing |✅*|✅*|✅*|❌|
| OV13B10 | [User Guide](doc/ov13b10/userspace-mipi.md) | Leopard Imaging |❌ |❌ |✅ |✅|
| [AR0234](doc/ar0234/kernelspace.md) | [User Guide](doc/ar0234/userspace-mipi.md) | D3 Embedded |❌ |✅B|✅B|✅B|
| [AR0830+AP1302](doc/ar0830/kernelspace.md) | [User Guide](doc/ar0830/userspace-mipi.md) | Leopard Imaging |❌ |✅B|✅B|❌ |
| IMX415 | [User Guide](doc/imx415/userspace-mipi.md) | Leopard Imaging |❌ |✅B|❌ |❌ |
| [IMX586](doc/imx586/kernelspace.md) | [User Guide](doc/imx586/userspace-mipi.md) | Leopard Imaging |❌ |✅B|❌ |❌ |
| [ISX031](doc/isx031/kernelspace.md) | [User Guide](doc/isx031/userspace-mipi.md) | D3 Embedded |✅B|✅ |✅ |✅ |
| [ISX031](doc/isx031/kernelspace.md) | [User Guide](doc/isx031/userspace-mipi.md) | Sensing |✅B|✅B|✅B|❌ |
| OV13B10 | [User Guide](doc/ov13b10/userspace-mipi.md) | Leopard Imaging |❌ |❌ |✅ |✅ |

> **Note:** \
> Items marked with ✅ are enabled by BIOS and ASL method. \
> Items marked with ✅* are enabled by BIOS method ONLY.\
> Items marked with ✅B are enabled by BIOS method ONLY. \
> Items marked with ✅A are enabled by ASL method ONLY. \
> Items marked with ❌ are not enabled by BIOS or ASL method.

> **Note:** \
IPU6EP represents TWL platforms; \
IPU6EPMTL represents MTL and ARL platforms; \
IPU75XA represents PTL platforms; \
IPU8 represents NVL platforms.
> IPU6EP represents TWL platforms. \
> IPU6EPMTL represents MTL and ARL platforms. \
> IPU75XA represents PTL platforms. \
> IPU8 represents NVL platforms.

---
## Supported Ubuntu and Kernel Version
Expand All @@ -81,8 +82,8 @@ IPU8 represents NVL platforms.
| | 26.04 | 7.0 | |✅|✅|

> **Note:** \
> ✅* indicates that ASL support is **NOT AVAILABLE** for 6.18 (BKC) **by default**. Please rebuild the 6.18 Kernel Overlay with ASL support enabled. For more details, please refer to [doc/acpi/kernelspace.md](doc/acpi/kernelspace.md).\
> To use Intel BKC, please refer [here](#intel-bkc-using-getting-started-guide-gsg) for more details.
> ✅* indicates that ASL support is **NOT AVAILABLE by default** for 6.18 (BKC). Please rebuild the 6.18 Kernel Overlay with ASL support enabled. For more details, please refer to [Kernel Dependencies](doc/acpi/kernelspace.md#kernel-dependencies-for-ssdt-asl-method).\
> To use Intel BKC, please refer to [Intel BKC Using Getting Started Guide (GSG)](#intel-bkc-using-getting-started-guide-gsg) for more details.

---
## Directory Structure
Expand Down
6 changes: 6 additions & 0 deletions acpi/ipu7/_ser_common_max9295.asl
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,9 @@ Name(_CRS, ResourceTemplate () // _CRS: Current Resource Settings
#endif
#ifdef DESCH_SER_FSIN_GPIO
DESCH_SER_FSIN_GPIO, // Extra pin (e.g. MFP7 on MAX9295)
#endif
#ifdef DESCH_SER_FSIN_GPIO_2
DESCH_SER_FSIN_GPIO_2, // Extra pin (e.g. MFP7 on MAX9295)
#endif
}
})
Expand Down Expand Up @@ -157,6 +160,9 @@ Name (MFP, Package()
#ifdef DESCH_SER_FSIN_GPIO
Package () { "gmsl-frame-sync-gpio-pin", DESCH_SER_FSIN_GPIO },
#endif
#ifdef DESCH_SER_FSIN_GPIO_2
Package () { "gmsl-frame-sync-gpio-pin-2", DESCH_SER_FSIN_GPIO_2 },
#endif
},
})
#endif
Expand Down
6 changes: 5 additions & 1 deletion acpi/ipu7/robinson_bay/3_d3_isx031_1_d457_frame_sync.asl
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
*/


DefinitionBlock ("", "SSDT", 2, "", "IMG_ROB", 0x20260827)
DefinitionBlock ("", "SSDT", 2, "", "IMG_ROB", 0x20260909)
{
External (_SB.PC00, DeviceObj)

Expand Down Expand Up @@ -256,6 +256,7 @@ DefinitionBlock ("", "SSDT", 2, "", "IMG_ROB", 0x20260827)
#define DESCH_SER_Z_VC Package () { 2 }
#define DESCH_SER_U_VC Package () { 3 }
#define DESCH_SER_FSIN_GPIO 0
#define DESCH_SER_FSIN_GPIO_2 1
#define DESCH_SER_FSYNC_RX_ID 7
#define CAM_ALIAS 0x55
#define CAM_LANES 2
Expand All @@ -278,6 +279,9 @@ DefinitionBlock ("", "SSDT", 2, "", "IMG_ROB", 0x20260827)
#ifdef DESCH_SER_FSIN_GPIO
#undef DESCH_SER_FSIN_GPIO
#endif
#ifdef DESCH_SER_FSIN_GPIO_2
#undef DESCH_SER_FSIN_GPIO_2
#endif
#ifdef DESCH_SER_FSYNC_RX_ID
#undef DESCH_SER_FSYNC_RX_ID
#endif
Expand Down
27 changes: 27 additions & 0 deletions doc/acpi/kernelspace.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ This document contains information of imaging specific ACPI SSDT ASL sources com
<li><a href="#what-are-acpi-asl-source-files">What are ACPI ASL Source Files?</a></li>
<li><a href="#reference-asl-source-files">Reference ASL Source Files</a></li>
<li><a href="#asl-source-files-for-different-use-cases">ASL Source Files for Different Use Cases</a></li>
<li><a href="#kernel-dependencies-for-ssdt-asl-method">Kernel Dependencies for SSDT ASL Method</a></li>
<li><a href="#compile-and-load">Compile and Load ACPI ASL Source Files</a></li>
</ol>
</details>
Expand Down Expand Up @@ -285,6 +286,32 @@ Make sure the below ASL source files are at least a **subset** of your current h

<p align="right">(<a href="#compile-and-load">Go to Compile and Load</a>)</p>

## Kernel Dependencies for SSDT ASL method

For GMSL setups using SSDT ASL method, the base kernel needs the following kernel configs to be enabled. If they are not enabled, rebuild your kernel with below kernel configs.

CONFIG_COMPILE_TEST=y
CONFIG_I2C_ATR=m

>**Note:** `CONFIG_COMPILE_TEST` is a dependency config for `CONFIG_I2C_ATR`.

To rebuild [Intel Linux-Kernel-Overlay](https://github.com/intel/linux-kernel-overlay.git), follow the instructions in [Intel BKC using Getting Started Guide (GSG)](../../README.md#intel-bkc-using-getting-started-guide-gsg).
Before running `build.sh`, add above configs to `kernel-config/features/ipu.cfg`.

If you are rebuilding kernel from other source, make sure to add the configs into `.config` and run `make olddefconfig` before building the kernel.

After installing the kernel and reboot, verify `i2c_atr` module is present and used by `max_serdes`.

If `CONFIG_I2C_ATR=m`, verify the `i2c_atr` module is loaded:

lsmod | grep i2c_atr

You should see output similar to below:

i2c_atr 24576 1 max_serdes

If `CONFIG_I2C_ATR=y`, there will be no `lsmod` output for `i2c_atr`.

## Compile and Load

This section contains steps to compile your ASL source files into AML binary tables, and load them into the kernel during boot. The steps are as follows:
Expand Down
3 changes: 2 additions & 1 deletion doc/d4xx/userspace-gmsl.md
Original file line number Diff line number Diff line change
Expand Up @@ -522,6 +522,7 @@ MMAP Command
<summary>device-name</summary>

| AIC Link | Stream | device-name |
| ---------------- | ------ | ------------ |
| A or DES0 Link 0 | Depth | d4xx-1-depth |
| A or DES0 Link 0 | RGB | d4xx-1-rgb |
| A or DES0 Link 0 | IR | d4xx-1-ir |
Expand Down Expand Up @@ -553,7 +554,7 @@ For more details, please refer to icamerasrc device-name property for more detai
<summary> num-vc </summary>

| use case | num-vc |
| --- | --- | --- |
| --- | --- |
| 1x stream | 1 |
| 2x stream | 2 |
| 3x stream | 3 |
Expand Down
Loading