]> git.karo-electronics.de Git - karo-tx-uboot.git/log
karo-tx-uboot.git
10 years agofsl_i2c: add support for 3rd and 4th I2C
Shengzhou Liu [Mon, 7 Jul 2014 04:17:48 +0000 (12:17 +0800)]
fsl_i2c: add support for 3rd and 4th I2C

Add support for 3rd and 4th I2C.

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
10 years agoi2c, omap24xx: add i2c deblock sequenz
Heiko Schocher [Mon, 30 Jun 2014 07:12:09 +0000 (09:12 +0200)]
i2c, omap24xx: add i2c deblock sequenz

If a bus busy is detected when intializing the driver,
toggle 9 times the scl pin. Therefore enable the test mode
of the controller, in which the scl, sda pins can be
controlled manually.

Tested on the siemens boards pxm2, rut and dxr2.

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Hannes Petermaier <oe5hpm@oevsv.at>
Cc: Lubomir Popov <lpopov@mm-sol.com>
Cc: Steve Sakoman <steve@sakoman.com>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
Cc: Vincent Stehlé <v-stehle@ti.com>
Cc: Samuel Egli <samuel.egli@siemens.com>
10 years agoPrepare v2014.07 v2014.07
Tom Rini [Mon, 14 Jul 2014 17:16:45 +0000 (13:16 -0400)]
Prepare v2014.07

Signed-off-by: Tom Rini <trini@ti.com>
10 years agosocfpga: timer actually counts down
Pavel Machek [Sun, 13 Jul 2014 11:10:45 +0000 (13:10 +0200)]
socfpga: timer actually counts down

Timer on cyclone5 actually counts down. It took me a while to figure
out, as timer counting in wrong direction actually _can_ be used, it
just appears to tick at extremely high frequency in u-boot.

The bug was introduced in commit
23ab7ee0ffa9d5efd0b4ad830befba306d24a327.

Signed-off-by: Pavel Machek <pavel@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
10 years agoARM: DRA7xx: Update the board_name env variable
Lokesh Vutla [Mon, 14 Jul 2014 14:27:58 +0000 (19:57 +0530)]
ARM: DRA7xx: Update the board_name env variable

Update the board_name env variable and accordingly
populate the dtb file.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
10 years agoboards.cfg: change "<none>" in the board field to "-"
Masahiro Yamada [Fri, 11 Jul 2014 07:31:47 +0000 (16:31 +0900)]
boards.cfg: change "<none>" in the board field to "-"

In the previous commit, all the board fields were filled.

Now we can use "-" in the board field for a different meaning.

Going forward, "-" stands for no board directory
as in cpu, soc, vendor fields.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agoboards.cfg: keep it sorted filling the board field
Masahiro Yamada [Fri, 11 Jul 2014 07:31:46 +0000 (16:31 +0900)]
boards.cfg: keep it sorted filling the board field

The boards.cfg file has allowed to use "-" for the board (= 6th) field
if the board name is the same as the 7th field.

But I notice one problem.
Because tools/reformat.py sorts the lines in the simple alphabetical
order (= the order of character code), some entries for the same board
are not lined up together.

For example, "bf527-ezkit" and "bf527-ezkit-v2" share the same board.
But they are located separately because "bf527-ezkit" fills the board
field with "-" whereas "bf527-ezkit-v2" specifies it explicitely.

The similar things can be seen:
 - between "trizepsive" and "polaris"
 - between "RRvision" and "RRvision_LCD"
 - between "korat" and "korat_perm"
 - between "lwmon5" and "lcd4_lwmon5"

This commit was generated by the following command:

awk '$6 == "-" { $6 = $7 } { print }' boards.cfg \
  | tools/reformat.py -i -d '-' -s 8  > boards0.cfg; \
  mv boards0.cfg boards.cfg

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Fri, 11 Jul 2014 18:54:48 +0000 (14:54 -0400)]
Merge branch 'master' of git://www.denx.de/git/u-boot-imx

10 years agoi.MX6DL/S: add drive-strength back to pads DISP0_DAT2/DAT10
Eric Nelson [Wed, 9 Jul 2014 19:27:29 +0000 (12:27 -0700)]
i.MX6DL/S: add drive-strength back to pads DISP0_DAT2/DAT10

The pad settings for DISP0_DATA02 and DISP0_DAT10 were not
set in the same way as DISP0_DAT00-23, causing much flicker
in parallel RGB displays on Dual-Lite and Solo processors.

These settings now match the i.MX6 Dual and Quad core versions.

Note that this fixes a regression in commit b47abc3 and that
this is the second time we've had a regression on these two
pads (See commit e654ddf).

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
10 years agousb: phy: omap_usb_phy: implement usb_phy_power() for AM437x
Felipe Balbi [Mon, 23 Jun 2014 22:18:24 +0000 (17:18 -0500)]
usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

Newer AM437x silicon requires us to explicitly power up
the USB2 PHY. By implementing usb_phy_power() we can
achieve that.

Signed-off-by: Felipe Balbi <balbi@ti.com>
10 years agousb: host: xhci: make sure to power up PHY
Felipe Balbi [Mon, 23 Jun 2014 21:25:38 +0000 (16:25 -0500)]
usb: host: xhci: make sure to power up PHY

some boards won't work if the PHY isn't explicitly
powered up.

Signed-off-by: Felipe Balbi <balbi@ti.com>
10 years agodoc: Add zynq fragment to git-mailrc file
Michal Simek [Wed, 9 Jul 2014 14:10:49 +0000 (16:10 +0200)]
doc: Add zynq fragment to git-mailrc file

This is a MIME GnuPG-signed message.  If you see this text, it means that
your E-mail or Usenet software does not support MIME signed messages.
The Internet standard for MIME PGP messages, RFC 2015, was published in 1996.
To open this message correctly you will need to install E-mail or Usenet
software that supports modern Internet standards.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
10 years agoARM: OMAP4/5: Change omap4_sdp/panda and omap5_uevm maintainer
Lokesh Vutla [Wed, 9 Jul 2014 12:02:26 +0000 (17:32 +0530)]
ARM: OMAP4/5: Change omap4_sdp/panda and omap5_uevm maintainer

Updating omap4_sdp/panda and omap5_uevm maintainer.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: R Sricharan <r.sricharan@ti.com>
10 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Wed, 9 Jul 2014 13:21:51 +0000 (09:21 -0400)]
Merge branch 'master' of git://www.denx.de/git/u-boot-imx

10 years agomx6: soc: Update the comments of set_ldo_voltage()
Fabio Estevam [Fri, 13 Jun 2014 04:42:37 +0000 (01:42 -0300)]
mx6: soc: Update the comments of set_ldo_voltage()

Commit 3d622b78 (mx6: soc: Introduce set_ldo_voltage()) introduces
set_ldo_voltage() function that can be used to set the voltages
of any of the three LDO regulators controlled by the PMU_REG_CORE register.

Prior to this commit there was a single set_vddsoc() which only configured the
VDDSOC regulator.

Update the comments to align with the new set_ldo_voltage() implementation.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
10 years agoMX6: Correct calculation of PLL_SYS
Andre Renaud [Mon, 9 Jun 2014 20:47:13 +0000 (08:47 +1200)]
MX6: Correct calculation of PLL_SYS

DIV_SELECT is used as Fout = Fin * div_select / 2.0, so we should do
the shift after the multiply to avoid rounding errors

Signed-off-by: Andre Renaud <andre@bluewatersys.com>
10 years agoARM: m53evk: Update default environment
Lothar Rubusch [Thu, 26 Jun 2014 09:01:32 +0000 (11:01 +0200)]
ARM: m53evk: Update default environment

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Lothar Rubusch <lothar@denx.de>
Signed-off-by: Wolfgang Denk <wd@denx.de>
10 years agoARM: m53evk: Adjust mtdparts settings
Marek Vasut [Thu, 26 Jun 2014 09:01:31 +0000 (11:01 +0200)]
ARM: m53evk: Adjust mtdparts settings

Adjust the mtdparts settings to allow for alternative boot images and
for using UBI.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
10 years agoARM: m53evk: add needed commands and options
Marek Vasut [Thu, 26 Jun 2014 09:01:30 +0000 (11:01 +0200)]
ARM: m53evk: add needed commands and options

- "env ask", "env grep" and "setexpr" are needed for commissioning
- add support for ext4 file systems
- adjust default environment to use ext4 commands
- add write support for (V)FAT and EXT4
- add bitmap and splashscreen support
- print timestamp information for images

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
10 years agoARM: m28evk: Update default environment
Lothar Rubusch [Thu, 26 Jun 2014 09:01:29 +0000 (11:01 +0200)]
ARM: m28evk: Update default environment

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Lothar Rubusch <lothar@denx.de>
10 years agoARM: m28evk: Adjust mtdparts
Marek Vasut [Thu, 26 Jun 2014 09:01:28 +0000 (11:01 +0200)]
ARM: m28evk: Adjust mtdparts

Adjust the mtdparts to also consider factory-programmed config block.

Signed-off-by: Marek Vasut <marex@denx.de>
10 years agoARM: m28evk: add needed commands and options
Marek Vasut [Thu, 26 Jun 2014 09:01:27 +0000 (11:01 +0200)]
ARM: m28evk: add needed commands and options

- "env ask", "env grep" and "setexpr" are needed for commissioning
- add support for ext4 file systems
- adjust default environment to use ext4 commands
- add write support for (V)FAT and EXT4
- add bitmap and splashscreen support
- print timestamp information for images

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
10 years agoMerge branch 'tom' of git://git.denx.de/u-boot-x86
Tom Rini [Tue, 8 Jul 2014 00:45:09 +0000 (20:45 -0400)]
Merge branch 'tom' of git://git.denx.de/u-boot-x86

10 years agoTI:omap3: enable CONFIG_CMD_DHCP for omap3_beagle
Tyler Baker [Mon, 23 Jun 2014 18:11:29 +0000 (11:11 -0700)]
TI:omap3: enable CONFIG_CMD_DHCP for omap3_beagle

The following patch re-enables the dhcp functionality on omap3_beagle.
It was removed with df4dbb5df6ab1c1d27b3fd4acbaad69b47095daf when
omap3_beagle was converted to use ti_omap3_common.h. I have tested
beagleboard and beagleboard-xm with this patch and confirmed dhcp is
working.

Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
10 years agokmake: include DTB section into u-boot.bin if CONFIG_OF_EMBED enabled
Alexey Ignatov [Sun, 6 Jul 2014 23:21:44 +0000 (03:21 +0400)]
kmake: include DTB section into u-boot.bin if CONFIG_OF_EMBED enabled

Fixes a bug when objcopy doesn't put .dtb.init.rodata section to resulting
u-boot.bin, so u-boot was unable to find embedded DTB.

10 years agogit-mailrc: Add sunxi custodians.
Ian Campbell [Thu, 3 Jul 2014 20:25:41 +0000 (21:25 +0100)]
git-mailrc: Add sunxi custodians.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Acked-by: Hans de Goede <hdegoede@redhat.com>
10 years agofit: make sha256 support optional
Dirk Eibach [Thu, 3 Jul 2014 07:28:26 +0000 (09:28 +0200)]
fit: make sha256 support optional

sha256 has some beefy memory footprint.
Make it optional for constrained systems.

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: gdsys: Remove commands to reduce footprint
Dirk Eibach [Thu, 3 Jul 2014 07:28:25 +0000 (09:28 +0200)]
board: gdsys: Remove commands to reduce footprint

Commit "2842c1c fit: add sha256 support" badly increased
memory footprint, so some of our boards did not build anymore.
Since monitor base must not be changed I removed some commands
to save memory.

Maybe making sha256 optional for fit would be an option for
the future since it really has some beefy footprint.

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: iocon: Modify iocon hardware startup
Dirk Eibach [Thu, 3 Jul 2014 07:28:24 +0000 (09:28 +0200)]
board: iocon: Modify iocon hardware startup

To avoid peer "ChReceivePathStatus"-messages on iocon startup, initialize
PHYs as soon as possible.

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: gdsys: Enable scrambling on DP501
Dirk Eibach [Thu, 3 Jul 2014 07:28:23 +0000 (09:28 +0200)]
board: gdsys: Enable scrambling on DP501

For proper displayport performance, scrambling has to be enabled, but
is turned off on DP501 by default.

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: gdsys: Make gdsys osd hardware detection more robust
Dirk Eibach [Thu, 3 Jul 2014 07:28:22 +0000 (09:28 +0200)]
board: gdsys: Make gdsys osd hardware detection more robust

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: gdsys: Configure bridge on DP501 to support DDC only
Dirk Eibach [Thu, 3 Jul 2014 07:28:21 +0000 (09:28 +0200)]
board: gdsys: Configure bridge on DP501 to support DDC only

The I2C bridge on DP501 supports EDID, MCCS and HDCP by default.
Allow EDID only to avoid I2C address conflicts.

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: gdsys: Increase iocon and dlv10g version string
Dirk Eibach [Thu, 3 Jul 2014 07:28:20 +0000 (09:28 +0200)]
board: gdsys: Increase iocon and dlv10g version string

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: gdsys: Fix dlvision-10g I2C configuration
Dirk Eibach [Thu, 3 Jul 2014 07:28:19 +0000 (09:28 +0200)]
board: gdsys: Fix dlvision-10g I2C configuration

PPC4xx config options were not complete.
ICS8N3QV01 and SIL1178 needed some more configuration.

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoi2c: IHS I2C master driver
Dirk Eibach [Thu, 3 Jul 2014 07:28:18 +0000 (09:28 +0200)]
i2c: IHS I2C master driver

IHS I2C master support was merely a hack in the osd driver.
Now it is a proper u-boot I2C framework driver, supporting the
v2.00 master features.

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: iocon: Support DisplayPort hardware
Dirk Eibach [Thu, 3 Jul 2014 07:28:17 +0000 (09:28 +0200)]
board: iocon: Support DisplayPort hardware

There is a new iocon hardware flavor, supporting DisplayPort finally.

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: controlcenterd: Use new API for setting i2c bus
Dirk Eibach [Thu, 3 Jul 2014 07:28:16 +0000 (09:28 +0200)]
board: controlcenterd: Use new API for setting i2c bus

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: gdsys: Adapt sdhc_boot.c to mmc_get_env_addr API change
Dirk Eibach [Thu, 3 Jul 2014 07:28:15 +0000 (09:28 +0200)]
board: gdsys: Adapt sdhc_boot.c to mmc_get_env_addr API change

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoboard: controlcenterd: Fix pci access
Dirk Eibach [Thu, 3 Jul 2014 07:28:14 +0000 (09:28 +0200)]
board: controlcenterd: Fix pci access

readl was called with values instead of pointers to these values.
Why this ever did work is a mystery...

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
10 years agoblackfin, powerpc: remove redundant definitions of ARRAY_SIZE
Masahiro Yamada [Thu, 3 Jul 2014 04:55:51 +0000 (13:55 +0900)]
blackfin, powerpc: remove redundant definitions of ARRAY_SIZE

Since ARRAY_SIZE macro is defined in include/common.h,
re-defining it in arch-specific files is redundant.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Stefan Roese <sr@denx.de>
Acked-by: Sonic Zhang <sonic.zhang@analog.com>
10 years agoblackfin: Add more dcache functions
Vasili Galka [Mon, 30 Jun 2014 10:00:12 +0000 (13:00 +0300)]
blackfin: Add more dcache functions

Add invalidate_dcache_range() and flush_dcache_range() for the blackfin
architecture. Such functions already exist on this arch with different
names, so just forward the call.

This fixes the build of bf609-ezkit board as it uses
drivers/net/designware.c which requires the above functions.

Cc: Sonic Zhang <sonic.adi@gmail.com>, Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Vasili Galka <vvv444@gmail.com>
10 years agoblackfin: Fix warning about undefined function
Vasili Galka [Mon, 30 Jun 2014 09:59:56 +0000 (12:59 +0300)]
blackfin: Fix warning about undefined function

get_sclk() was not defined in bfin_wdt.c, include the corresponding header.

Cc: Sonic Zhang <sonic.adi@gmail.com>
Signed-off-by: Vasili Galka <vvv444@gmail.com>
10 years agom68k: Fix incorrect memory access on M5235
Vasili Galka [Mon, 30 Jun 2014 09:59:41 +0000 (12:59 +0300)]
m68k: Fix incorrect memory access on M5235

The csarX and cscrX registers in the fbcs_t struct are 16-bit for
CONFIG_M5235 and 32-bit wide otherwise. The code in cpu_init.c
accessed them always as 32-bit, effectively creating a wrong memory
access on M5235. Fixed that by choosing out_be16/out_be32 depending
on whether CONFIG_M5235 is defined or not.

Cc: Jason Jin <Jason.jin@freescale.com>
Signed-off-by: Vasili Galka <vvv444@gmail.com>
10 years agom68k: Fix bug, "address of" operator was forgotten
Vasili Galka [Mon, 30 Jun 2014 09:59:06 +0000 (12:59 +0300)]
m68k: Fix bug, "address of" operator was forgotten

in_be16() shall be passed a pointer to register and not its value. This
is clearly a typo resulting in a wrong memory access, so fix it.

Cc: Alison Wang <b18965@freescale.com>, Jason Jin <Jason.jin@freescale.com>
Signed-off-by: Vasili Galka <vvv444@gmail.com>
10 years agompc8xx: remove spc1920 board support
Masahiro Yamada [Fri, 20 Jun 2014 04:54:57 +0000 (13:54 +0900)]
mpc8xx: remove spc1920 board support

This board is old enough and has no maintainer.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agompc8xx: remove v37 board support
Masahiro Yamada [Fri, 20 Jun 2014 04:54:56 +0000 (13:54 +0900)]
mpc8xx: remove v37 board support

This board is old enough and has no maintainer.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agompc8xx: remove fads board support
Masahiro Yamada [Fri, 20 Jun 2014 04:54:55 +0000 (13:54 +0900)]
mpc8xx: remove fads board support

These boards are old enough and have no maintainers.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agompc8xx: remove netta, netta2, netphone board support
Masahiro Yamada [Fri, 20 Jun 2014 04:54:54 +0000 (13:54 +0900)]
mpc8xx: remove netta, netta2, netphone board support

These boards are old enough and have no maintainers.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agompc8xx: remove rbc823 board support
Masahiro Yamada [Fri, 20 Jun 2014 04:54:53 +0000 (13:54 +0900)]
mpc8xx: remove rbc823 board support

This board is old enough and has no maintainer.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agompc8xx: remove RPXlite_dw, quantum board support
Masahiro Yamada [Fri, 20 Jun 2014 04:54:52 +0000 (13:54 +0900)]
mpc8xx: remove RPXlite_dw, quantum board support

These boards are old enough and have no maintainers.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agompc8xx: remove qs850, qs860t board support
Masahiro Yamada [Fri, 20 Jun 2014 04:54:51 +0000 (13:54 +0900)]
mpc8xx: remove qs850, qs860t board support

These boards are old enough and have no maintainers.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agotpm: don't use unneeded double brackets
Jeroen Hofstee [Wed, 18 Jun 2014 20:59:48 +0000 (22:59 +0200)]
tpm: don't use unneeded double brackets

clang is tempted to inteprete such a condition as a assignment
as well. Since it isn't don't use double brackets.

cc: Tom Wai-Hong Tam <waihong@chromium.org>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
10 years agovcma9/lowlevel_init.S: trivial: terminate comment
Jeroen Hofstee [Wed, 18 Jun 2014 20:43:20 +0000 (22:43 +0200)]
vcma9/lowlevel_init.S: trivial: terminate comment

Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
10 years agoREADME: document CONFIG_ENV_IS_IN_SPI_FLASH
Wu, Josh [Tue, 1 Jul 2014 11:30:13 +0000 (19:30 +0800)]
README: document CONFIG_ENV_IS_IN_SPI_FLASH

The option can be used to save the environment in spi flash.
Implementation code is already exist in command/env_sf.c. But
the documentation is missing.

This patch add the details for this option to the README file.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
10 years agoenv_fat: use get_device_and_partition() during env save and load
Wu, Josh [Tue, 24 Jun 2014 09:31:02 +0000 (17:31 +0800)]
env_fat: use get_device_and_partition() during env save and load

Use get_device_and_partition() is better since:
1. It will call the device initialize function internally. So we can
remove the mmc intialization code to save many lines.
2. It is used by fatls/fatload/fatwrite. So saveenv & load env should
use it too.
3. It can parse the "D:P", "D", "D:", "D:auto" string to get correct
device and partition information by run-time.

Also we remove the FAT_ENV_DEVICE and FAT_ENV_PART. We use a string:
FAT_ENV_DEVICE_AND_PART.
For at91sam9m10g45ek, it is "0". That means use device 0 and if:
a)device 0 has no partition table, use the whole device as a FAT file
system.
b)device 0 has partittion table, use the partition #1.

Refer to the commit: 10a37fd7a4 for details of device & partition string.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
10 years agoam43xx: Tune the system to avoid DSS underflows
Cooper Jr., Franklin [Fri, 27 Jun 2014 18:31:15 +0000 (13:31 -0500)]
am43xx: Tune the system to avoid DSS underflows

* This is done by limiting the ARM's bandwidth and setting DSS priority in
  the EMIF controller to ensure underflows do not occur.

10 years agoam43xx: Update EMIF DDR3 Configuration for AM43x GP
Franklin S. Cooper Jr [Fri, 27 Jun 2014 18:31:14 +0000 (13:31 -0500)]
am43xx: Update EMIF DDR3 Configuration for AM43x GP

* Boot failures have been discovered due to a combination of routing issues and
  non optimal ddr3 timings in the EMIF
* Since ddr3 timings are different after significant board layout changes
  different timings are required for alpha, beta and production boards.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
10 years agodoc/README.falcon: Clarify steps slightly.
Tom Rini [Fri, 27 Jun 2014 13:03:50 +0000 (09:03 -0400)]
doc/README.falcon: Clarify steps slightly.

Make it clear that we need to load a legacy-formatted (aka uImage)
kernel into memory as well as the DT if used before using "spl export".

Cc: Yebio Mesfin <ymesfin@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
10 years agoboard: ti: dra7xx: add mux data for UART3
Felipe Balbi [Thu, 26 Jun 2014 21:38:05 +0000 (16:38 -0500)]
board: ti: dra7xx: add mux data for UART3

J6 EVM can be built with UART3 as console, but currently
there's nothing muxing UART3 correctly. Likely this only
works because, based on commit log, author was only testing
with UART3 boot and - I assume - ROM code leave UART3 correctly
muxed in that case.

If we want to boot from MMC and still use UART3 as console,
then we need to mux those signals correctly.

Signed-off-by: Felipe Balbi <balbi@ti.com>
10 years agobuild: define CPU only when arch/${ARCH}/cpu/${CPU} exists
Masahiro Yamada [Tue, 24 Jun 2014 13:10:52 +0000 (22:10 +0900)]
build: define CPU only when arch/${ARCH}/cpu/${CPU} exists

The directory arch/${ARCH}/cpu/${CPU} does not exist
in avr32, blackfin, microblaze, nios2, openrisc, sandbox, x86.

These architectures have only one CPU type.
Defining CPU should not be required for such architectures.

This commit allows cpu field (= the 3rd field of boards.cfg)
to be kept blank.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Sonic Zhang <sonic.zhang@analog.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Thomas Chou <thomas@wytron.com.tw>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
10 years agoREADME: document the CONFIG_ENV_IS_IN_FAT option
Wu, Josh [Tue, 24 Jun 2014 09:31:03 +0000 (17:31 +0800)]
README: document the CONFIG_ENV_IS_IN_FAT option

In README file, add document for the missing configuration option:
CONFIG_ENV_IS_IN_FAT.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
10 years agoMakefile: drop arch/*/include/asm/proc from make mrproper pattern
Masahiro Yamada [Tue, 24 Jun 2014 09:15:45 +0000 (18:15 +0900)]
Makefile: drop arch/*/include/asm/proc from make mrproper pattern

Commit 7d89982b stopped creating symbolic link
arch/${arch}/include/asm/proc.

We do not need to delete it by "make mrproper" any more.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Vasili Galka <vvv444@gmail.com>
10 years agoARM: emif4: wait for CM_DLL_READYST to be set
Jeroen Hofstee [Wed, 18 Jun 2014 19:22:35 +0000 (21:22 +0200)]
ARM: emif4: wait for CM_DLL_READYST to be set

The code intends for the CM_DLL_READYST to be set, but
actually polls till any bit is set since the logical
AND is used instead of the bitwise one is used. Fix it.

cc: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
10 years agoAvoid using gawk-specific strtonum()
Simon Glass [Wed, 18 Jun 2014 06:10:15 +0000 (00:10 -0600)]
Avoid using gawk-specific strtonum()

We need to subtract two hex numbers. Avoid using strtonum() by doing the
subtraction in bc with a suitable input base.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Vasili Galka <vvv444@gmail.com>
10 years agobuildman: fix toolchain priority_list
Masahiro Yamada [Mon, 7 Jul 2014 00:47:45 +0000 (09:47 +0900)]
buildman: fix toolchain priority_list

'-elf' appears twice in the toolchain priority_list.
The second one is rudundant.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agobuildman: fix to display warning message for missing [toolchain] section
Masahiro Yamada [Mon, 7 Jul 2014 00:46:36 +0000 (09:46 +0900)]
buildman: fix to display warning message for missing [toolchain] section

Toolchains.__init__ is expected to display a warning message
when the [toolchain] section is missing from ~/.buildman file.
But it never works.
In that case, instead, buildmain fails with an error message
which is difficult to understand:

  Traceback (most recent call last):
    File "tools/buildman/buildman", line 126, in <module>
      control.DoBuildman(options, args)
    File "/home/foo/u-boot/tools/buildman/control.py", line 78, in DoBuildman
      toolchains = toolchain.Toolchains()
    File "/home/foo/u-boot/tools/buildman/toolchain.py", line 106, in __init__
    config_fname)
  NameError: global name 'config_fname' is not defined

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agocosmetic: doc: update README.generic-board
Masahiro Yamada [Mon, 7 Jul 2014 11:08:29 +0000 (20:08 +0900)]
cosmetic: doc: update README.generic-board

Now MIPS supports 'generic board' feature.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agopatman: Only apply patches when we know the original HEAD
Simon Glass [Thu, 12 Jun 2014 05:27:09 +0000 (23:27 -0600)]
patman: Only apply patches when we know the original HEAD

When patman applies the patches it checks out a new branch, uses 'git am'
to apply the patches one by one, and then tries to go back to the old
branch. If you try this when the branch is 'undefined', this doesn't work
as patman cannot restore the correct branch after applying the patches.
It seems that 'undefined' is created by git and is persistent after it is
created, so that you can end up on quite an old branch.

Add a check for the 'undefined' branch to avoid this.

Reported-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
10 years agoMerge branch 'master' of git://git.denx.de/u-boot-i2c
Tom Rini [Mon, 7 Jul 2014 14:10:52 +0000 (10:10 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-i2c

10 years agosocfpga: Relocate arch common functions away from board
Chin Liang See [Tue, 10 Jun 2014 07:23:45 +0000 (02:23 -0500)]
socfpga: Relocate arch common functions away from board

To move the arch common function away from board folder to
arch/arm/cpu/armv7/socfpga folder. Its to avoid code duplication
for other non Altera dev kit which is using socfpga device.

Signed-off-by: Chin Liang See <clsee@altera.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Pavel Machek <pavel@denx.de>
Cc: Dinh Nguyen <dinguyen@altera.com>
Acked-by: Detlev Zundel <dzu@denx.de>
10 years agointegrator: switch to generic board
Linus Walleij [Mon, 23 Jun 2014 09:15:16 +0000 (11:15 +0200)]
integrator: switch to generic board

Turn on generic board for the integrators, as per the request in
the startup message. Everything just works, tested on the
Integrator/AP and Integrator/CP.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agoARM: rpi_b: enable GENERIC_BOARD
Stephen Warren [Sat, 14 Jun 2014 05:37:49 +0000 (23:37 -0600)]
ARM: rpi_b: enable GENERIC_BOARD

Serial port, SD card, and LCD all work.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agoarm, calimain: Add CONFIG_SYS_GENERIC_BOARD
Christian Riesch [Thu, 12 Jun 2014 06:11:53 +0000 (08:11 +0200)]
arm, calimain: Add CONFIG_SYS_GENERIC_BOARD

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
10 years agoarm: Fix armv8 compilation error
Shaibal.Dutta [Mon, 9 Jun 2014 20:25:52 +0000 (13:25 -0700)]
arm: Fix armv8 compilation error

Fix following compilation error when CONFIG_ARM64 is defined

Error: unknown or missing system register name at operand 2
-- `mrs x0,daifmsr daifset,#3'

Signed-off-by: Shaibal.Dutta <shaibal.dutta@broadcom.com>
Signed-off-by: Darwin Rambo <drambo@broadcom.com>
Reviewed-by: Darwin Rambo <drambo@broadcom.com>
10 years agoarm:board:h2200: Add CONFIG_SYS_GENERIC_BOARD
Łukasz Dałek [Thu, 12 Jun 2014 13:53:47 +0000 (15:53 +0200)]
arm:board:h2200: Add CONFIG_SYS_GENERIC_BOARD

Enable 'generic board init' for H2200 palmtop.

Signed-off-by: Lukasz Dalek <luk0104@gmail.com>
Acked-by: Marek Vasut <marex@denx.de>
10 years agoarm: spl: fix include guard
Jeroen Hofstee [Wed, 11 Jun 2014 20:01:48 +0000 (22:01 +0200)]
arm: spl: fix include guard

cc: Tom Rini <trini@ti.com>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
10 years agoReformat boards.cfg
Albert ARIBAUD [Fri, 4 Jul 2014 22:36:57 +0000 (00:36 +0200)]
Reformat boards.cfg

Run tools/reformat.py -i -d '-' -s 8
to reorder boards as header comments suggest

10 years agosocfpga: Adding Scan Manager driver
Chin Liang See [Tue, 10 Jun 2014 06:17:42 +0000 (01:17 -0500)]
socfpga: Adding Scan Manager driver

Scan Manager driver will be called to configure the IOCSR
scan chain. This configuration will setup the IO buffer settings

Signed-off-by: Chin Liang See <clsee@altera.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
Cc: Wolfgang Denk <wd@denx.de>
CC: Pavel Machek <pavel@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
10 years agosocfpga: Adding DesignWare watchdog support
Chin Liang See [Tue, 10 Jun 2014 06:11:04 +0000 (01:11 -0500)]
socfpga: Adding DesignWare watchdog support

To enable the DesignWare watchdog support at SOCFPGA
Cyclone V dev kit.

Signed-off-by: Chin Liang See <clsee@altera.com>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@ti.com>
10 years agowatchdog/denali: Adding DesignWare watchdog driver support
Chin Liang See [Tue, 10 Jun 2014 06:10:21 +0000 (01:10 -0500)]
watchdog/denali: Adding DesignWare watchdog driver support

To add the DesignWare watchdog driver support. It required
information such as register base address and clock info from
configuration header file  within include/configs folder.

Signed-off-by: Chin Liang See <clsee@altera.com>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@ti.com>
10 years agoarm: ep9315: Return back Cirrus Logic EDB9315A board support
Sergey Kostanbaev [Wed, 25 Jun 2014 19:44:29 +0000 (23:44 +0400)]
arm: ep9315: Return back Cirrus Logic EDB9315A board support

This patch returns back support for old ep93xx processors family

Signed-off-by: Sergey Kostanbaev <sergey.kostanbaev@gmail.com>
Cc: albert.u.boot@aribaud.net
10 years agogpio: spear_gpio: Fix gpio_set_value() implementation
Axel Lin [Sun, 25 May 2014 02:31:18 +0000 (10:31 +0800)]
gpio: spear_gpio: Fix gpio_set_value() implementation

In current gpio_set_value() implementation, it always sets the gpio control bit
no matter the value argument is 0 or 1. Thus the GPIOs never set to low.
This patch fixes this bug.

The address bus is used as a mask on read/write operations, so that independent
software drivers can set their GPIO bits without affecting any other pins in a
single write operation. Thus we don't need a read-modify-write to update the
register.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Stefan Roese <sr@denx.de>
Reviewed-by: Vipin Kumar <vipin.kumar@st.com>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
10 years agoARM: cache_v7: use __weak
Jeroen Hofstee [Mon, 23 Jun 2014 20:07:04 +0000 (22:07 +0200)]
ARM: cache_v7: use __weak

This is not only more readable but also prevents a warning
about a missing prototype. The prototypes which are actually
missing are added.

cc: Albert Aribaud <albert.u.boot@aribaud.net>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
Reviewed-by: Tom Rini <trini@ti.com>
10 years agoARMv8/ls2085a_emu: Add LS2085A emulator and simulator board support
York Sun [Mon, 23 Jun 2014 22:15:56 +0000 (15:15 -0700)]
ARMv8/ls2085a_emu: Add LS2085A emulator and simulator board support

LS2085A is an ARMv8 implementation. This adds board support for emulator
and simulator:
  Two DDR controllers
  UART2 is used as the console
  IFC timing is tightened for speedy booting
  Support DDR3 and DDR4 as separated targets
  Management Complex (MC) is enabled
  Support for GIC 500 (based on GICv3 arch)

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Arnab Basu <arnab.basu@freescale.com>
Signed-off-by: J. German Rivera <German.Rivera@freescale.com>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
10 years agoarmv8/fsl-lsch3: Add support to load and start MC Firmware
J. German Rivera [Mon, 23 Jun 2014 22:15:55 +0000 (15:15 -0700)]
armv8/fsl-lsch3: Add support to load and start MC Firmware

Adding support to load and start the Layerscape Management Complex (MC)
firmware. First, the MC GCR register is set to 0 to reset all cores. MC
firmware and DPL images are copied from their location in NOR flash to
DDR. MC registers are updated with the location of these images.
Deasserting the reset bit of MC GCR register releases core 0 to run.
Core 1 will be released by MC firmware. Stop bits are not touched for
this step. U-boot waits for MC until it boots up. In case of a failure,
device tree is updated accordingly. The MC firmware image uses FIT format.

Signed-off-by: J. German Rivera <German.Rivera@freescale.com>
Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Lijun Pan <Lijun.Pan@freescale.com>
Signed-off-by: Shruti Kanetkar <Shruti@Freescale.com>
10 years agoARMv8/FSL_LSCH3: Add FSL_LSCH3 SoC
York Sun [Mon, 23 Jun 2014 22:15:54 +0000 (15:15 -0700)]
ARMv8/FSL_LSCH3: Add FSL_LSCH3 SoC

Freescale LayerScape with Chassis Generation 3 is a set of SoCs with
ARMv8 cores and 3rd generation of Chassis. We use different MMU setup
to support memory map and cache attribute for these SoCs. MMU and cache
are enabled very early to bootst performance, especially for early
development on emulators. After u-boot relocates to DDR, a new MMU
table with QBMan cache access is created in DDR. SMMU pagesize is set
in SMMU_sACR register. Both DDR3 and DDR4 are supported.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com>
Signed-off-by: Arnab Basu <arnab.basu@freescale.com>
10 years agoARMv8: Adjust MMU setup
York Sun [Mon, 23 Jun 2014 22:15:53 +0000 (15:15 -0700)]
ARMv8: Adjust MMU setup

Make MMU function reusable. Platform code can setup its own MMU tables.

Signed-off-by: York Sun <yorksun@freescale.com>
CC: David Feng <fenghua@phytium.com.cn>
10 years agoAdded 64-bit MMIO accessors for ARMv8
J. German Rivera [Mon, 23 Jun 2014 22:15:52 +0000 (15:15 -0700)]
Added 64-bit MMIO accessors for ARMv8

This is needed for accessing peripherals with 64-bit MMIO registers,
from ARMv8 processors.

Signed-off-by: J. German Rivera <German.Rivera@freescale.com>
10 years agoarm: Add support for semihosting for armv8 fastmodel targets.
Darwin Rambo [Mon, 9 Jun 2014 18:12:59 +0000 (11:12 -0700)]
arm: Add support for semihosting for armv8 fastmodel targets.

The armv8 ARM Trusted Firmware (ATF) can be used to load various ATF
images and u-boot, and does this for virtual platforms by using
semihosting. This commit extends this idea by allowing u-boot to also
use semihosting to load the kernel/ramdisk/dtb. This eliminates the need
for a bootwrapper and produces a more realistic boot sequence with
virtual models.

Though the semihosting code is quite generic, support for armv7 in
fastmodel is less useful due to the wide range of available silicon
and the lack of a free armv7 fastmodel, so this change contains an
untested armv7 placeholder for the service trap opcode.

Please refer to doc/README.semihosting for a more detailed description
of semihosting and how it is used with the armv8 virtual platforms.

Signed-off-by: Darwin Rambo <drambo@broadcom.com>
Cc: trini@ti.com
Cc: fenghua@phytium.com.cn
Cc: bhupesh.sharma@freescale.com
10 years agoi2c: tegra: dump alen in debug statements
Stephen Warren [Wed, 25 Jun 2014 16:57:29 +0000 (10:57 -0600)]
i2c: tegra: dump alen in debug statements

Since tegra_i2c_{read,write}'s debug() call dumps the chip address, dump
the address length (alen) too, so the address value can be correctly
interpreted.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Yen Lin <yelin@nvidia.com>
10 years agoi2c: tegra: write clean data to TX FIFO
Stephen Warren [Wed, 25 Jun 2014 16:57:28 +0000 (10:57 -0600)]
i2c: tegra: write clean data to TX FIFO

The Tegra I2C controller's TX FIFO contains 32-bit words. If the final
FIFO entry of a transaction contains fewer than 4 bytes, the driver
currently fills the unused FIFO bytes with uninitialized data. This can
be confusing when reading back the FIFO content for debugging purposes.

Solve this by explicitly initializing the variable containing FIFO data
before filling it (partially) with data. With this change,
send_recv_packets()'s loop's if (is_write) code mirrors the else (i.e.
read) branch.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Yen Lin <yelin@nvidia.com>
10 years agoi2c: tegra: use repeated start for reads
Stephen Warren [Wed, 25 Jun 2014 16:57:27 +0000 (10:57 -0600)]
i2c: tegra: use repeated start for reads

I2C read transactions are typically implemented as follows:

START(write) address REPEATED_START(read) data... STOP

However, Tegra's I2C driver currently implements reads as follows:

START(write) address STOP START(read) data... STOP

This sequence confuses at least the AS3722 PMIC on the Jetson TK1 board,
leading to corrupted read data in some cases. Fix the driver to chain
the transactions together using repeated starts to solve this.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Yen Lin <yelin@nvidia.com>
10 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Tom Rini [Wed, 2 Jul 2014 20:38:02 +0000 (16:38 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

10 years agoPrepare v2014.07-rc4 v2014.07-rc4
Tom Rini [Wed, 2 Jul 2014 17:36:19 +0000 (13:36 -0400)]
Prepare v2014.07-rc4

Signed-off-by: Tom Rini <trini@ti.com>
10 years agousb: ci_udc: use var name ep/ci_ep consistently
Stephen Warren [Tue, 1 Jul 2014 20:22:27 +0000 (14:22 -0600)]
usb: ci_udc: use var name ep/ci_ep consistently

Almost all of ci_udc.c uses variable name "ep" for a struct usb_ep and
"ci_ep" for a struct ci_ep. This is nice and consistent, and helps people
know what type a variable is without searching for the declaration.
handle_ep_complete() doesn't do this, so fix it to be consistent.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoUSB: gadget: atmel: zero out allocated requests
Stephen Warren [Tue, 1 Jul 2014 22:59:08 +0000 (16:59 -0600)]
USB: gadget: atmel: zero out allocated requests

A UDC's alloc_request method should zero out the newly allocated request.
Ensure the Atmel driver does so. This issue was found by code inspection,
following the investigation of an intermittent issue with ci_udc, which
was tracked down to failing to zero out allocated requests following some
of my changes. All other UDC drivers already zero out requests in one
way or another.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agousb: ci_udc: don't memalign() struct ci_req allocations
Stephen Warren [Tue, 1 Jul 2014 17:41:18 +0000 (11:41 -0600)]
usb: ci_udc: don't memalign() struct ci_req allocations

struct ci_req is a purely software structure, and needs no specific
memory alignment. Hence, allocate it with calloc() rather than
memalign(). The use of memalign() was left-over from when struct ci_req
was going to hold the aligned bounce buffer, but this is now dynamically
allocated.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agousb: ci_udc: remove controller.items array
Stephen Warren [Tue, 1 Jul 2014 17:41:17 +0000 (11:41 -0600)]
usb: ci_udc: remove controller.items array

There's no need to store an array of QTD pointers in the controller.
Since the calculation is so simple, just have ci_get_qtd() perform it
at run-time, rather than pre-calculating everything.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agousb: ci_udc: fix items array size/stride calculation
Stephen Warren [Tue, 1 Jul 2014 17:41:16 +0000 (11:41 -0600)]
usb: ci_udc: fix items array size/stride calculation

2 QTDs are allocated for each EP. The current allocation scheme aligns
the first QTD in each pair, but simply adds the struct size to calculate
the second QTD's address. This will result in a non-cache-aligned
addresss IF the system's ARCH_DMA_MINALIGN is not 32 bytes (i.e. the
size of struct ept_queue_item).

Similarly, the original ilist_ent_sz calculation aligned the value to
ARCH_DMA_MINALIGN but didn't take the USB HW's 32-byte alignment
requirement into account. This doesn't cause a practical issue unless
ARCH_DMA_MINALIGN < 32 (which I suspect is quite unlikely), but we may
as well fix the code to be explicit, so it's obviously completely
correct.

The new value of ILIST_ENT_SZ takes all alignment requirements into
account, so we can simplify ci_{flush,invalidate}_qtd() by simply using
that macro rather than calling roundup().

Similarly, the calculation of controller.items[i] can be simplified,
since each QTD is evenly spaced at its individual alignment requirement,
rather than each pair being aligned, and entries within the pair being
spaced apart only by structure size.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agousb: ci_udc: lift ilist size calculations to global scope
Stephen Warren [Tue, 1 Jul 2014 17:41:15 +0000 (11:41 -0600)]
usb: ci_udc: lift ilist size calculations to global scope

This will allow functions other than ci_udc_probe() to make use of the
constants in a future change.

This in turn requires converting the const int variables to #defines,
since the initialization of one global const int can't depend on the
value of another const int; the compiler thinks it's non-constant if
that dependency exists.

Signed-off-by: Stephen Warren <swarren@nvidia.com>