Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i3c: add sedi i3c driver #75481

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

leifuzhao
Copy link
Contributor

This gives initial support to the design ware i3c controller used in intel ish.

@leifuzhao leifuzhao requested a review from dcpleung as a code owner July 5, 2024 02:39
@zephyrbot zephyrbot added platform: X86 x86 and x86-64 area: I3C area: Devicetree Binding PR modifies or adds a Device Tree binding platform: Intel ISH Intel Corporation, Integrated Sensor Hub labels Jul 5, 2024
This gives initial support to the design ware i3c controller used
in intel ish.

Signed-off-by: Leifu Zhao <[email protected]>
@zephyrbot
Copy link
Collaborator

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
hal_intel zephyrproject-rtos/hal_intel@0905a52 (main) zephyrproject-rtos/hal_intel@98092b7 zephyrproject-rtos/[email protected]

Note: This message is automatically posted and updated by the Manifest GitHub Action.

Copy link
Member

@XenuIsWatching XenuIsWatching left a comment

Choose a reason for hiding this comment

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

Theres many many issues here with this PR... I'm not sure where to begin

If this really is the snps designware i3c as the description implies, then this is a duplicate of #64528

Copy link
Member

@gmarull gmarull left a comment

Choose a reason for hiding this comment

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

work should converge to #64528, agreed this proposal has quite a few issues

@leifuzhao
Copy link
Contributor Author

Theres many many issues here with this PR... I'm not sure where to begin

If this really is the snps designware i3c as the description implies, then this is a duplicate of #64528

The zephyr driver has two modes. One is native driver mode, the other is the HAL mode, the two mode drivers could co-exist. The ISH drivers use HAL mode, for example, the previous upstreamed i2c driver uses sedi HAL to perform low level operation and config while there is another native i2c driver for the same designware i2c IP. The ISH i3c driver follows the same way with other upstreamed ISH drivers such as i2c driver. So this PR could co-exist with PR #64528, they fulfill different job.

@gmarull
Copy link
Member

gmarull commented Aug 20, 2024

Theres many many issues here with this PR... I'm not sure where to begin
If this really is the snps designware i3c as the description implies, then this is a duplicate of #64528

The zephyr driver has two modes. One is native driver mode, the other is the HAL mode, the two mode drivers could co-exist. The ISH drivers use HAL mode, for example, the previous upstreamed i2c driver uses sedi HAL to perform low level operation and config while there is another native i2c driver for the same designware i2c IP. The ISH i3c driver follows the same way with other upstreamed ISH drivers such as i2c driver. So this PR could co-exist with PR #64528, they fulfill different job.

-1 on using HALs for generic IPs like Synopsys DW I3C. Vendor-specific code should only exist for any wrapper/vendor quirks.

@leifuzhao
Copy link
Contributor Author

Theres many many issues here with this PR... I'm not sure where to begin
If this really is the snps designware i3c as the description implies, then this is a duplicate of #64528

The zephyr driver has two modes. One is native driver mode, the other is the HAL mode, the two mode drivers could co-exist. The ISH drivers use HAL mode, for example, the previous upstreamed i2c driver uses sedi HAL to perform low level operation and config while there is another native i2c driver for the same designware i2c IP. The ISH i3c driver follows the same way with other upstreamed ISH drivers such as i2c driver. So this PR could co-exist with PR #64528, they fulfill different job.

-1 on using HALs for generic IPs like Synopsys DW I3C. Vendor-specific code should only exist for any wrapper/vendor quirks.

The HAL code used is not stay in zephyr repo, rather it resides in another opensource repo, the code submitted here for upstreaming only only contains API calls to HAL.

@gmarull
Copy link
Member

gmarull commented Aug 20, 2024

Theres many many issues here with this PR... I'm not sure where to begin
If this really is the snps designware i3c as the description implies, then this is a duplicate of #64528

The zephyr driver has two modes. One is native driver mode, the other is the HAL mode, the two mode drivers could co-exist. The ISH drivers use HAL mode, for example, the previous upstreamed i2c driver uses sedi HAL to perform low level operation and config while there is another native i2c driver for the same designware i2c IP. The ISH i3c driver follows the same way with other upstreamed ISH drivers such as i2c driver. So this PR could co-exist with PR #64528, they fulfill different job.

-1 on using HALs for generic IPs like Synopsys DW I3C. Vendor-specific code should only exist for any wrapper/vendor quirks.

The HAL code used is not stay in zephyr repo, rather it resides in another opensource repo, the code submitted here for upstreaming only only contains API calls to HAL.

This approach doesn't make sense for vendor-agnostic IP.

@decsny decsny removed their request for review August 20, 2024 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Devicetree Binding PR modifies or adds a Device Tree binding area: I3C manifest manifest-hal_intel platform: Intel ISH Intel Corporation, Integrated Sensor Hub platform: X86 x86 and x86-64
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants