diff options
| author | Stephen Boyd <sboyd@kernel.org> | 2019-06-24 17:52:29 -0700 |
|---|---|---|
| committer | Stephen Boyd <sboyd@kernel.org> | 2019-06-24 17:52:29 -0700 |
| commit | 0af69227ed9fc4ac62f8542e52aba98fc2c7945b (patch) | |
| tree | 91cb8ff90a7308c5c1aac583c9725fe274ca9268 /include | |
| parent | a188339ca5a396acc588e5851ed7e19f66b0ebd9 (diff) | |
| parent | 81f4458c9c6998fcd37c427d16d76d4dba65d015 (diff) | |
| download | linux-0af69227ed9fc4ac62f8542e52aba98fc2c7945b.tar.gz linux-0af69227ed9fc4ac62f8542e52aba98fc2c7945b.tar.bz2 linux-0af69227ed9fc4ac62f8542e52aba98fc2c7945b.zip | |
Merge tag 'keystone-clk-for-5.3-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kristo/linux into clk-ti
Pull TI Keystone clk driver changes from Tero Kristo:
- Add support for 32 bit clock IDs for sci-clks, this is needed
for the new J721e SoC which has a few devices that have more than
255 clocks associated to them.
- Clock probing done from DT by default instead of firmware side.
Scanning clocks from DT is much faster than firmware, and also we
can omit unnecessary clocks which saves even more time. This has been
done in the interest of saving boot time.
- Remove the device tree node path from the registered sci-clk names.
This mainly makes the debugfs interface more readable.
- Also contains a single drivers/firmware change which needs to go in
via this pull-request; to support the 32bit clock IDs.
* tag 'keystone-clk-for-5.3-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kristo/linux:
firmware: ti_sci: extend clock identifiers from u8 to u32
clk: keystone: sci-clk: extend clock IDs to 32 bits
clk: keystone: sci-clk: probe clocks from DT instead of firmware
clk: keystone: sci-clk: split out the fw clock parsing to own function
clk: keystone: sci-clk: cut down the clock name length
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/soc/ti/ti_sci_protocol.h | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/include/linux/soc/ti/ti_sci_protocol.h b/include/linux/soc/ti/ti_sci_protocol.h index 568722a041bf..406e6717d252 100644 --- a/include/linux/soc/ti/ti_sci_protocol.h +++ b/include/linux/soc/ti/ti_sci_protocol.h @@ -166,29 +166,29 @@ struct ti_sci_dev_ops { * managed by driver for that purpose. */ struct ti_sci_clk_ops { - int (*get_clock)(const struct ti_sci_handle *handle, u32 did, u8 cid, + int (*get_clock)(const struct ti_sci_handle *handle, u32 did, u32 cid, bool needs_ssc, bool can_change_freq, bool enable_input_term); - int (*idle_clock)(const struct ti_sci_handle *handle, u32 did, u8 cid); - int (*put_clock)(const struct ti_sci_handle *handle, u32 did, u8 cid); - int (*is_auto)(const struct ti_sci_handle *handle, u32 did, u8 cid, + int (*idle_clock)(const struct ti_sci_handle *handle, u32 did, u32 cid); + int (*put_clock)(const struct ti_sci_handle *handle, u32 did, u32 cid); + int (*is_auto)(const struct ti_sci_handle *handle, u32 did, u32 cid, bool *req_state); - int (*is_on)(const struct ti_sci_handle *handle, u32 did, u8 cid, + int (*is_on)(const struct ti_sci_handle *handle, u32 did, u32 cid, bool *req_state, bool *current_state); - int (*is_off)(const struct ti_sci_handle *handle, u32 did, u8 cid, + int (*is_off)(const struct ti_sci_handle *handle, u32 did, u32 cid, bool *req_state, bool *current_state); - int (*set_parent)(const struct ti_sci_handle *handle, u32 did, u8 cid, - u8 parent_id); - int (*get_parent)(const struct ti_sci_handle *handle, u32 did, u8 cid, - u8 *parent_id); + int (*set_parent)(const struct ti_sci_handle *handle, u32 did, u32 cid, + u32 parent_id); + int (*get_parent)(const struct ti_sci_handle *handle, u32 did, u32 cid, + u32 *parent_id); int (*get_num_parents)(const struct ti_sci_handle *handle, u32 did, - u8 cid, u8 *num_parents); + u32 cid, u32 *num_parents); int (*get_best_match_freq)(const struct ti_sci_handle *handle, u32 did, - u8 cid, u64 min_freq, u64 target_freq, + u32 cid, u64 min_freq, u64 target_freq, u64 max_freq, u64 *match_freq); - int (*set_freq)(const struct ti_sci_handle *handle, u32 did, u8 cid, + int (*set_freq)(const struct ti_sci_handle *handle, u32 did, u32 cid, u64 min_freq, u64 target_freq, u64 max_freq); - int (*get_freq)(const struct ti_sci_handle *handle, u32 did, u8 cid, + int (*get_freq)(const struct ti_sci_handle *handle, u32 did, u32 cid, u64 *current_freq); }; |
