[PATCH 00/17] ARM: OMAP2+: reset controller support
Tero Kristo
t-kristo at ti.com
Thu Sep 24 07:26:41 PDT 2015
Hi,
This series adds reset controller support on top of the existing PRM/PRCM
code. All the currently defined reset sources in hwmod databases are
moved over to DT, and all except OMAP3 hwmod resets are also removed.
OMAP3 hwmod reset data can be removed once OMAP3 is DT only.
Reboot support is also converted to use the new reset controller nodes,
and a new DT node is introduced for this purpose; system_reset.
I guess the main question regarding this series is whether the DT
changes are okay, I was forced to create a few top level ocp nodes
for IVA/DSP etc. which were missing, and a couple of peripheral nodes
for AMx3xx to host the reset data. DSP/IVA nodes should be created for
OMAP5+ also to support the resets for these, but currently these are
completely missing so I did not bother adding them.
One motivation for this series is to get rid of the hwmod database reset
info, which eventually allows getting rid of the hwmod data completely
(read: moved over to DT.)
Boot tested on omap3-beagle, omap4-panda-es, omap5-uevm, dra7-evm, beagle-x15,
sdp2430, sdp3430, beaglebone-white, beaglebone-black, am43xx-gp-evm.
Reboot tested on omap3-beagle, omap4-panda-es, omap5-uevm, beagle-x15. Reboot
on amx3xx does not seem functional in base 4.3-rc2 so wasn't able to test
this.
Testing branch pushed at:
tree: https://github.com/t-kristo/linux-pm.git
branch: 4.3-rc2-prcm-reset-fwk
Tero Kristo (17):
ARM: OMAP2+: PRM: add support for reset controller
ARM: OMAP2+: hwmod: parse also soc hierarchy for hwmod compatible
nodes
ARM: dts: omap3: add reset data
ARM: dts: omap4: add reset data
ARM: dts: omap5: add reset data
ARM: dts: dra7: add reset data
ARM: dts: am4372: add reset data
ARM: dts: am33xx: add reset data
ARM: dts: OMAP24xx: add reset data
ARM: OMAP2+: hwmod: parse reset information from DT
ARM: OMAP2+: use system reset info from device tree data
ARM: OMAP4: hwmod_data: remove reset data
ARM: OMAP5: hwmod_data: remove reset data
ARM: OMAP2: hwmod: AMx3xx: remove redundant reset info
ARM: OMAP24xx: hwmod: remove reset data from hwmod database
ARM: OMAP2+: hwmod: remove obsolete support for some hardreset logic
ARM: OMAP2+: PRM: remove redundant system reset code
arch/arm/boot/dts/am33xx.dtsi | 24 +++
arch/arm/boot/dts/am4372.dtsi | 24 +++
arch/arm/boot/dts/dra7.dtsi | 7 +
arch/arm/boot/dts/omap2420.dtsi | 24 +++
arch/arm/boot/dts/omap2430.dtsi | 17 ++
arch/arm/boot/dts/omap3.dtsi | 21 ++
arch/arm/boot/dts/omap4.dtsi | 27 +++
arch/arm/boot/dts/omap5.dtsi | 11 ++
arch/arm/mach-omap2/Kconfig | 1 +
arch/arm/mach-omap2/Makefile | 6 -
arch/arm/mach-omap2/am33xx-restart.c | 27 ---
arch/arm/mach-omap2/board-generic.c | 16 +-
arch/arm/mach-omap2/common.c | 29 +++
arch/arm/mach-omap2/common.h | 2 +
arch/arm/mach-omap2/omap2-restart.c | 2 +-
arch/arm/mach-omap2/omap3-restart.c | 2 +-
arch/arm/mach-omap2/omap4-restart.c | 27 ---
arch/arm/mach-omap2/omap_hwmod.c | 203 ++++++++++----------
arch/arm/mach-omap2/omap_hwmod.h | 12 +-
arch/arm/mach-omap2/omap_hwmod_2420_data.c | 13 --
arch/arm/mach-omap2/omap_hwmod_2430_data.c | 7 -
.../mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c | 30 ---
arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 8 -
arch/arm/mach-omap2/omap_hwmod_43xx_data.c | 8 -
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 48 +----
arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 14 --
arch/arm/mach-omap2/prm2xxx.c | 15 --
arch/arm/mach-omap2/prm33xx.c | 18 --
arch/arm/mach-omap2/prm44xx.c | 1 -
arch/arm/mach-omap2/prm_common.c | 167 ++++++++++++++++
arch/arm/mach-omap2/prminst44xx.c | 20 --
arch/arm/mach-omap2/ti81xx-restart.c | 34 ----
32 files changed, 476 insertions(+), 389 deletions(-)
delete mode 100644 arch/arm/mach-omap2/am33xx-restart.c
delete mode 100644 arch/arm/mach-omap2/omap4-restart.c
delete mode 100644 arch/arm/mach-omap2/ti81xx-restart.c
bloat-o-meter:
add/remove: 13/24 grow/shrink: 20/579 up/down: 1732/-3020 (-1288)
function old new delta
ti_reset_xlate - 456 +456
_init 1012 1380 +368
_dt_assert_hardreset - 128 +128
omap2_prm_reset_controller_register - 108 +108
__omap_init_restart - 100 +100
__func__ 23717 23805 +88
_dt_is_hardreset_asserted - 64 +64
_dt_deassert_hardreset - 64 +64
ti_reset_deassert - 60 +60
omap_restart - 32 +32
ti_reset_status - 28 +28
ti_reset_assert - 28 +28
omap4_prminst_rmw_inst_reg_bits 76 100 +24
omap_prcm_init 120 140 +20
_lookup_hardreset 124 144 +20
ti_reset_ops - 16 +16
omap2xxx_restart 40 56 +16
vermagic 49 64 +15
omap3xxx_restart 28 40 +12
omap3xxx_iva_resets 24 36 +12
_setup 1016 1028 +12
omap3xxx_sad2d_resets 16 24 +8
_shutdown 548 556 +8
_omap4_disable_module 252 260 +8
_are_all_hardreset_lines_asserted.part 88 96 +8
prm_was_any_context_lost_old 108 112 +4
omap_reset_control - 4 +4
omap_prm_vp_clear_txdone 100 104 +4
omap_hwmod_disable_wakeup 248 252 +4
omap3xxx_mmu_iva_resets 8 12 +4
_set_master_standbymode 144 148 +4
__initcall___omap_init_restart7 - 4 +4
__warned 2006 2007 +1
omap_prm_deassert_hardreset 136 132 -4
omap54xx_wd_timer2_hwmod 168 164 -4
omap54xx_usb_tll_hs_hwmod 168 164 -4
omap54xx_usb_otg_ss_hwmod 168 164 -4
omap54xx_usb_host_hs_hwmod 168 164 -4
omap54xx_uart6_hwmod 168 164 -4
...<snip>...
am33xx_aes0_hwmod 168 164 -4
am33xx_adc_tsc_hwmod 168 164 -4
_write_sysconfig 164 160 -4
_enable_wakeup 256 252 -4
_enable_sysc 576 572 -4
_clear_softreset 128 124 -4
omap54xx_mmu_ipu_resets 8 - -8
omap54xx_mmu_dsp_resets 8 - -8
omap44xx_mmu_ipu_resets 8 - -8
omap44xx_mmu_dsp_resets 8 - -8
omap44xx_dsp_resets 8 - -8
omap2420_iva_resets 8 - -8
am33xx_pruss_resets 8 - -8
am33xx_gfx_resets 8 - -8
omap44xx_prm_resets 16 - -16
omap44xx_ipu_resets 16 - -16
omap2430_iva_resets 16 - -16
omap2420_dsp_resets 16 - -16
am33xx_wkup_m3_resets 16 - -16
omap_hwmod_init 492 468 -24
omap_hwmod_am33xx_reg 664 640 -24
omap44xx_iva_resets 24 - -24
ti81xx_restart 28 - -28
omap2xxx_prm_dpll_reset 32 - -32
am33xx_prm_global_warm_sw_reset 32 - -32
omap_hwmod_am43xx_reg 680 644 -36
_omap4_is_hardreset_asserted 48 - -48
_omap4_assert_hardreset 48 - -48
_am33xx_deassert_hardreset 64 - -64
omap4_prminst_global_warm_sw_reset 84 - -84
_omap4_deassert_hardreset 120 - -120
--
1.7.9.5
More information about the linux-arm-kernel
mailing list