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 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html