-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
drivers/i3c: support i3c driver frameworks #13507
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add the SPDX identifier
- SPDX-License-Identifier: Apache-2.0
to the license
558de1b
to
e226d1a
Compare
Done~ |
drivers/i3c/device.c
Outdated
} | ||
|
||
/**************************************************************************** | ||
* Name: i3c_device_enable_ibi() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Name: i3c_device_enable_ibi() | |
* Name: i3c_device_enable_ibi |
drivers/i3c/device.c
Outdated
} | ||
|
||
/**************************************************************************** | ||
* Name: i3c_device_disable_ibi() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Name: i3c_device_disable_ibi() | |
* Name: i3c_device_disable_ibi |
drivers/i3c/device.c
Outdated
} | ||
|
||
/**************************************************************************** | ||
* Name: i3c_device_get_info() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Name: i3c_device_get_info() | |
* Name: i3c_device_get_info |
drivers/i3c/device.c
Outdated
****************************************************************************/ | ||
|
||
/**************************************************************************** | ||
* Name: i3c_device_do_priv_xfers() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Name: i3c_device_do_priv_xfers() | |
* Name: i3c_device_do_priv_xfers |
drivers/i3c/device.c
Outdated
} | ||
|
||
/**************************************************************************** | ||
* Name: i3c_device_request_ibi() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Name: i3c_device_request_ibi() | |
* Name: i3c_device_request_ibi |
drivers/i3c/master.c
Outdated
char devname[12]; | ||
int i2c_bus_id = i3c_master_to_i2c_bus_number(master); | ||
|
||
snprintf(devname, 12, "/dev/i2c%d", i2c_bus_id); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
snprintf(devname, 12, "/dev/i2c%d", i2c_bus_id); | |
snprintf(devname, sizeof(devname), "/dev/i2c%d", i2c_bus_id); |
drivers/i3c/master.c
Outdated
} | ||
|
||
/**************************************************************************** | ||
* Name: i2c_unregister_driver() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Name: i2c_unregister_driver() | |
* Name: i2c_unregister_driver |
drivers/i3c/master.c
Outdated
{ | ||
char devname[12]; | ||
|
||
snprintf(devname, 12, "/dev/i3c%d", i3c_master_to_i3c_bus_number(master)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sizeof
drivers/i3c/master.c
Outdated
} | ||
|
||
/**************************************************************************** | ||
* Name: i3c_master_get_free_addr() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Name: i3c_master_get_free_addr() | |
* Name: i3c_master_get_free_addr |
drivers/i3c/master.c
Outdated
} | ||
|
||
/**************************************************************************** | ||
* Name: i3c_generic_ibi_get_free_slot() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Name: i3c_generic_ibi_get_free_slot() | |
* Name: i3c_generic_ibi_get_free_slot |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done~
Reference to: https://github.com/torvalds/linux/tree/master/drivers/i3c Signed-off-by: dongjiuzhu1 <[email protected]>
Signed-off-by: yangshuyong <[email protected]>
Only affect the send ccc cmd in 3th driver Signed-off-by: yangshuyong <[email protected]>
Signed-off-by: yangshuyong <[email protected]>
Signed-off-by: yangshuyong <[email protected]>
Signed-off-by: dongjiuzhu1 <[email protected]>
…i2c device 1. if i3c_mater_register without i3c/i2c device, rstdaa/clearevents/do_daa could be failed 2. board code/driver code need to actively i3c_master_do_daa when device power on. Signed-off-by: dongjiuzhu1 <[email protected]>
Signed-off-by: dongjiuzhu1 <[email protected]>
Summary
drivers/i3c: support i3c driver frameworks
The I3C (Improved Inter-Integrated Circuit) driver is a comprehensive software framework designed to support the advanced features of the I3C protocol. It comprises a system framework and underlying IP drivers, both of which are critical components for enabling seamless communication between I3C devices. The system framework, provided by vela os, offers user-level device nodes and kernel-level driver function interfaces. Meanwhile, the underlying IP drivers, developed specifically for the I3C driver framework, handle the implementation of IP functionalities and the adaptation of framework-level interfaces.
Impact
support driver frameworks: i3c
Testing
Vela