Lines Matching +full:per +full:- +full:soc

5 (C) 2009-2010 Nishanth Menon <nm@ti.com>, Texas Instruments Incorporated
20 -------------------------------------------------
22 Complex SoCs of today consists of a multiple sub-modules working in conjunction.
23 In an operational system executing varied use cases, not all modules in the SoC
25 facilitate this, sub-modules in a SoC are grouped into domains, allowing some
30 the device will support per domain are called Operating Performance Points or
41 - {300000000, 1000000}
42 - {800000000, 1200000}
43 - {1000000000, 1300000}
46 ----------------------------------------
57 (users) -> registers a set of default OPPs -> (library)
58 SoC framework -> modifies on required cases certain OPPs -> OPP layer
59 -> queries to search/retrieve information ->
61 OPP layer expects each domain to be represented by a unique device pointer. SoC
62 framework registers a set of initial OPPs per device with the OPP layer. This
63 list is expected to be an optimally small number typically around 5 per device.
70 As the system proceeds to operate, SoC framework may choose to make certain
73 SoC framework might choose to disable a higher frequency OPP to safely continue
74 operations until that OPP could be re-enabled if possible.
89 the SoC specific framework which uses the OPP library. Similar care needs
94 The SoC implementation calls dev_pm_opp_add function iteratively to add OPPs per
95 device. It is expected that the SoC framework will register the OPP entries
96 optimally- typical numbers range to be less than 5. The list generated by
98 operation. The SoC framework can subsequently control the availability of the
107 This function may be used by SoC framework to define a optimal list
108 as per the demands of SoC usage environment.
145 Example: In a case when SoC framework detects a situation where a
186 Example 2: A simplified implementation of a SoC cpufreq_driver->target::
205 availability of a OPP within the OPP list. This allows SoC frameworks to have
216 SoC temperature is lower than a certain threshold. The SoC framework
233 exceeds a threshold value. The SoC framework implementation might
251 retrieved using the search functions, the following functions can be used by SoC
256 Example: At a cpufreq transition to a different frequency, SoC
274 Example: Lets say the SoC framework uses a couple of helper functions
293 return -EINVAL;
295 return -EINVAL;
301 Example: Lets say a co-processor in the SoC needs to know the available
324 Typically an SoC contains multiple voltage domains which are variable. Each
328 SoC
329 |- device 1
330 | |- opp 1 (availability, freq, voltage)
331 | |- opp 2 ..
333 | `- opp n ..
334 |- device 2
336 `- device m
338 OPP library maintains a internal list that the SoC framework populates and
348 provided back to the users such as SoC framework to be used as a
360 OPP library such as the SoC framework.
366 +-----+ /- dev_pm_opp_enable
367 dev_pm_opp_add --> | opp | <-------
368 | +-----+ \- dev_pm_opp_disable
369 \-------> domain_info(device)
372 /-- dev_pm_opp_find_freq_ceil ---\ +-----+
373 domain_info<---- dev_pm_opp_find_freq_exact -----> | opp |
374 \-- dev_pm_opp_find_freq_floor ---/ +-----+
377 +-----+ /- dev_pm_opp_get_voltage
378 | opp | <---
379 +-----+ \- dev_pm_opp_get_freq
381 domain_info <- dev_pm_opp_get_opp_count