TI81XX: Add clock and hwmod data
v2 cover TI81XX: Add clock and hwmod data
This patch set is the v2 of TI816X clock and hwmods patches sent earlier.
The clock data is currently added only for TI816X, while minimal hwmod data common for TI816X and TI814X is added.
This patch set depends on following patches:
TI81XX: Prepare for addition of TI814X support
TI814X: Add cpu type macros and detection support
TI814X: Create board support and enable build for TI8148 EVM
Please note that CHIP_IS_TI816X/CHIP_IS_TI814X are still being used and I will send update once SoC list usage is available.
Hemant Pedanekar (6):
TI816X: prcm: Add module and register offsets
TI816X: clock: Add clock data
TI816X: clock: Add clockdomains and powerdomains data
clock: Integrate TI816X clock data into OMAP clock framework
TI81XX: Add minimal hwmod data
hwmods: Integrate TI81XX hwmods
arch/arm/mach-omap2/Makefile | 5 + arch/arm/mach-omap2/clock3xxx_data.c | 5 +- arch/arm/mach-omap2/clock816x.h | 21 + arch/arm/mach-omap2/clock816x_data.c | 1108 ++++++++++++++++++++++ arch/arm/mach-omap2/clockdomain.h | 1 + arch/arm/mach-omap2/clockdomain2xxx_3xxx.c | 18 +- arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c | 1 + arch/arm/mach-omap2/clockdomains816x_data.c | 196 ++++ arch/arm/mach-omap2/cm-regbits-816x.h | 44 + arch/arm/mach-omap2/cm2xxx_3xxx.c | 35 + arch/arm/mach-omap2/cm2xxx_3xxx.h | 6 + arch/arm/mach-omap2/cm816x.h | 368 +++++++ arch/arm/mach-omap2/cm81xx.c | 54 ++ arch/arm/mach-omap2/io.c | 3 + arch/arm/mach-omap2/omap_hwmod.c | 13 +- arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 677 +++++++++++++ arch/arm/mach-omap2/powerdomain.h | 2 + arch/arm/mach-omap2/powerdomain2xxx_3xxx.c | 27 +- arch/arm/mach-omap2/powerdomains3xxx_data.c | 4 +- arch/arm/mach-omap2/powerdomains816x_data.c | 84 ++ arch/arm/mach-omap2/prm2xxx_3xxx.h | 21 + arch/arm/plat-omap/include/plat/omap_hwmod.h | 1 + 22 files changed, 2682 insertions(+), 12 deletions(-) create mode 100644 arch/arm/mach-omap2/clock816x.h create mode 100644 arch/arm/mach-omap2/clock816x_data.c create mode 100644 arch/arm/mach-omap2/clockdomains816x_data.c create mode 100644 arch/arm/mach-omap2/cm-regbits-816x.h create mode 100644 arch/arm/mach-omap2/cm816x.h create mode 100644 arch/arm/mach-omap2/cm81xx.c create mode 100644 arch/arm/mach-omap2/omap_hwmod_81xx_data.c create mode 100644 arch/arm/mach-omap2/powerdomains816x_data.c
Signature · 1 line
1.7.3.5
v2 cover TI81XX: Add clock and hwmod data
Quoted 5 lines · Hemant Pedanekar
This patch set is the v2 of TI816X clock and hwmods patches sent earlier.
The clock data is currently added only for TI816X, while minimal hwmod data common for TI816X and TI814X is added.
Quoted 7 lines
This patch set depends on following patches:
TI81XX: Prepare for addition of TI814X support
TI814X: Add cpu type macros and detection support
TI814X: Create board support and enable build for TI8148 EVMPlease note that CHIP_IS_TI816X/CHIP_IS_TI814X are still being used and I will send update once SoC list usage is available.
Thanks - am working away on these patches & hope to have them out soon.
- Paul
v2 cover TI81XX: Add clock and hwmod data
Quoted 12 lines · Paul Walmsley
Quoted 10 lines · Hemant Pedanekar
This patch set is the v2 of TI816X clock and hwmods patches sent earlier.
The clock data is currently added only for TI816X, while minimal hwmod data common for TI816X and TI814X is added.
This patch set depends on following patches:
TI81XX: Prepare for addition of TI814X support
TI814X: Add cpu type macros and detection support
TI814X: Create board support and enable build for TI8148 EVM
Quoted 4 lines
Quoted 2 lines
Please note that CHIP_IS_TI816X/CHIP_IS_TI814X are still being used and I will send update once SoC list usage is available.
Thanks - am working away on these patches & hope to have them out soon.
Hemant, can you please rebase your patches on Paul's CHIP_IS removal branch?
It's available at:
git://git.pwsan.com/linux-2.6 omap_chip_remove_cleanup_3.2
Regards,
Tony
v2 cover TI81XX: Add clock and hwmod data
Tony Lindgren wrote on Thursday, September 15, 2011 6:03 AM:
Quoted 20 lines · Paul Walmsley
Quoted 12 lines · Hemant Pedanekar
Quoted 11 lines
This patch set is the v2 of TI816X clock and hwmods patches sent earlier.
The clock data is currently added only for TI816X, while minimal hwmod data common for TI816X and TI814X is added.
This patch set depends on following patches:
TI81XX: Prepare for addition of TI814X support
TI814X: Add cpu type macros and detection support
TI814X: Create board support and enable build for TI8148 EVMQuoted 4 lines
Quoted 2 lines
Please note that CHIP_IS_TI816X/CHIP_IS_TI814X are still being used and I will send update once SoC list usage is available.
Thanks - am working away on these patches & hope to have them out soon.
Hemant, can you please rebase your patches on Paul's
CHIP_ISremoval branch?
Quoted 7 lines
It's available at:
git://git.pwsan.com/linux-2.6omap_chip_remove_cleanup_3.2Regards,
Tony
Thanks, I will do that and send v3.
Hemant
v2 cover TI81XX: Add clock and hwmod data
In reply to Hemant PedanekarHi,
Quoted 5 lines · Hemant Pedanekar
This patch set is the v2 of TI816X clock and hwmods patches sent earlier.
The clock data is currently added only for TI816X, while minimal hwmod data common for TI816X and TI814X is added.
Quoted 7 lines
This patch set depends on following patches:
TI81XX: Prepare for addition of TI814X support
TI814X: Add cpu type macros and detection support
TI814X: Create board support and enable build for TI8148 EVMPlease note that CHIP_IS_TI816X/CHIP_IS_TI814X are still being used and I will send update once SoC list usage is available.
I've been spending some time with these patches. A few aspects don't make much sense to me. For example, looking at the TRMs, the 816x doesn't seem to have powerdomains for HDVICP0, 1, or 2, although they are listed in the patch. Also, the clockdomain layout is quite different between 814x and 816x, according to the TRMs. Are the patches more accurate than the TRMs, or vice versa?
Will send over the current reworked patches for TI81XX PRCM accessors, powerdomain code & data, and clockdomain code & data. They are intended to apply over the TI814x patches that you sent recently. I'd like to get your opinion(s) on these reworked patches. Please note, so far they have only been compile-tested.
- Paul
v2 cover TI81XX: Add clock and hwmod data
Hi Paul,
Paul Walmsley wrote on Tuesday, October 04, 2011 2:54 PM:
Quoted 14 lines
Hi,
Quoted 10 lines · Hemant Pedanekar
This patch set is the v2 of TI816X clock and hwmods patches sent earlier.
The clock data is currently added only for TI816X, while minimal hwmod data common for TI816X and TI814X is added.
This patch set depends on following patches:
TI81XX: Prepare for addition of TI814X support
TI814X: Add cpu type macros and detection support
TI814X: Create board support and enable build for TI8148 EVM
Quoted 7 lines
Quoted 2 lines
Please note that CHIP_IS_TI816X/CHIP_IS_TI814X are still being used and I will send update once SoC list usage is available.
I've been spending some time with these patches. A few aspects don't make much sense to me. For example, looking at the TRMs, the 816x doesn't seem to have powerdomains for HDVICP0, 1, or 2, although they are listed in the patch.
Can you please check 18.2.1 in TRM from [1].
Above powerdomains are listed there as HDVICP2-0, 1, 2.
Quoted 4 lines
Also, the clockdomain layout is quite different between 814x and
816x, according to the TRMs. Are the patches more accurate than the TRMs, or vice versa?
You are correct, 814x has differences in clock, clockdomain and powerdomain data.
I would say the extent of differences level between 816x and 814x is something like (please also see reference links from Arago devl tree):
Clock data: ~90% data is different (main contributors: different PLLs - FAPLL in 816x vs ADPLL 814x, different parent hierarchy)
[2] & [3]
Clockdomains data: ~60% [4]
Powerdomains data: ~90% [5]
Quoted 8 lines
Will send over the current reworked patches for TI81XX PRCM accessors, powerdomain code & data, and clockdomain code & data. They are intended to apply over the TI814x patches that you sent recently. I'd like to get your opinion(s) on these reworked patches. Please note, so far they have only been compile-tested.
- Paul
Thanks, I will try those and respond.
Hemant
[1] http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=sprugx8
[2] http://arago-project.org/git/projects/?p=linux-omap3.git;a=blob;f=arch/arm/mach-omap2/clock816x_data.c;h=32ea958afef915f93e0560f87d1bb2115e24ee2c;hb=HEAD
[3] http://arago-project.org/git/projects/?p=linux-omap3.git;a=blob;f=arch/arm/mach-omap2/clock814x_data.c;h=282ffa93398db678843a35766219970655563b46;hb=HEAD
[4] http://arago-project.org/git/projects/?p=linux-omap3.git;a=blob;f=arch/arm/mach-omap2/clockdomains81xx.h;h=217c9b4f85c59cc92e0f36ddd73044136c8e9fff;hb=HEAD
[5] http://arago-project.org/git/projects/?p=linux-omap3.git;a=blob;f=arch/arm/mach-omap2/powerdomains81xx.h;h=ef1299e00c216aea4d12bca2281540efb7eb77f0;hb=HEAD
v2 cover TI81XX: Add clock and hwmod data
Hello Hemant,
Quoted 10 lines · Hemant
Paul Walmsley wrote on Tuesday, October 04, 2011 2:54 PM:
Quoted 4 lines
I've been spending some time with these patches. A few aspects don't make much sense to me. For example, looking at the TRMs, the 816x doesn't seem to have powerdomains for HDVICP0, 1, or 2, although they are listed in the patch.
Can you please check 18.2.1 in TRM from [1].
Above powerdomains are listed there as HDVICP2-0, 1, 2.
I see them there in SPRUGX8. But the most recent revision of the 816x TRM is SPRUGX9, correct?
http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=sprugx9&fileType=pdf
SPRUGX9 doesn't list these three powerdomains.
If they're really there, then we should definitely keep your original data based on SPRUGX8. Maybe you could get some clarification on that from the hardware people?
Quoted 7 lines
Quoted 5 lines
Will send over the current reworked patches for TI81XX PRCM accessors, powerdomain code & data, and clockdomain code & data. They are intended to apply over the TI814x patches that you sent recently. I'd like to get your opinion(s) on these reworked patches. Please note, so far they have only been compile-tested.
Thanks, I will try those and respond.
Since they've only been compile-tested so far, they are unlikely to boot. What I'm most interested in at this point are any comments you might have about the general approach. For example:
1. considering the first patch, it would be good to get your views on my perception that:
A. the TI81xx PRCM is effectively a single IP block, with a single interconnect target port, with multiple internal PRM/CM instances mixed in the same IP block;
B. that in some of the internal PRM and CM instances, the register layout is identical between 816x and 814x, and that those macros, etc. should be shared; with the 816x-specific macros split into an 816x-specific file and the 814x-specific macros split into an 814x-specific file;
C. the CM register structure is closer to the OMAP4430 CM register structure than it is to OMAP3, with the important exception that the CLKSTCTRL and CLKCTRL registers are not grouped together for each clockdomain. Instead, all of the the CLKSTCTRL registers are grouped together, followed by the CLKCTRL registers all grouped together, and therefore, the OMAP4 *_CDOFFS & OMAP3 *_CLKDM* macro style is basically useless;
and
2. considering the second and fourth patches,
A. that given the different power management functionality of TI81xx compared to OMAP4 & OMAP3, that it makes sense to create a new powerdomain/clockdomain code implementation file, rather than attempting to modify the OMAP2/3 file;
B. that we should discuss whether it makes sense to remove the powerdomain names from the clockdomain names, if we can share clock nodes or hwmod nodes for L3_MED and L3_SLOW between 814x and 816x;
and
3. considering the third and fifth patches,
A. that the modified powerdomain and clockdomain data (per SPRUGX9) is correct vs the SPRUGX8 data;
B. that the 814x powerdomains/clockdomains that have been added are accurate.
- Paul