v1.60:OMAP543x ES2.0 support #9

Merged
merged 49 commits into from Dec 6, 2012

Conversation

Projects
None yet
2 participants
Collaborator

ptitiano commented Dec 6, 2012

Changelog:

- [MODULE][SYSCONFIG][AUDIT] reworked sysconfig audit
- [MODULE][CLKSPEED][AUDIT] reworked clkspeed audit
- [OMAP5][MODULE] rework "show opp" and "show pwst" to use new generic frameworks
- [VOLTDM] handle new OMAP543x ES2.0 voltage domain status registers
- [TRACE][OMAP4470][OMAP5] add EMIF total read and write bandwidth item to trace perf
- [PWRDM][EMU] move EMU domain enable/disable functions to powerdomain lib
- [TRACE][PERF][SETUP] fix segfault when default setup file cannot be created
- [OMAP5][PRCM] handle ES2.0 module changes in CM_xyz_CLKCTRL registers
- [OMAP5][PRCM] handle ES2.0 changes in CM_xyz_CLKSTCTRL registers
- [OMAP5][MODULE] handle OMAP543x ES2.x PRCM registers changes in module info list
- [OMAP5][MODULE][OPP] handle OMAP543x ES2.0 MPU and GPU frequency changes
- [OMAP5][PRCM][CLOCK] handle OMAP543x ES2.0 clock tree changes
- [OMAP5][DPLL] handle OMAP543x ES2.0 DPLLs changes
- [OMAP5][CTRLMOD] handle OMAP543x ES2.0 Control Module changes
- [OMAP5][EMIF] handle OMAP543x ES2.0 EMIF changes
- [OMAP5][SYSCONFIG][MODULE] fix BB2D sysconfig register
- [OMAP5][PRCM] handle OMAP543x ES2.0 PRM changes
- [OMAP5][PRCM] handle OMAP543x ES2.0 CM changes
- [OMAP5][MODULE] handle added/removed modules in OMAP543x ES2.0
- [OMAP5][MODULE] fix missing PoR OPP rate for GPIO modules
- [OMAP5] handle no L4PER power domain in OMAP543x ES2.0
- [OMAP5][CPUDETECT] allow user to select forced OMAP543x ES1.0 or ES2.0
- [OMAP5] OMAP543x ES2.0 DIEID detection
- [REGRESSIONTESTSUITE] add EMIF test, remove kernel clock test, do not use register import
- [MODULE] introduce generic module layer
- [PWRDM] introduce generic power domain layer
- [CLKDM] introduce generic clock domain layer
- [I2C] update to I2C Tools library v3.1.0

Patrick Titiano added some commits Nov 19, 2012

Patrick Titiano [I2C] update to I2C Tools library v3.1.0
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
89f80ab
Patrick Titiano [OMAP5] OMAP543x ES2.0 DIEID detection
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
0167647
Patrick Titiano [OMAP5][CPUDETECT] allow user to select forced OMAP543x ES1.0 or ES2.0
By default, ES2.0 (final product) is selected if user selects "omap543x".
To force ES1.0 (deprecated), user must select "omap543xes1".

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
ad30bed
Patrick Titiano fix do not call xyz_deinit() functions when cpu is not correctly dete…
…cted

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
5ac3ab9
Patrick Titiano [OMAP5] handle no L4PER power domain in OMAP543x ES2.0
L4PER power domain is removed from OMAP543x ES2.0.
Modules moved to CORE power domain instead.
Update tables and code accordingly.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
0ad200e
Patrick Titiano [OMAP][PRCM][CLKDM] move PRCM clock domain files to arch/arm/mach-oma…
…p/common

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
3decda7
Patrick Titiano [OMAP][PRCM][PWRDM] move PRCM power domain files to arch/arm/mach-oma…
…p/common

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
f79a254
Patrick Titiano [OMAP5][MODULE] fix missing PoR OPP rate for GPIO modules
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
9faf488
Patrick Titiano [CLKDM] introduce generic clock domain layer
Introduce a generic clock domain layer, that will provide high-level
APIs to be reused by any function needing to access clock domain data.
No more call into cpu-specific layers should be done starting now.

Still to be done: complete API list, update all function calls to use
this new APIs instead of cpu-specific APIs.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
8d56ba6
Patrick Titiano [PWRDM] introduce generic power domain layer
Introduce a generic power domain layer, that will provide high-level
APIs to be reused by any function needing to access power domain data.
No more call into cpu-specific layers should be done starting now.

Still to be done: complete API list, update all function calls to use
this new APIs instead of cpu-specific APIs, OMAP4 support.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
3225a76
Patrick Titiano [MODULE] introduce generic module layer
Introduce a generic module layer, that will provide high-level
APIs to be reused by any function needing to access module data.
No more call into cpu-specific layers should be done starting now.

Still to be done: complete API list, update all function calls to use
this new APIs instead of cpu-specific APIs, OMAP4 support.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
b133d99
Patrick Titiano [MODULE][CLKDM][PWRDM] integrate new module, power domain, clock doma…
…in generic layers

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
69c66ca
Patrick Titiano file reorganisation
Move files to arch/plat specific folders.
Create sub-folders in plat to group prcm/dpll/pmi/... files.
Update Makefile accordingly.
Clarify Makefile by making it more easily readable.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
b6cf27c
Patrick Titiano [OMAP5][MODULE] handle added/removed modules in OMAP543x ES2.0
Handle added/removed modules in OMAP543x ES2.0 modules list.
Still to be done: fill clock, opp, properties fields.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
e5e28f0
Patrick Titiano [OMAP5][PRCM] add 'es1' prefix to all OMAP5430 data to prepare new ES…
…2.0 ones

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
3c2f1c8
Patrick Titiano [OMAP5][PRCM] handle OMAP543x ES2.0 CM changes
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
54df3a7
Patrick Titiano [OMAP5][PRCM] handle OMAP543x ES2.0 PRM changes
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
7213f44
Patrick Titiano [OMAP5][SYSCONFIG][MODULE] fix BB2D sysconfig register
BB2D does not have any SYSCONFIG register.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
647c741
Patrick Titiano [OMAP5][EMIF] handle OMAP543x ES2.0 EMIF changes
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
33fe335
Patrick Titiano [OMAP5][CTRLMOD] handle OMAP543x ES2.0 Control Module changes
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
8e1ba8c
Patrick Titiano [OMAP5][DPLL] handle OMAP543x ES2.0 DPLLs changes
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
c48beca
Patrick Titiano [OMAP5][PRCM][CLOCK] handle OMAP543x ES2.0 clock tree changes
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
4c0823e
Patrick Titiano [CLOCKDOMAIN] complete clock domain generic abstraction layer APIs
Add missing clock domain generic APIs:
  int clockdm_id_get(const char *clockdm);
  const char *clockdm_powerdm_get(const char *clockdm);
  const char *clockdm_voltdm_get(const char *clockdm);
  reg *clockdm_clkstctrl_get(const char *clockdm);

  clkdm_status clockdm_status_get(const char *clockdm);
  clkdm_ctrl_mode clockdm_ctrl_mode_get(const char *clockdm);

With these new APIs, now all OMAP clock domain details can be retrieved
generically accross OMAP platforms, given a simple clock domain name (string).

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
f62f847
Patrick Titiano [OMAP5][MODULE][OPP] handle OMAP543x ES2.0 MPU and GPU frequency changes
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
b7898b8
Patrick Titiano [MODULE] fix OPP list not freed in deinit() function
mod[4-5]4xx_deinit() functions were not freeing OPP list
contained inside the mod_info structure, causing memory leak.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
1ede4b4
Patrick Titiano [CLOCKDOMAIN] add missing NULL argument check
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
fddb341
Patrick Titiano [CLOCKDOMAIN] move pwrdm44xx_config_show() code from lib44xx.c to pwr…
…dm44xx.c

Better location.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
41b4869
Patrick Titiano [POWERDOMAIN] add missing pwrdm_state_type_name_get() function
To print the type of power domain state, as a string.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
56b09ad
Patrick Titiano [POWERDOMAIN] complete power domain generic abstraction layer APIs
Add missing power domain generic APIs:
  int powerdm_id_get(const char *powerdm);
  const char *powerdm_voltdm_get(const char *powerdm);
  reg *powerdm_pwrstctrl_reg_get(const char *powerdm);
  reg *powerdm_pwrstst_reg_get(const char *powerdm);
  pwrdm_state powerdm_target_logic_ret_state_get(const char *powerdm);
  pwrdm_state powerdm_logic_state_get(const char *powerdm);
  pwrdm_state powerdm_state_get(const char *powerdm, pwrdm_state_type type);
  unsigned int powerdm_in_transition(const char *powerdm);

  int powerdm_config_show(FILE *stream, const char *powerdm);

With these new APIs, now all OMAP power domain details can be retrieved
generically accross OMAP platforms, given a simple power domain name (string).

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
b48997e
Patrick Titiano [OMAP5][MODULE] handle OMAP543x ES2.x PRCM registers changes in modul…
…e info list

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
c94bbc1
Patrick Titiano [OMAP5][PRCM] handle ES2.0 changes in CM_xyz_CLKSTCTRL registers
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
a9a32b0
Patrick Titiano [OMAP5][PRCM] handle ES2.0 module changes in CM_xyz_CLKCTRL registers
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
b05374f
Patrick Titiano [TRACE][PERF][SETUP] fix segfault when default setup file cannot be c…
…reated

A NULL pointer check was missing in case a default trace setup file had to be created.
If file could not be created (R/W access permission issue), then next file write operation
would fail, generating segfault error.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
8c91fd8
Patrick Titiano [PWRDM][EMU] move EMU domain enable/disable functions to powerdomain lib
Better location, will be reused by different functions.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
41ae6bc
Patrick Titiano [TRACE][OMAP4470][OMAP5] add EMIF total read and write bandwidth item…
… to trace perf

Support tracing of total EMIF EMIF1 + EMIF2) read and write bandwidth in "omapconf trace perf" command.

e.g.:

|------------------------------------------------------------------------|
| Performance Statistics       | Min         | Max         | Average     |
|------------------------------------------------------------------------|
| CPU Temperature              | 45C         | 45C         | 45.00C      |
| CPU0 Load                    | 0.00%       | 0.00%       | 0.00%       |
| CPU1 Load                    | 0.00%%      | 2.04%       | 1.02%       |
| Total CPU Load               | 0.00%       | 1.02%       | 0.51%       |
|                              |             |             |             |
| Total EMIF Bandwidth (WRITE) | 8.09 MB/s   | 8.10 MB/s   | 8.10 MB/s   |
| Total EMIF Bandwidth (READ)  | 253.82 MB/s | 257.44 MB/s | 255.63 MB/s |
|                              |             |             |             |
|------------------------------------------------------------------------|

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
e135b7c
Patrick Titiano [OMAP5][DPLL] fix OMAP543x ES2.0 DPLL changes
Add missing register definitions in CM.
Consider revision to call the right structures for DPLL and HS dividers registers.
OMAP5 DPLL code was always using ES1 structures, causing ES2.0 CORE DPLL H21 and H24 to be skipped.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
dd336df
Patrick Titiano [OMAP5][CLOCK] add missing CLK54XX_C2C_GFCLK switch/case statement in…
… clk54xx_rate_get()

This was causing error in CLK54XX_C2C_GFCLK (C2C module) rate computation to
return an error (as parent clock couldn't be found).

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
078852a
Patrick Titiano [VOLTDM] handle new OMAP543x ES2.0 voltage domain status registers
Create a voltdm_info structure to hold a pointer to this when available.
Switch to per-device init/deinit code.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
00d0627
Patrick Titiano [OMAP5][PWRDM] fix CUSTEFUSE domain typo in name
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
e5d8ee1
Patrick Titiano [CLKDM] fix typos in domain names
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
62277b7
Patrick Titiano [PWRDM] fix typo in domain names
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
e208e6a
Patrick Titiano [CLKDM][OMAP5] fix typos in domain names
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
689c0e7
Patrick Titiano [CLKDM][PWRDM] return "FIXME" instead of NULL when called with bad ar…
…gument

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
4599d4f
Patrick Titiano [OMAP5][CLOCK] fix C2C module source f-clock for OMAP543x ES2.0
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
5ace350
Patrick Titiano [OMAP5][MODULE] make "show opp" and "show pwst" use new generic frame…
…works

Define generic low level functions in prcm-module.h to handle PRCM register bitfields
dedicated to modules.
Define generic functions in module.h to call these functions with device-specific addresses.
Create module_status_show() to replace lib54xx_pwst_show().
Update opp_show() to use new generic libs.

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
614787c
Patrick Titiano [MODULE][CLKSPEED][AUDIT] reworked clkspeed audit
Reworked clkspeed audit on top of new generic layers.
Removed previous code (gone unused).
Removed kernel clock framework audit (takes too much time to maintain,
 to track all changes).

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
846a145
Patrick Titiano [MODULE][SYSCONFIG][AUDIT] reworked sysconfig audit
    Reworked sysconfig audit on top of new module generic layers.
    Removed previous code (gone unused).

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
b1c278d
Patrick Titiano [REGRESSIONTESTSUITE] add EMIF test, remove kernel clock test, do not…
… use register import

Signed-off-by: Patrick Titiano <p-titiano@ti.com>
3b36ec6
Patrick Titiano update CHANGELOG with v1.60 changes
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
497ab0c

@omapconf omapconf added a commit that referenced this pull request Dec 6, 2012

@omapconf omapconf Merge pull request #9 from ptitiano/master
 v1.60:OMAP543x ES2.0 support
09cd9ed

@omapconf omapconf merged commit 09cd9ed into omapconf:master Dec 6, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment