oweals/u-boot.git
8 years agousb: zynqmp: Add XHCI driver support
Siva Durga Prasad Paladugu [Mon, 16 Nov 2015 11:19:23 +0000 (16:49 +0530)]
usb: zynqmp: Add XHCI driver support

Added USB XHCI driver support for zynqmp.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
8 years agoam33xx: Update serial pdata
Tom Rini [Sun, 6 Dec 2015 16:09:59 +0000 (11:09 -0500)]
am33xx: Update serial pdata

We now want to make sure that we have the platform data for NS16550 when
we do not have OF_CONTROL set.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agodm: tegra: Provide serial platform data for SPL
Simon Glass [Fri, 4 Dec 2015 15:58:39 +0000 (08:58 -0700)]
dm: tegra: Provide serial platform data for SPL

At present an incorrect #if term is preventing this data from being compiled
in. All tegra boards use driver model for serial, so we can just drop this.

Fixes: fde7e18938d8 ("dm: tegra: pci: Move CONFIG_PCI_TEGRA to Kconfig")
Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Thomas Chou <thomas@wytron.com.tw>
8 years agodm: serial: ns16550: Add pre-reloc flag to the driver
Simon Glass [Fri, 4 Dec 2015 15:58:38 +0000 (08:58 -0700)]
dm: serial: ns16550: Add pre-reloc flag to the driver

For platforms that don't use device tree in SPL the only way to mark this
driver as 'required by relocation' is with the DM_FLAG_PRE_RELOC flag. Add
this to ensure that the driver is bound.

Fixes: fde7e18938d8 ("dm: tegra: pci: Move CONFIG_PCI_TEGRA to Kconfig")
Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Thomas Chou <thomas@wytron.com.tw>
8 years agotegra: Remove merge markers in some Kconfig files
Simon Glass [Fri, 4 Dec 2015 15:58:37 +0000 (08:58 -0700)]
tegra: Remove merge markers in some Kconfig files

These were added by mistake in commit fde7e189. They cause a warning when
configuring the boards. Remove them.

Fixes: fde7e18938d8 ("dm: tegra: pci: Move CONFIG_PCI_TEGRA to Kconfig")
Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Reported-by: Kevin Hilman <khilman@linaro.org>
Acked-by: Thomas Chou <thomas@wytron.com.tw>
8 years agorpi: add support for Raspberry Pi Zero
Stephen Warren [Sat, 5 Dec 2015 05:07:46 +0000 (22:07 -0700)]
rpi: add support for Raspberry Pi Zero

For U-Boot's purposes, at present all we care about is ensuring there's
a model table entry.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
8 years agorpi: fix revision scheme parsing
Stephen Warren [Sat, 5 Dec 2015 05:07:45 +0000 (22:07 -0700)]
rpi: fix revision scheme parsing

The RPi has two different schemes for encoding board revision values.
When adding RPi 2 support, I thought that the conflicting type field
values were to be interpreted based on bcm2835-vs-bcm2836. In fact, the
scheme bit determines the encoding. The RPi Zero uses the bcm2835 yet
uses the new encoding scheme. Fix the code to cater for this correctly.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
8 years agorpi: get rid of BCM2835_BOARD_REV_* macros
Stephen Warren [Sat, 5 Dec 2015 05:07:44 +0000 (22:07 -0700)]
rpi: get rid of BCM2835_BOARD_REV_* macros

There are two numbering schemes for the RPi revision values; old and new
scheme. The values within each scheme overlap. Hence, it doesn't make
sense to have absolute/global names for the revision IDs. Get rid of the
names and just use the raw revision/type values to set up the array of
per-revision data.

This change makes most sense when coupled with the next change. However,
it's split out so that the mechanical cut/paste is separate from the
logic changes for easier review and problem bisection.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
8 years agomkimage : Fix generating multi and script images
Philippe De Swert [Thu, 3 Dec 2015 22:11:23 +0000 (00:11 +0200)]
mkimage : Fix generating multi and script images

Seems 92a655c3 broke creating multi and script type images.
Since the file1:file2:file3 string does not get split up,
it fails on trying to open an non-existing file.

mkimage -A arm -O linux -T multi -C none -d zImage:splash.bmp:device.dtb uimage
tools/mkimage: Can't open zImage:splash.bmp:device.dtb: No such file or directory

Since the sizes of the different parts seem to get added in the actual
routine that handles multi and script type images, we can probably skip the
bit of the code that causes the failure for that type of images.

Signed-off-by: Philippe De Swert <philippedeswert@gmail.com>
8 years agocommon: board: Dont relocate FDT incase of CONFIG_OF_EMBED
Siva Durga Prasad Paladugu [Thu, 3 Dec 2015 14:46:03 +0000 (15:46 +0100)]
common: board: Dont relocate FDT incase of CONFIG_OF_EMBED

Don't relocate fdt in case of CONFIG_OF EMBED as the fdt is
already embedded with u-boot image.
Update fdt_blob after relocation as the fdt will be copied
during u-boot relocation.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Alexey Brodkin <abrodkin@synopsys.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com> (QEMU x86)
Tested-by: Thomas Chou <thomas@wytron.com.tw> (Nios2)
Acked-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agospl: mmc: Unify non/driver model spl_mmc_find_device()
Simon Glass [Wed, 2 Dec 2015 17:59:13 +0000 (10:59 -0700)]
spl: mmc: Unify non/driver model spl_mmc_find_device()

It is risky to have two different functions with much the same code. Future
authors may update one but not the other. It is hard to see which parts are
the same and which are different.

Unify the functions and drop the differences that are not really needed.

Note that one puts() becomes printf() as Tom mentioned that this does not
affect image size:

https://patchwork.ozlabs.org/patch/537276/

Note: It would be better to have an empty printf() and avoid the #ifdef for
CONFIG_SPL_LIBCOMMON_SUPPORT.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Michal Simek <michal.simek@xilinx.com>
8 years agospl: mmc: Rename 'mmc' variable to 'mmcp'
Simon Glass [Wed, 2 Dec 2015 17:59:12 +0000 (10:59 -0700)]
spl: mmc: Rename 'mmc' variable to 'mmcp'

The 'p' suffix makes it more obvious that we are dealing with a pointer
to a (pointer) value that will be returned to its caller.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Nikita Kiryanov <nikita@compulab.co.il>
Tested-by: Michal Simek <michal.simek@xilinx.com>
8 years agospl: mmc: Fix compiler warning with CONFIG_DM_MMC
Simon Glass [Wed, 2 Dec 2015 17:59:11 +0000 (10:59 -0700)]
spl: mmc: Fix compiler warning with CONFIG_DM_MMC

Since commit 4188ba3 we get the following warning on rockchip boards:

common/spl/spl_mmc.c:31:24: warning: ‘mmc’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  count = mmc->block_dev.block_read(0, sector, 1, header);
                        ^
common/spl/spl_mmc.c:251:14: note: ‘mmc’ was declared here
  struct mmc *mmc;

Correct this by move the variable init earlier.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Nikita Kiryanov <nikita@compulab.co.il>
8 years agodrivers: remoteproc: rproc-uclass: Fix check for NULL pointers
Nishanth Menon [Tue, 1 Dec 2015 04:05:58 +0000 (22:05 -0600)]
drivers: remoteproc: rproc-uclass: Fix check for NULL pointers

Neither uc_pdata->name nor check_name are supposed to be NULL in
_rproc_name_is_unique(). if uc_pdata->name is NULL, we are not
intialized yet, however if check_data is NULL, we do not have
proper data. Further, if either were NULL, strlen will crap out
while attempting to derefence NULL.

Instead, just check if either of these are NULL and bail out.

This should also fix the following coverity scan warnings:
*** CID 132281:  Null pointer dereferences  (FORWARD_NULL)
/drivers/remoteproc/rproc-uclass.c: 73 in _rproc_name_is_unique()

Reported-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
8 years agoChange e-mail address of Kamil Lulko
Kamil Lulko [Sun, 29 Nov 2015 10:50:53 +0000 (11:50 +0100)]
Change e-mail address of Kamil Lulko

Signed-off-by: Kamil Lulko <kamil.lulko@gmail.com>
8 years agons16550: change reg-shift property default to zero
Thomas Chou [Sun, 29 Nov 2015 06:01:03 +0000 (14:01 +0800)]
ns16550: change reg-shift property default to zero

Change reg-shift property default to zero. When the integer property
is missing, it should be taken as zero. This is consistent to Linux
drivers/tty/serial/of_serial.c.

The x86 and most powerpc use reg-shift of 0. Most others use reg-shift
of 2. While reg-shift of 1 is rarely used.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoarch/arm/cpu/arm920t/ep93xx/led.c: Mark inline functions as static inline
Tom Rini [Sat, 28 Nov 2015 13:04:43 +0000 (08:04 -0500)]
arch/arm/cpu/arm920t/ep93xx/led.c: Mark inline functions as static inline

With gcc-5.x we get warning about inline non-static functions referring to
static elements.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agocommon: cli_hush: avoid memory leak
Peng Fan [Fri, 27 Nov 2015 02:12:02 +0000 (10:12 +0800)]
common: cli_hush: avoid memory leak

Need to free memory avoid memory leak, when error.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
8 years agocommon/Makefile: Compile fdt_support is enabled in SPL
Stefan Roese [Thu, 26 Nov 2015 12:38:15 +0000 (13:38 +0100)]
common/Makefile: Compile fdt_support is enabled in SPL

When CONFIG_SPL_OF_TRANSLATE is enabled fdt_support.c needs to get
compiled. Otherwise fdt_translate_address() is missing which is needed
in dev_get_addr().

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agodefconfig: dra74_evm: enable serial driver model
Mugunthan V N [Thu, 26 Nov 2015 11:55:42 +0000 (17:25 +0530)]
defconfig: dra74_evm: enable serial driver model

Enable serial driver model for dra74_evm as ns16550 supports
driver model.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoarm: dts: dra7-evm: add chosen node to specify serial console device
Mugunthan V N [Thu, 26 Nov 2015 11:55:41 +0000 (17:25 +0530)]
arm: dts: dra7-evm: add chosen node to specify serial console device

Introduce chosen node and specify uart0 to be used as serial console.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoarm: dts: omap: add reg-shift to serial device tree node
Mugunthan V N [Thu, 26 Nov 2015 09:19:10 +0000 (14:49 +0530)]
arm: dts: omap: add reg-shift to serial device tree node

With the commit 'c7b9686d5d48 ("ns16550: unify serial_omap")' all
TI platforms are broken with DM/DT boot as ns16550 driver expects
reg-shift from DT which is not populated for TI platforms.
Earlier it worked as it was hard coded to 2 in serial-omap
driver. So adding the reg-shift to serial nodes for dra7, am4372
and am33xx dtsi files. Tested this patch on am437x-sk-evm,
am437x-gp-evm, am335x-boneblack, dra74x-evm and dra72x-evm.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Thomas Chou <thomas@wytron.com.tw>
8 years agocommon: miiphyutil: avoid memory leak
Peng Fan [Thu, 26 Nov 2015 02:26:59 +0000 (10:26 +0800)]
common: miiphyutil: avoid memory leak

The following code will alloc memory for new_dev and ldev:
"
new_dev = mdio_alloc();
ldev = malloc(sizeof(*ldev));
"
Either new_dev or ldev is NULL, directly return, but this may leak memory.
So before return, using free(ldev) and mdio_free(new_dev) to avoid
leaking memory, also free can handle NULL pointer.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agocommon: mmc: unsigned char compared against 0
Peng Fan [Wed, 25 Nov 2015 09:16:21 +0000 (17:16 +0800)]
common: mmc: unsigned char compared against 0

"enable" is unsigned char type and its value will not be
negative, so discard "enable < 0".

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
Cc: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Cc: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoeeprom: Zap CONFIG_SYS_I2C_MULTI_EEPROMS
Marek Vasut [Tue, 24 Nov 2015 23:37:44 +0000 (00:37 +0100)]
eeprom: Zap CONFIG_SYS_I2C_MULTI_EEPROMS

This symbol is no longer used anywhere, remove it.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Acked-by: Heiko Schocher <hs@denx.de>
8 years agoFix typo: firstly -> first.
Vagrant Cascadian [Tue, 24 Nov 2015 22:46:24 +0000 (14:46 -0800)]
Fix typo: firstly -> first.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Acked-by: Marek Vasut <marex@denx.de>
8 years agoFix typo: commmand -> command.
Vagrant Cascadian [Tue, 24 Nov 2015 22:45:02 +0000 (14:45 -0800)]
Fix typo: commmand -> command.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agompc8xx: remove stale "lwmon" files
Wolfgang Denk [Tue, 24 Nov 2015 13:03:00 +0000 (14:03 +0100)]
mpc8xx: remove stale "lwmon" files

Commit acc2372d "mpc8xx: remove lwmon board support" removed support
for the MPC823 based "lwmon" board, but left some board specific POST
files.  This patch cleans up and removes the now unused files.

Signed-off-by: Wolfgang Denk <wd@denx.de>
8 years agocommon: miiphyutil: no need to check name of mii_dev
Peng Fan [Tue, 24 Nov 2015 09:03:47 +0000 (17:03 +0800)]
common: miiphyutil: no need to check name of mii_dev

The entry name of mii_dev is an array not pointer, so
no need to check.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agocommon: image-fdt: correct fdt_blob for IMAGE_FORMAT_LEGACY
Peng Fan [Tue, 24 Nov 2015 08:54:22 +0000 (16:54 +0800)]
common: image-fdt: correct fdt_blob for IMAGE_FORMAT_LEGACY

If condition of "(load == image_start || load == image_data)" is true,
should use "fdt_addr = load;", but not "fdt_blob = (char *)image_data;",
or fdt_blob will be overridden by "fdt_blob = map_sysmem(fdt_addr, 0);"
at the end of the switch case.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Max Krummenacher <max.krummenacher@toradex.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Suriyan Ramasami <suriyan.r@gmail.com>
Cc: Paul Kocialkowski <contact@paulk.fr>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agocommon: cli_hush: avoid dead code
Peng Fan [Tue, 24 Nov 2015 08:54:21 +0000 (16:54 +0800)]
common: cli_hush: avoid dead code

Condition "(value == NULL && ++value == NULL)" actully will
always return false.

Instead, use condition "(value == NULL || *(value + 1) == 0)" to detect
such expression "c=". To "c=", *(value + 1) is 0, so directly return -1,
but not continue.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Rabin Vincent <rabin@rab.in>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agocommon: bootm: check return value of strict_strtoul
Peng Fan [Tue, 24 Nov 2015 08:54:20 +0000 (16:54 +0800)]
common: bootm: check return value of strict_strtoul

Before continue, check return value of strict_strtoul.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Simon Glass <sjg@chromium.org>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: York Sun <yorksun@freescale.com>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoMerge branch 'master' of http://git.denx.de/u-boot-sparc
Tom Rini [Fri, 4 Dec 2015 22:50:34 +0000 (17:50 -0500)]
Merge branch 'master' of git.denx.de/u-boot-sparc

8 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Fri, 4 Dec 2015 13:21:28 +0000 (08:21 -0500)]
Merge branch 'master' of git://denx.de/git/u-boot-imx

8 years agosparc: Remove non-generic board init files: board.c, time.c
Francois Retief [Sat, 21 Nov 2015 21:15:07 +0000 (23:15 +0200)]
sparc: Remove non-generic board init files: board.c, time.c

Remove the board.c and time.c files and all associated non-generic board
initialization code.

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: leon3: Added busy wait function, made wait_ms() work when IRQ is disabled
Daniel Hellstrom [Fri, 22 Jan 2010 11:02:40 +0000 (12:02 +0100)]
sparc: leon3: Added busy wait function, made wait_ms() work when IRQ is disabled

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
8 years agosparc: leon3: Added CPU count and frequency detection.
Daniel Hellstrom [Fri, 22 Jan 2010 12:25:03 +0000 (13:25 +0100)]
sparc: leon3: Added CPU count and frequency detection.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
8 years agosparc: Removed USB stop from linux bootm, arch-independent bootm stop USB
Daniel Hellstrom [Fri, 22 Jan 2010 12:50:22 +0000 (13:50 +0100)]
sparc: Removed USB stop from linux bootm, arch-independent bootm stop USB

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
8 years agosparc: Use microseconds instead of ticks for timeout
Francois Retief [Mon, 27 Oct 2014 13:56:01 +0000 (15:56 +0200)]
sparc: Use microseconds instead of ticks for timeout

We now use the generic delay method which specifies the timeout as
microseconds instead of ticks.

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: Add CONFIG_DISPLAY_BOARDINFO variable to all LEON boards
Francois Retief [Wed, 28 Oct 2015 14:49:02 +0000 (16:49 +0200)]
sparc: Add CONFIG_DISPLAY_BOARDINFO variable to all LEON boards

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: Update PROM initialization code for generic board
Francois Retief [Mon, 23 Nov 2015 11:05:44 +0000 (13:05 +0200)]
sparc: Update PROM initialization code for generic board

Fixed the prom_relocate() function in start.S file by reserving memory in
the board_init_f sequence and saving the offset to the __prom_start_reloc
variable. This value is used as the destination when relocating the PROM.

Add the prom_init() function to the end of the board_init_r sequence.

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: Update cpu_init.c to use generic timer infrastructure
Francois Retief [Wed, 28 Oct 2015 13:18:22 +0000 (15:18 +0200)]
sparc: Update cpu_init.c to use generic timer infrastructure

Introduce the CONFIG_SYS_TIMER_* macros in include/asm/config.h to make use
of the generic timer infrastructure in lib/time.c.

Created a timer_init() function to initialize the timer hardware and update
the #ifdef in board_init_f to allow this function to be called during the
start-up sequence.

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: leon2: Updates for generic board initialization
Francois Retief [Sat, 21 Nov 2015 11:25:41 +0000 (13:25 +0200)]
sparc: leon2: Updates for generic board initialization

Reworked the LEON2 start.S code to call board_init_f function at startup.
Also implemented the relocate_code function in assembly to relocate the
monitor and setup the stack pointer before calling relocated board_init_r.

Add the CONFIG_SYS_GENERIC_BOARD variable to all the LEON2 boards.

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: leon3: Updates for generic board initialization
Francois Retief [Wed, 28 Oct 2015 22:02:48 +0000 (00:02 +0200)]
sparc: leon3: Updates for generic board initialization

Reworked the LEON3 start.S code to call board_init_f function at startup.
Also implemented the relocate_code function in assembly to relocate the
monitor and setup the stack pointer before calling relocated board_init_r.

Add the CONFIG_SYS_GENERIC_BOARD variable to all the LEON3 boards.

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: leon3: Clear all unused GPTIMER registers.
Daniel Hellstrom [Wed, 22 Sep 2010 15:42:29 +0000 (17:42 +0200)]
sparc: leon3: Clear all unused GPTIMER registers.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
8 years agosparc: leon3: Move ambapp_bus_init() call to arch_cpu_init() function
Francois Retief [Thu, 29 Oct 2015 10:58:52 +0000 (12:58 +0200)]
sparc: leon3: Move ambapp_bus_init() call to arch_cpu_init() function

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: leon3: Move snoop detection from startup.S to arch_cpu_init()
Francois Retief [Wed, 28 Oct 2015 13:48:41 +0000 (15:48 +0200)]
sparc: leon3: Move snoop detection from startup.S to arch_cpu_init()

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: Initial ground work for generic board initialization
Francois Retief [Wed, 28 Oct 2015 12:29:32 +0000 (14:29 +0200)]
sparc: Initial ground work for generic board initialization

Initial ground work in preperation for generic board initialization
code for the SPARC architecture.

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: Fix whitespace in cpu/leon2/cpu_init.c
Francois Retief [Sat, 21 Nov 2015 15:07:48 +0000 (17:07 +0200)]
sparc: Fix whitespace in cpu/leon2/cpu_init.c

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: leon3: Updated serial driver to use CONFIG_CONS_INDEX
Francois Retief [Fri, 30 Oct 2015 11:23:41 +0000 (13:23 +0200)]
sparc: leon3: Updated serial driver to use CONFIG_CONS_INDEX

Updated the LEON3 serial driver to make use of the CONFIG_CONS_INDEX
option to select which serial port the console will use.

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: Serial baud rate register support multiple buses with different frequency
Daniel Hellstrom [Fri, 22 Jan 2010 10:49:04 +0000 (11:49 +0100)]
sparc: Serial baud rate register support multiple buses with different frequency

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
8 years agosparc: leon3: Clear GD_FLAG_SERIAL_READY flag on AMBA failure
Francois Retief [Mon, 23 Nov 2015 07:49:57 +0000 (09:49 +0200)]
sparc: leon3: Clear GD_FLAG_SERIAL_READY flag on AMBA failure

Clear the GD_FLG_SERIAL_READY flag on AMBA P&P lookup failure so that the
panic function can use DEBUG_UART driver. drivers/serial/serial.c set this
flag before calling this function, preventing DEBUG_UART code from running.

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: Added function that checks if IRQ is on or off
Daniel Hellstrom [Fri, 22 Jan 2010 10:57:49 +0000 (11:57 +0100)]
sparc: Added function that checks if IRQ is on or off

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
8 years agosparc: Remove version_string variable from start.S file
Francois Retief [Wed, 28 Oct 2015 13:56:45 +0000 (15:56 +0200)]
sparc: Remove version_string variable from start.S file

Remove the version_string variable from start.S file. A weak variable
is also set in the cmd_version.c file. No need for architecture override.

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agosparc: Move SYS_SPARC_NWINDOWS to Kconfig
Francois Retief [Sun, 1 Nov 2015 13:40:00 +0000 (15:40 +0200)]
sparc: Move SYS_SPARC_NWINDOWS to Kconfig

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
8 years agoRevert "LCD: Add an option to skip registration as an stdio output"
Anatolij Gustschin [Wed, 2 Dec 2015 14:38:00 +0000 (15:38 +0100)]
Revert "LCD: Add an option to skip registration as an stdio output"

This reverts commit 05bfe1321024e2ae0039dc16f17d2165610fb4fd.

As discussed on the list, we already have the needed functionality by
defining CONFIG_SYS_CONSOLE_IS_IN_ENV, CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE
and adding custom overwrite_console() in the board code.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
8 years agoiocon: Disable FIT_VERBOSE
Tom Rini [Tue, 1 Dec 2015 20:49:42 +0000 (15:49 -0500)]
iocon: Disable FIT_VERBOSE

In order to fit into image constraints again, remove this feature.

Signed-off-by: Tom Rini <trini@konsulko.com>
8 years agoarm: imx6: novena: Enable extfs support in SPL
Marek Vasut [Wed, 25 Nov 2015 23:18:45 +0000 (00:18 +0100)]
arm: imx6: novena: Enable extfs support in SPL

Simple patch to enable support for extfs filesystem in SPL,
this is useful to those who want to avoid vfat like plague.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoarm: imx6: novena, gw_ventana: Fix use of pfuze100 bit definitions
Marek Vasut [Thu, 26 Nov 2015 13:08:50 +0000 (14:08 +0100)]
arm: imx6: novena, gw_ventana: Fix use of pfuze100 bit definitions

The following patch changed the PFUZE100 swbst register bit definitions
and broke PMIC configuration on multiple boards, at least on the novena
and gw_ventana. This patch fixes it.

commit 8fa46350a4c7dca7710362f6c871098557b934ad
Author: Peng Fan <Peng.Fan@freescale.com>
Date:   Fri Aug 7 16:43:45 2015 +0800

    power: regulator: add pfuze100 support

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Peng Fan <Peng.Fan@freescale.com>
Cc: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Vagrant Cascadian <vagrant@aikidev.net>
Reviewed-by: Przemyslaw Marczak <p.marczak@samsung.com>
Tested-by: Vagrant Cascadian <vagrant@aikidev.net>
Reviewed-by: Peng Fan <Peng.Fan@freescale.com>
Acked-by: Tim Harvey <tharvey@gateworks.com>
8 years agorockchip: Explicitly set CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN
Sjoerd Simons [Sun, 22 Nov 2015 07:21:04 +0000 (08:21 +0100)]
rockchip: Explicitly set CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN

Now that u-boot relocates the malloc area in SPL to SDRAM, with the
malloc area sitting below the SPL_STACK_R_ADDR the
SPL_STACK_R_MALLOC_SIMPLE_LEN needs to be set explicitly for
rockchip as its SPL_STACK_R_ADDR (512kb) is smaller then
STACK_R_MALLOC_SIMPLE_LEN (1Mb).

Using the same value as SYS_MALLOC_F_LEN (8kb) is enough to load u-boot
from SD card.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoRevert "rockchip: Reconfigure the malloc based to point to system memory"
Sjoerd Simons [Sun, 22 Nov 2015 07:21:03 +0000 (08:21 +0100)]
Revert "rockchip: Reconfigure the malloc based to point to system memory"

This patch was merged shortly before the v2015.10 as a minimal fix for
booting on rockchip. Now that the patch series from Hans to do the
relocation in generic code has been merged it can be dropped.

This reverts commit b1f492ca9e0c090209824ff36456d4f131843190.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: move SYS_MALLOC_SIMPLE to mach-rockchip Kconfig
Ariel D'Alessandro [Mon, 16 Nov 2015 11:15:51 +0000 (08:15 -0300)]
rockchip: move SYS_MALLOC_SIMPLE to mach-rockchip Kconfig

Commit 1eb0c03c2198a7ec9de456b83dacdc4831b96cbf added
SPL_SYS_MALLOC_SIMPLE Kconfig option and changed the way it is
evaluated.

Thus, the definitions of CONFIG_SYS_MALLOC_SIMPLE in rk3***_common.h
board configs are now incorrect because CONFIG_SPL_BUILD is enabled so
CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE) will look for SPL_SYS_MALLOC_SIMPLE
instead of SYS_MALLOC_SIMPLE.

This commit fix this enabling SPL_SYS_MALLOC_SIMPLE with the new Kconfig
option by default in rockchip-mach.

Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: doc: show packet rk3036 uboot image
huang lin [Tue, 17 Nov 2015 06:20:31 +0000 (14:20 +0800)]
rockchip: doc: show packet rk3036 uboot image

show how to packet rk3036 uboot image and boot from SD

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
Series-to: u-boot
Series-version: 8
Series-cc: Lin Huang <hl@rock-chips.com>

8 years agorockchip: Add support for rk's second level loader
Jeffy Chen [Tue, 17 Nov 2015 06:20:30 +0000 (14:20 +0800)]
rockchip: Add support for rk's second level loader

The Rockchip boot ROM could load & run an initial spl loader,
and continue to load a second level boot-loader(which stored
right after the initial loader) when it returns.
Modify idblock generation code to support it.

Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: Add max spl size & spl header configs
Jeffy Chen [Tue, 17 Nov 2015 06:20:29 +0000 (14:20 +0800)]
rockchip: Add max spl size & spl header configs

Our chips may have different max spl size and spl header, so
we need to add configs for that.

Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
Dropped CONFIG_ROCKCHIP_MAX_SPL_SIZE from rk3288_common.h,
Added $(if...) to tools/Makefile to fix widespread build breakage
Signed-off-by: Simon Glass <sjg@chromium.org>
Series-changes: 8
- Drop CONFIG_ROCKCHIP_MAX_SPL_SIZE from rk3288_common.h,
- Add $(if...) to tools/Makefile to fix widespread build breakage

8 years agorockchip: Add basic support for evb-rk3036 board
huang lin [Tue, 17 Nov 2015 06:20:28 +0000 (14:20 +0800)]
rockchip: Add basic support for evb-rk3036 board

This add some basic files required to allow the board to dispaly
serial message and can run command(mmc info etc)

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
Moved board Kconfig fragment from previous patch into this one to fix
build error:
Signed-off-by: Simon Glass <sjg@chromium.org>
Series-changes: 8
- moved board Kconfig fragment from previous patch into this one

8 years agorockchip: rk3036: Add core Soc start-up code
huang lin [Tue, 17 Nov 2015 06:20:27 +0000 (14:20 +0800)]
rockchip: rk3036: Add core Soc start-up code

rk3036 only 4K size SRAM for SPL, so only support
timer, uart, sdram driver in SPL stage, when finish
initial sdram, back to bootrom.And in rk3036 sdmmc and
debug uart use same iomux, so if you want to boot from
sdmmc, you must disable debug uart.

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
Fixed build error for chromebook_jerry, firefly-rk3288:
Signed-off-by: Simon Glass <sjg@chromium.org>
Series-changes: 8
- Fix build error for chromebook_jerry, firefly-rk3288

8 years agorockchip: add rk3036 sdram driver
huang lin [Tue, 17 Nov 2015 06:20:26 +0000 (14:20 +0800)]
rockchip: add rk3036 sdram driver

add rk3036 sdram driver so we can set up sdram in SPL

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: add early uart driver
huang lin [Tue, 17 Nov 2015 06:20:25 +0000 (14:20 +0800)]
rockchip: add early uart driver

add early uart driver so we can print debug message in
SPL stage

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: mmc: get the fifo mode and fifo depth property from dts
huang lin [Tue, 17 Nov 2015 06:20:24 +0000 (14:20 +0800)]
rockchip: mmc: get the fifo mode and fifo depth property from dts

rk3036 mmc do not have internal dma, so we use fifo mode when read
and write data, we get the fifo mode and fifo depth property from
dts, pass to dw_mmc driver.

Signed-off-by: Lin Huang <hl@rock-chips.com>
8 years agorockchip: mmc: use non-removable property to distinguish emmc and sdcard register
huang lin [Wed, 18 Nov 2015 01:37:25 +0000 (09:37 +0800)]
rockchip: mmc: use non-removable property to distinguish emmc and sdcard register

emmc and sdcard have different register address, use non-removeable property
to distinguish them.

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agommc: dw_mmc: support fifo mode in dwc mmc driver
huang lin [Tue, 17 Nov 2015 06:20:22 +0000 (14:20 +0800)]
mmc: dw_mmc: support fifo mode in dwc mmc driver

some soc(rk3036 etc) use dw_mmc but do not have internal dma,
so we implement fifo mode to read and write data.

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agommc: dw_mmc: move data transfer as a separate function
huang lin [Tue, 17 Nov 2015 06:20:21 +0000 (14:20 +0800)]
mmc: dw_mmc: move data transfer as a separate function

the data transfer seem to long in the dwmci_send_cmd function,
so move this block as a separate funciton.

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: rk3036: Add pinctrl driver
huang lin [Tue, 17 Nov 2015 06:20:20 +0000 (14:20 +0800)]
rockchip: rk3036: Add pinctrl driver

Add a driver which support pin multiplexing setup for rk3036

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: rk3036: Add a simple syscon driver
huang lin [Tue, 17 Nov 2015 06:20:19 +0000 (14:20 +0800)]
rockchip: rk3036: Add a simple syscon driver

Add a driver that provides access to system controllers

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: rk3036: Add Soc reset driver
huang lin [Tue, 17 Nov 2015 06:20:18 +0000 (14:20 +0800)]
rockchip: rk3036: Add Soc reset driver

We can reset the Soc using some CRU (clock/reset unit) register.
Add support for this.

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: rk3036: Add header files for GRF
huang lin [Tue, 17 Nov 2015 06:20:17 +0000 (14:20 +0800)]
rockchip: rk3036: Add header files for GRF

GRF is the gereral register file. Add header files with register definitions.

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: rk3036: Add clock driver
huang lin [Tue, 17 Nov 2015 06:20:16 +0000 (14:20 +0800)]
rockchip: rk3036: Add clock driver

Add a driver for setting up and modifying the various PLLs, peripheral
clocks and mmc clocks on RK3036

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: Bring in RK3036 device tree file includes and bindings
huang lin [Tue, 17 Nov 2015 06:20:15 +0000 (14:20 +0800)]
rockchip: Bring in RK3036 device tree file includes and bindings

Since rk3036 device tree file still in reviewing, bring it from
https://patchwork.kernel.org/patch/7203371/ and add some aliases
we need in uboot

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: serial driver support rk3036
huang lin [Tue, 17 Nov 2015 06:20:14 +0000 (14:20 +0800)]
rockchip: serial driver support rk3036

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agodm: core: Add SPL Kconfig for REGMAP and SYSCON
huang lin [Tue, 17 Nov 2015 06:20:13 +0000 (14:20 +0800)]
dm: core: Add SPL Kconfig for REGMAP and SYSCON

Add SPL Kconfig for REGMAP and SYSCON, so REGMAP and SYSCON can
remove from SPL stage.

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: add config decide whether to build common.c
huang lin [Tue, 17 Nov 2015 06:20:12 +0000 (14:20 +0800)]
rockchip: add config decide whether to build common.c

some rockchips soc will not use uclass in SPL stage,
so define config to decide whether to build common.c

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: rename board-spl.c to rk3288-board-spl.c
huang lin [Tue, 17 Nov 2015 06:20:11 +0000 (14:20 +0800)]
rockchip: rename board-spl.c to rk3288-board-spl.c

since different rockchip soc need different spl file,
so rename board-spl.c.

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: move SYS_MALLOC_F_LEN to rk3288 own Kconfig
huang lin [Tue, 17 Nov 2015 06:20:10 +0000 (14:20 +0800)]
rockchip: move SYS_MALLOC_F_LEN to rk3288 own Kconfig

since different rockchip SOC have different size of SRAM,
So the size SYS_MALLOC_F_LEN may different, so move this
config to rk3288 own Kconfig

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: add timer driver
huang lin [Tue, 17 Nov 2015 06:20:09 +0000 (14:20 +0800)]
rockchip: add timer driver

some rockchip soc will not include lib/timer.c in SPL stage,
so implement timer driver for some soc can use us delay function in SPL.

Signed-off-by: Lin Huang <hl@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: firefly: Save the environment on SD card
Sjoerd Simons [Fri, 18 Sep 2015 21:49:12 +0000 (23:49 +0200)]
rockchip: firefly: Save the environment on SD card

Save the environment on the SD card for Firefly in the empty space
between the SPL and the u-boot image.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: Also load the initrd below 512M
Sjoerd Simons [Fri, 18 Sep 2015 21:49:11 +0000 (23:49 +0200)]
rockchip: Also load the initrd below 512M

Similar to load an fdt, when loading an initrd about the 512Mb mark
things seem to break. For now force loading below 512Mb until the reason
why this fails has been determined/solved.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoARM: mxs: fix VDDD brownout setting
Michael Heimpold [Sun, 15 Nov 2015 21:47:12 +0000 (22:47 +0100)]
ARM: mxs: fix VDDD brownout setting

At the moment, the desired brownout is at 1.0V. However,
this setting cannot be realized by hardware since we have
only 3 bits to represent the voltage difference from the
target value.

Target value is 1500 mV, brownout target is 1000 mV,
voltage steps are 25 mV.

Register content calculation:
  (1500 [mV] - 1000 [mV]) / 25 [mV] = 20 (decimal) = 0x14

  Register takes only 3 bits, that is 0x4.

But 0x4 * 25 [mV] = 100 [mV], that means that actual
brownout level is 1500 [mV] - 100 [mV] = 1.4 V.

Minimum possible BO level is
  1500 [mV] - 0x7 * 25 [mV] = 1315 [mV].

So lets use this value as desired BO value (which is
also the same as FSL bootlets use).

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Cc: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
8 years agodm: pci: Disable PCI compatibility functions by default
Simon Glass [Fri, 27 Nov 2015 02:51:30 +0000 (19:51 -0700)]
dm: pci: Disable PCI compatibility functions by default

We eventually need to drop the compatibility functions for driver model. As
a first step, create a configuration option to enable them and hide them
when the option is disabled.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agodm: pci: Convert 'pci' command to driver model
Simon Glass [Fri, 27 Nov 2015 02:51:29 +0000 (19:51 -0700)]
dm: pci: Convert 'pci' command to driver model

Adjust this command to use the correct PCI functions, instead of the
compatibility layer.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
8 years agopci: Move PCI header output code into its own function
Simon Glass [Fri, 27 Nov 2015 02:51:28 +0000 (19:51 -0700)]
pci: Move PCI header output code into its own function

We want to share this code with the driver model version, so put it in a
separate function.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agopci: Use a separate 'dev' variable for the PCI device
Simon Glass [Fri, 27 Nov 2015 02:51:27 +0000 (19:51 -0700)]
pci: Use a separate 'dev' variable for the PCI device

In the 'pci' command, add a separate variable to hold the PCI device. When
this code is converted to driver model, this variable will be used to hold a
struct udevice instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agopci: Use common functions to read/write config
Simon Glass [Fri, 27 Nov 2015 02:51:26 +0000 (19:51 -0700)]
pci: Use common functions to read/write config

Currently we use switch() and access PCI configuration via several
functions, one for each data size. Adjust the code to use generic functions,
where the data size is a parameter.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
8 years agopci: Tidy up function comments in cmd_pci.c
Simon Glass [Fri, 27 Nov 2015 02:51:25 +0000 (19:51 -0700)]
pci: Tidy up function comments in cmd_pci.c

The function comments use an old style and some are incorrect. Update them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agodm: pci: Reorder functions in cmd_pci.c
Simon Glass [Fri, 27 Nov 2015 02:51:24 +0000 (19:51 -0700)]
dm: pci: Reorder functions in cmd_pci.c

Before converting this to driver model, reorder the code to avoid forward
function declarations.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agodm: pci: Move common auto-config functions to a common file
Simon Glass [Fri, 27 Nov 2015 02:51:23 +0000 (19:51 -0700)]
dm: pci: Move common auto-config functions to a common file

Some functions will be used by driver model and legacy PCI code. To avoid
duplication, put these in a separate, shared file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agodm: pci: Rename pci_auto.c to pci_auto_old.c
Simon Glass [Fri, 27 Nov 2015 02:51:22 +0000 (19:51 -0700)]
dm: pci: Rename pci_auto.c to pci_auto_old.c

This file should not be used with driver model as it has lots of legacy/
compatibility functions. Rename it to make this clear.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agodm: pci: Add a comment about how to find struct pci_controller
Simon Glass [Fri, 27 Nov 2015 02:51:21 +0000 (19:51 -0700)]
dm: pci: Add a comment about how to find struct pci_controller

With driver mode, struct pci_controller is stored as uclass-private data.
Add a comment to that effect.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agopci: Refactor the pciinfo() function
Simon Glass [Fri, 27 Nov 2015 02:51:20 +0000 (19:51 -0700)]
pci: Refactor the pciinfo() function

This function uses macros to output data. It seems better to use a table of
registers rather than macro-based code generation. It also reduces the
code/data size by 2KB on ARM.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
8 years agopci: Use a separate variable for the bus number
Simon Glass [Fri, 27 Nov 2015 02:51:19 +0000 (19:51 -0700)]
pci: Use a separate variable for the bus number

At present in do_pci(), bdf can either mean a bus number or a PCI bus number.
Use separate variables instead to reduce confusion.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>