Skip to content

Software i2c addr aliasing - #327

Merged
ymodlin merged 8 commits into
devfrom
D4xx_SW_i2c_addr_aliasing
Feb 19, 2026
Merged

Software i2c addr aliasing#327
ymodlin merged 8 commits into
devfrom
D4xx_SW_i2c_addr_aliasing

Conversation

@ejgoldik

Copy link
Copy Markdown
Contributor

To allow for deserializer boards which do not have the I2C mux that aliases 8 i2c addr (30 - 37) to i2c 0, we define all devices under i2c@0 with virtual addr 0x1b-0x1d, and in the driver override them with 0x1a

@ymodlin

ymodlin commented Dec 24, 2025

Copy link
Copy Markdown
Collaborator

need to check why it's not passing CI

@ymodlin ymodlin closed this Dec 30, 2025
@ymodlin ymodlin reopened this Dec 30, 2025
@ejgoldik
ejgoldik force-pushed the D4xx_SW_i2c_addr_aliasing branch from f447fbe to 4b4e0e3 Compare February 1, 2026 06:41
Copilot AI review requested due to automatic review settings February 1, 2026 06:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements software-based I2C address aliasing to support deserializer boards without hardware I2C multiplexers. Instead of requiring separate I2C buses (0x30-0x37) for each sensor, all four D4xx sensors (Depth, RGB, IR, IMU) are now defined on a single I2C bus using virtual addresses (0x1b-0x1d) that the driver overrides to the physical address (0x1a).

Changes:

  • Removed Intel IPU6-specific code and preprocessor directives throughout the driver
  • Implemented override_reg device tree property to alias virtual I2C addresses to physical address 0x1a
  • Consolidated multiple I2C bus definitions into a single bus with address aliasing in device tree files

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
probe_flow_sequence_diagram_single_bus.md New documentation describing single-bus architecture with I2C address aliasing
probe_flow_sequence_diagram.md New documentation describing original multi-bus architecture
kernel/realsense/d4xx.c Driver implementation of address override mechanism and removal of IPU6-specific code
hardware/realsense/tegra234-camera-d4xx-overlay.dts Device tree changes consolidating sensors to single bus with virtual addresses
hardware/realsense/tegra194-camera-d4xx-single.dtsi Device tree changes consolidating sensors to single bus with virtual addresses

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread kernel/realsense/d4xx.c
Comment thread kernel/realsense/d4xx.c
Comment thread hardware/realsense/tegra234-camera-d4xx-overlay.dts
Comment thread hardware/realsense/tegra234-camera-d4xx-overlay.dts Outdated
@ejgoldik
ejgoldik force-pushed the D4xx_SW_i2c_addr_aliasing branch from 4b4e0e3 to 23544ba Compare February 1, 2026 13:45
@ejgoldik
ejgoldik force-pushed the D4xx_SW_i2c_addr_aliasing branch 2 times, most recently from 0c2dd09 to a4f7be8 Compare February 11, 2026 12:44
@ejgoldik
ejgoldik force-pushed the D4xx_SW_i2c_addr_aliasing branch 2 times, most recently from 345b9b4 to bacafdc Compare February 18, 2026 12:42
ejgoldik and others added 8 commits February 19, 2026 08:40
To allow for deserializer boards which do not have the I2C mux
that aliases 8 i2c addr (30 - 37) to i2c 0, we define all devices
under i2c@0 with virtual addr 0x1b-0x1d, and in the driver override
them with 0x1a

Signed-off-by: ejgoldik <ehud.joseph.goldik@intel.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@intel.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@intel.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@intel.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
Signed-off-by: ejgoldik <ehud.joseph.goldik@realsenseai.com>
@ejgoldik
ejgoldik force-pushed the D4xx_SW_i2c_addr_aliasing branch from bacafdc to 27130dd Compare February 19, 2026 06:41
@ymodlin
ymodlin self-requested a review February 19, 2026 06:44
@ymodlin
ymodlin merged commit 0bfa678 into dev Feb 19, 2026
6 checks passed
@ymodlin
ymodlin deleted the D4xx_SW_i2c_addr_aliasing branch February 19, 2026 06:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants