SoCs such as DRA7 family from Texas Instruments include a highly configurable hardware block called the IOdelay block. This block allows very specific custom fine tuning for electrical characteristics of IO pins that are necessary for functionality and device lifetime requirements.
IODelay module exists on it's own register space with registers allocated for various pins. A set of values (derived from either automated tools OR from device datasheet) is then computed on a per-chip basis(to account for die specific variations) to generate a set of delay parameters that are programmed to one or more registers for the delay path of the io line. This series basically adds support for this IOdelay recalibration and enables the same on DRA7-evm, BeagleBoard-x15 boards. Tested on: DRA7-evm: http://pastebin.ubuntu.com/11562641/ BeagleBoard-x15: http://pastebin.ubuntu.com/11563215/ Lokesh Vutla (9): ARM: DRA7: Make do_set_mux32() generic ARM: DRA7: Add pinctrl register definitions ARM: DRA7: Add support for virtual mode configuration ARM: DRA7: Add support for IO delay configuration ARM: DRA7: Add support for manual mode configuration ARM: DRA7-evm: Enable IO delay recalibration sequence ARM: DRA7: CPSW: Remove IO delay hack ARM: BeagleBoard-x15: Enable IO delay recalibration sequence ARM: BeagleBoard-x15: Add mux data Nishanth Menon (1): ARM: DRA7-evm: Add mux data arch/arm/cpu/armv7/omap-common/clocks-common.c | 26 ++ arch/arm/cpu/armv7/omap5/Makefile | 1 + arch/arm/cpu/armv7/omap5/dra7xx_iodelay.c | 238 +++++++++++++++ arch/arm/cpu/armv7/omap5/hwinit.c | 9 + arch/arm/cpu/armv7/omap5/prcm-regs.c | 3 + arch/arm/include/asm/arch-omap5/dra7xx_iodelay.h | 83 ++++++ arch/arm/include/asm/arch-omap5/mux_dra7xx.h | 37 +++ arch/arm/include/asm/arch-omap5/omap.h | 25 -- arch/arm/include/asm/arch-omap5/sys_proto.h | 13 + arch/arm/include/asm/omap_common.h | 4 + board/ti/beagle_x15/board.c | 22 +- board/ti/beagle_x15/mux_data.h | 351 ++++++++++++++++++++--- board/ti/dra7xx/evm.c | 96 ++----- board/ti/dra7xx/mux_data.h | 339 ++++++++++++++++++++-- include/configs/beagle_x15.h | 4 + include/configs/dra7xx_evm.h | 4 + 16 files changed, 1078 insertions(+), 177 deletions(-) create mode 100644 arch/arm/cpu/armv7/omap5/dra7xx_iodelay.c create mode 100644 arch/arm/include/asm/arch-omap5/dra7xx_iodelay.h -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot