u-boot-brain/arch/arm/include/asm
Stephen Warren 6dbcc962e4 ARM: tegra: add peripheral clock init table
Currently, Tegra peripheral drivers control two aspects of their HW module
clock(s):

1) The clock enable/rate for the peripheral clock itself.

2) The system-level clock tree setup, i.e. the clock parent.

Aspect 1 is reasonable, but aspect 2 is a system-level decision, not
something that an individual peripheral driver should in general know
about or influence. Such system-level knowledge ties the driver to a
specific SoC implementation, even when they use generic APIs for clock
manipulation, since they must have SoC-specific knowledge such as parent
clock IDs. Limited exceptions exist, such as where peripheral HW is
expected to dynamically switch between clock sources at run-time, such
as CPU clock scaling or display clock conflict management in a multi-head
scenario.

This patch enhances the Tegra core code to perform system-level clock
tree setup, in a similar fashion to the Linux kernel Tegra clock driver.
This will allow future patches to simplify peripheral drivers by removing
the clock parent setup logic.

This change is required prior to converting peripheral drivers to use the
standard clock APIs, since:

1) The clock uclass doesn't currently support a set_parent() operation.
Adding one is possible, but not necessary at the moment.

2) The clock APIs retrieve all clock IDs from device tree, and the DT
bindings for almost all peripherals only includes information about the
relevant peripheral clocks, and not any potential parent clocks.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2016-09-27 09:11:02 -07:00
..
arch-am33xx TI: Rework SRAM definitions and maximums 2016-09-06 13:41:42 -04:00
arch-armada100 ARM: Move SYS_CACHELINE_SIZE over to Kconfig 2016-08-26 17:04:46 -04:00
arch-armv7 ARMv7: Factor out reusable timer_wait from sunxi/psci_sun7i.S 2015-07-20 11:44:38 -07:00
arch-bcm235xx arm: bcm235xx: implement the boot0 hook code 2016-06-24 17:24:37 -04:00
arch-bcm281xx arm/arm64: implement a boot header capability 2016-06-06 13:39:19 -04:00
arch-bcmcygnus configs: Re-sync with cmd/Kconfig 2016-04-25 15:09:47 -04:00
arch-bcmnsp arm: add Cygnus and NSP boards 2014-08-30 07:46:40 -04:00
arch-ep93xx arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
arch-fsl-layerscape Convert CONFIG_SYS_FSL_ERRATUM_A010315 to Kconfig option 2016-09-26 08:53:07 -07:00
arch-hi6220 driver: gpio: hikey: Fix pointer conversion warnings for hikey 2015-11-12 15:58:59 -05:00
arch-imx mx7: Distinguish between dual and solo versions 2016-03-09 12:50:39 +01:00
arch-lpc32xx arm: lpc32xx: switch SPL builds to driver model 2016-01-13 21:05:22 -05:00
arch-ls102xa armv7: ls102xa: Rename GIC_ADDR and DCSR_RCPM_ADDR 2016-09-26 08:53:07 -07:00
arch-meson meson: odroid-c2: enable Ethernet support through the device tree 2016-09-06 13:18:19 -04:00
arch-mvebu spi: kirkwood_spi: Add support for multiple chip-selects on MVEBU 2016-04-06 15:38:56 +02:00
arch-mx5 ARM: Move SYS_CACHELINE_SIZE over to Kconfig 2016-08-26 17:04:46 -04:00
arch-mx6 mx6: ddr: Allow changing REFSEL and REFR fields 2016-09-06 18:22:48 +02:00
arch-mx7 ARM: Move SYS_CACHELINE_SIZE over to Kconfig 2016-08-26 17:04:46 -04:00
arch-mx25 imx: cpu: move common chip revision id's 2015-10-30 15:20:56 +01:00
arch-mx27 mx27: 16-bit wide watchdog registers 2016-03-25 14:03:28 +01:00
arch-mx31 imx-common: consolidate macros and prototypes into sys_proto.h 2015-09-02 15:29:14 +02:00
arch-mx35 imx-common: consolidate macros and prototypes into sys_proto.h 2015-09-02 15:29:14 +02:00
arch-mxs ARM: mxs: allow boards to select DC-DC switching clock source 2016-01-03 15:56:36 +01:00
arch-omap3 TI: Rework SRAM definitions and maximums 2016-09-06 13:41:42 -04:00
arch-omap4 TI: Rework SRAM definitions and maximums 2016-09-06 13:41:42 -04:00
arch-omap5 TI: Rework SRAM definitions and maximums 2016-09-06 13:41:42 -04:00
arch-orion5x edminiv2: switch to SPL 2015-02-25 07:59:50 +01:00
arch-pxa arm: pxa: use common timer functions 2015-08-24 20:30:37 +02:00
arch-rockchip rk3399: add a empty "sys_proto.h" header file 2016-09-22 07:57:02 -06:00
arch-s3c24x0 mtd: nand: s3c: Unify the register definition and naming 2014-11-26 23:21:43 -06:00
arch-s32v234 armv8: s32v234: Introduce basic support for s32v234evb 2016-06-13 08:56:35 -04:00
arch-sa1100
arch-spear arm: spear: Add command to switch between 1-bit HW ECC and SW BCH4 2015-09-11 17:15:14 -04:00
arch-stm32f1 gpio: stm32_gpio: move base addresses to the soc file 2016-02-24 18:42:50 -05:00
arch-stm32f4 stm32: stm32f4: move flash driver to mtd driver location 2016-03-26 18:49:28 -04:00
arch-stm32f7 Revert "stm32: Change USART port to USART6 for stm32f746 discovery board" 2016-07-21 15:38:13 -04:00
arch-stv0991 stv0991: configure clock & pad muxing for qspi 2015-07-03 13:50:53 +05:30
arch-sunxi sunxi: musb: Power off OTG port VBUS when disabled 2016-09-17 14:37:40 +02:00
arch-tegra ARM: tegra: add peripheral clock init table 2016-09-27 09:11:02 -07:00
arch-tegra20 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra30 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra114 Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
arch-tegra124 Various, unrelated tree-wide typo fixes. 2016-07-16 09:43:12 -04:00
arch-tegra186 ARM: tegra: add core Tegra186 support 2016-05-31 11:22:59 -07:00
arch-tegra210 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-vf610 colibri-vf: Disable pull-up configuration in GPIO pin mux 2016-03-02 14:47:16 +01:00
arch-zynqmp ARM64: zynqmp: Add support for USB ulpi phy reset via mode pins 2016-09-22 07:33:21 +02:00
armv8 ARMv8/layerscape: Add FSL PPA support 2016-07-19 11:33:53 -07:00
imx-common imx-common: introduce simpler macros for runtime dection 2016-05-24 14:59:55 +02:00
iproc-common arm: add Cygnus and NSP boards 2014-08-30 07:46:40 -04:00
kona-common bcm281xx: add support for "USB OTG clock" 2014-12-29 16:31:23 -05:00
proc-armv ARM: add missing HYP mode constant 2014-07-28 17:06:35 +02:00
ti-common Fix to davinci_nand.h to place CEnCFG registers at correct 2016-06-06 13:39:12 -04:00
armv7.h ARM: Add an empty secure stack section 2016-07-15 15:54:57 +02:00
armv7m.h stm32: Add SDRAM support for stm32f746 discovery board 2016-07-14 18:22:43 -04:00
assembler.h arm: include: Import unified.h from Linux kernel 2016-06-02 21:21:43 -04:00
atomic.h arm, ubifs: fix gcc5.x compiler warning 2016-01-20 10:03:58 -05:00
barriers.h ARM: Rework and correct barrier definitions 2016-08-05 07:23:57 -04:00
bitops.h arm, ubifs: fix gcc5.x compiler warning 2016-01-20 10:03:58 -05:00
bootm.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
byteorder.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
cache.h ARM: Move SYS_CACHELINE_SIZE over to Kconfig 2016-08-26 17:04:46 -04:00
config.h treewide: move CONFIG_PHYS_64BIT to Kconfig 2016-08-05 07:27:25 -04:00
davinci_rtc.h am33xx, davinci: Create and use <asm/davinci_rtc.h> 2013-11-01 15:30:22 -04:00
dma-mapping.h arm: asm: dma-mapping: added dma_free_coherent API 2015-04-14 05:48:09 +02:00
ehci-omap.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
emif.h ARM: DRA7: DDR: Enable SR in Power Management Control 2016-03-15 21:30:19 -04:00
fsl_secure_boot.h Merge git://git.denx.de/u-boot-fsl-qoriq 2016-09-26 17:10:56 -04:00
gic.h arm64 patch: gicv3 support 2014-04-08 00:15:12 +02:00
global_data.h armv8: Add tlb_allocated to arch global data 2016-07-15 09:01:43 -07:00
gpio.h gpio: do not include <asm/arch/gpio.h> for UniPhier 2016-02-29 03:50:15 +09:00
hardware.h
io.h ARM: Rework and correct barrier definitions 2016-08-05 07:23:57 -04:00
linkage.h
mach-types.h arm: Remove snowball and u8500_href boards 2015-09-11 14:08:06 -04:00
macro.h Armv8: Initializing CNTVOFF_EL2 2015-04-16 11:27:15 +02:00
memory.h include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
omap_common.h arm: omap-common: add secure smc entry 2016-07-14 18:22:18 -04:00
omap_gpio.h gpio: omap: Drop 'method' parameter 2015-08-12 20:48:06 -04:00
omap_mmc.h omap_hsmmc: update struct hsmmc to accomodate base address from DT 2015-10-22 14:22:28 -04:00
omap_musb.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
omap_sec_common.h arm: omap-common: secure ROM signature verify API 2016-07-14 18:22:19 -04:00
pl310.h arm: socfpga: enable data/inst prefetch and shared override in the L2 2015-10-17 01:47:31 +02:00
posix_types.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
processor.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
psci.h armv7: psci: make v7_flush_dcache_all public for all psci code 2016-09-14 14:07:29 -07:00
ptrace.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
sections.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
secure.h ARM: Add secure section for initialized data 2016-07-15 15:54:58 +02:00
setjmp.h arm: Fix setjmp (again) 2016-07-08 17:16:38 -04:00
setup.h arm bootm: Allow to pass board specified atags 2012-10-30 15:28:05 -07:00
spin_table.h arm64: add better and more generic spin-table support 2016-07-14 18:22:16 -04:00
spl.h ARM: Add new BOOT_DEVICE_DFU boot mode 2016-09-22 07:33:20 +02:00
string.h
system.h ARM: Rework and correct barrier definitions 2016-08-05 07:23:57 -04:00
types.h types.h: move and redefine resource_size_t 2016-07-14 18:22:24 -04:00
u-boot-arm.h common: Move dram_init() declaration to common location 2015-02-09 15:08:48 +01:00
u-boot.h arm: Drop old non-generic-board code 2015-09-28 10:48:24 -04:00
unaligned.h arm64: core support 2014-01-09 16:08:44 +01:00
unified.h arm: include: Import unified.h from Linux kernel 2016-06-02 21:21:43 -04:00
utils.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00