9
0
Fork 0
barebox/arch/arm/mach-omap/include/mach
Daniel Schultz 80807102b9 arm: am33xx: Initialize EMIF REG_PR_OLD_COUNT
This patch is based on a patch from the U-Boot and fixes two errors with
the LCDC. Original commit message from Jyri Sarha [1]:
"Initialize EMIF OCP_CONFIG registers REG_COS_COUNT_1, REG_COS_COUNT_2,
and REG_PR_OLD_COUNT field for Beaglebone-Black and am335x-evm. With
the default values LCDC suffers from DMA FIFO underflows and frame
synchronization lost errors. The initialization values are the highest
that work flawlessly when heavy memory load is generated by CPU. 32bpp
colors were used in the test. On BBB the video mode used 110MHz pixel
clock. The mode supported by the panel of am335x-evm uses 30MHz pixel
clock."

The register values are generated by testing, because there is no formula
to calculate them. Also from Jyri Sarha [1]:
"In practice the only rule to find an optimal value is to find as high as
possible REG_PR_OLD_COUNT value that does not produce LCDC FIFO
underflows under worst case scenario. The worst case happens when the
highest pixel clock videomode with maximum bpp is used while memory
subsystem is stressed by endless stream of writes hitting the same
memory memory bank (can be the same address)."

It only contains the BeagleBone Black and the Phytec SoM, because I
don't have other boards.

[1] https://patchwork.ozlabs.org/patch/704013/

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2017-01-30 07:25:18 +01:00
..
am33xx-clock.h arm: am33xx: Master Osc clock speed handling 2016-01-26 08:01:06 +01:00
am33xx-devices.h sizes.h: move include/sizes.h to include/linux/sizes.h 2015-01-08 14:00:26 +01:00
am33xx-generic.h restart: replace reset_cpu with registered restart handlers 2015-08-27 21:37:03 +02:00
am33xx-mux.h ARM: OMAP: AM33xx: add uart1 pinmux setup 2015-07-24 09:22:06 +02:00
am33xx-silicon.h arm: am33xx: Initialize EMIF REG_PR_OLD_COUNT 2017-01-30 07:25:18 +01:00
bbu.h OMAP: am33xx_bbu_nand: Extent barebox update handler 2016-06-30 08:37:24 +02:00
clocks.h ARM omap: include individual SoC files 2012-12-19 21:51:49 +01:00
cm-regbits-34xx.h ehci: add omap support 2010-08-06 19:17:45 +02:00
control.h ARM omap3: Add change OMAP_ prefix to OMAP3_ for registers 2012-12-20 11:43:05 +01:00
cpsw.h drivers: net: add driver for TI CPSW 2013-01-10 20:41:50 +01:00
debug_ll.h ARM: OMAP: Make debug_ll UART Kconfig selectable 2013-11-22 15:34:36 +01:00
devices.h i2c-omap: Remove cpu_is functions completely 2013-06-23 20:35:22 +02:00
ehci.h ehci: add omap support 2010-08-06 19:17:45 +02:00
emac_defs.h drivers/net: add driver for the EMAC device found in some TI SoCs 2012-09-17 10:54:50 +02:00
generic.h OMAP: xload: nand: Check for redundant barebox partition 2016-06-30 08:37:24 +02:00
gpmc.h ARM omap: Make gpmc base runtime configurable 2012-12-19 21:51:49 +01:00
gpmc_nand.h mtd: nand: omap_gpmc: Remove BCH4 support 2016-04-12 08:16:03 +02:00
intc.h Remove old, inaccurate "FileName:" cruft from ARM files 2012-12-05 19:51:14 +01:00
mcspi.h drivers/spi: add driver for the Multichannel SPI controller found in TI SoCs 2012-09-06 19:35:03 +02:00
omap-fb.h ARM omap-fb: add board helper code 2013-06-24 21:49:34 +02:00
omap3-clock.h ARM: OMAP3: Change DSS divider to the one U-Boot uses 2015-07-02 08:20:44 +02:00
omap3-devices.h sizes.h: move include/sizes.h to include/linux/sizes.h 2015-01-08 14:00:26 +01:00
omap3-generic.h restart: replace reset_cpu with registered restart handlers 2015-08-27 21:37:03 +02:00
omap3-mux.h Remove old, inaccurate "FileName:" cruft from ARM files 2012-12-05 19:51:14 +01:00
omap3-silicon.h ARM: OMAP: Safe boot info in fixed SRAM address 2013-12-10 14:35:34 +01:00
omap3-smx.h ARM omap3: Add change OMAP_ prefix to OMAP3_ for registers 2012-12-20 11:43:05 +01:00
omap4-clock.h OMAP4: use OPPs recommended in datasheet 2013-01-17 18:46:40 +01:00
omap4-devices.h sizes.h: move include/sizes.h to include/linux/sizes.h 2015-01-08 14:00:26 +01:00
omap4-generic.h restart: replace reset_cpu with registered restart handlers 2015-08-27 21:37:03 +02:00
omap4-mux.h OMAP4: removed __packed__ annotation from pad_conf_entry 2012-12-05 08:38:55 +01:00
omap4-silicon.h ARM: OMAP: Safe boot info in fixed SRAM address 2013-12-10 14:35:34 +01:00
omap4_rom_usb.h ARM: omap4_romusb: allow adding usb-serial when not booting from usb 2013-03-25 10:21:16 +01:00
omap4_twl6030_mmc.h omap_hsmmc: setup mmc voltage on twl6030 2011-12-21 12:48:08 +01:00
omap_hsmmc.h mci: omap: Allow to set mmc devname via platformdata 2013-08-27 07:12:32 +02:00
sdrc.h ARM omap3: Add change OMAP_ prefix to OMAP3_ for registers 2012-12-20 11:43:05 +01:00
sys_info.h ARM: Omap3: Remove useless inline 2015-12-10 11:05:49 +01:00
syslib.h Remove old, inaccurate "FileName:" cruft from ARM files 2012-12-05 19:51:14 +01:00
timers.h ARM omap: Make timer base runtime configurable 2012-12-19 21:51:49 +01:00
wdt.h arm: beaglebone: add first-stage support for AM335x and board 2012-12-20 12:30:26 +01:00