profile/common/platform/kernel/u-boot-artik.git
9 years agogen: Add progressive hash API
Hung-ying Tyan [Mon, 3 Mar 2014 11:19:28 +0000 (12:19 +0100)]
gen: Add progressive hash API

Add hash_init(), hash_update() and hash_finish() to the
hash_algo struct. Add hash_lookup_algo() to look up the
struct given an algorithm name.

Signed-off-by: Hung-ying Tyan <tyanh@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heiko Schocher <hs@denx.de>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agohash.c: Correct non-hash subcommand crc32 addr-save support
Tom Rini [Thu, 7 Nov 2013 12:39:48 +0000 (07:39 -0500)]
hash.c: Correct non-hash subcommand crc32 addr-save support

In the case of not having CONFIG_CMD_HASH but having CONFIG_CMD_CRC32
enabled (and not CONFIG_CRC32_VERIFY), we end up in this part of the
code path on hash_command().  However, we will only have exactly 3 args
here, and 3 > 3 is false, and we will not try and store the hash at the
address given as arg #3.  The next problem however is that we've been
moving argv around so the third value is now in argv[0] not argv[3].

Confirmed on AM335x Beaglebone White.

Signed-off-by: Tom Rini <trini@ti.com>
9 years agohash: Add a way to calculate a hash for any algortihm
Simon Glass [Tue, 7 May 2013 06:11:47 +0000 (06:11 +0000)]
hash: Add a way to calculate a hash for any algortihm

Rather than needing to call one of many hashing algorithms in U-Boot,
provide a function hash_block() which handles this, and can support all
available hash algorithms.

Once we have md5 supported within hashing, we can use this function in
the FIT image code.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agogen: Add sha h/w acceleration to hash
Akshay Saraswat [Wed, 20 Mar 2013 21:00:58 +0000 (21:00 +0000)]
gen: Add sha h/w acceleration to hash

Adding H/W acceleration support to hash which can be used
to test SHA 256 hash algorithm.

Signed-off-by: ARUN MANKUZHI <arun.m@samsung.com>
Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agocmd_mem.c: Fix warning when CONFIG_CMD_MEMTEST is not set
Tom Rini [Tue, 12 Mar 2013 14:07:19 +0000 (10:07 -0400)]
cmd_mem.c: Fix warning when CONFIG_CMD_MEMTEST is not set

mem_test_quick and mem_test_alt functions are only called by
do_mem_mtest, so move them under the #ifdef

Signed-off-by: Tom Rini <trini@ti.com>
9 years agoFeature Removal: disable "mtest" command by default
Wolfgang Denk [Fri, 8 Mar 2013 10:51:32 +0000 (10:51 +0000)]
Feature Removal: disable "mtest" command by default

The "mtest" command is of little practical use (if any), and
experience has shown that a large number of board configurations
define useless or even dangerous start and end addresses.  If not even
the board maintainers are able to figure out which memory range can be
reliably tested, how can we expect such from the end users?  As this
problem comes up repeatedly, we rather do not enable this command by
default, so only people who know what they are doing will be
confronted with it.

As this changes the user interface, we allow for a grace period
before this change takes effect. For now, we make "mtest"
configurable through the CONFIG_CMD_MEMTEST variable, which is defined
in include/config_cmd_default.h;  we also add an entry to
doc/feature-removal-schedule.txt which announces the removal of this
default setting in two releases from now, i. e. with v2013.07.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Tom Rini <trini@ti.com>
9 years agohash: Use lower case for hash algorithm names
Simon Glass [Sun, 24 Feb 2013 17:33:32 +0000 (17:33 +0000)]
hash: Use lower case for hash algorithm names

Rather than use strcasecmp() in the hash algorithm search, require the
caller to do this first. Most of U-Boot can use lower case anyway, and
the hash command can convert to lower case before calling hash_command().
This saves needing strcasecmp() for boards that use hashing but not
the hash command.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Allow hash functions to work correctly
Simon Glass [Sun, 24 Feb 2013 17:33:31 +0000 (17:33 +0000)]
sandbox: Allow hash functions to work correctly

Use map_sysmem() so that hashing is possible on sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Update mtest to fix crashes
Simon Glass [Thu, 28 Feb 2013 17:47:14 +0000 (17:47 +0000)]
sandbox: Update mtest to fix crashes

Use map_sysmem() in the memory tester so that it works as expected on
sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoMove CONFIG_SYS_MEMTEST_SCRATCH #ifdef to top of file
Simon Glass [Sun, 24 Feb 2013 17:33:29 +0000 (17:33 +0000)]
Move CONFIG_SYS_MEMTEST_SCRATCH #ifdef to top of file

This config effectively has a default value of 0, so add this setting
at the top of the code to remove an #ifdef in the C function.

Signed-off-by: Simon Glass <sjg@chromium.org>
Conflicts:
common/cmd_mem.c

9 years agoRoll crc32 into hash infrastructure
Simon Glass [Sun, 24 Feb 2013 20:30:22 +0000 (20:30 +0000)]
Roll crc32 into hash infrastructure

Add the CRC32 algorithm to the list of available hashes, and make
the crc32 command use hash_command(). Add a new crc32_wd_buf() to
make this possible, which puts its result in a buffer rather than
returning it as a 32-bit value.

Note: For some boards the hash command is not enabled, neither
are sha1, sha256 or the verify option. In this case the full
hash implementation adds about 500 bytes of overhead. So as a
special case, we use #ifdef to select very simple bahaviour in
that case. The justification for this is that it is currently
a very common case (virtually all boards enable crc32 but only
some enable more advanced features).

Signed-off-by: Simon Glass <sjg@chromium.org>
Conflicts:
common/cmd_mem.c

9 years agoReduce casting in mtest
Simon Glass [Sun, 24 Feb 2013 17:33:20 +0000 (17:33 +0000)]
Reduce casting in mtest

Use a ulong for the command arguments, and only cast to an address when
needed. This fixes warnings in sandbox where pointers are typically 64 bits
long.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoBring mtest putc() into common code
Simon Glass [Sun, 24 Feb 2013 17:33:19 +0000 (17:33 +0000)]
Bring mtest putc() into common code

If we get a Ctrl-C abort, we always print a newline. Move this repeated
code out of the functions and into a single place in the caller.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoFix mtest indenting
Simon Glass [Sun, 24 Feb 2013 17:33:18 +0000 (17:33 +0000)]
Fix mtest indenting

Some of the inner loops are not indented correctly. Fix this.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoUse common mtest iteration counting
Simon Glass [Sun, 24 Feb 2013 17:33:17 +0000 (17:33 +0000)]
Use common mtest iteration counting

The iteration code is the same for each version of the memory test, so
pull it out into the common function.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoSplit out the memory tests into separate functions
Simon Glass [Sun, 24 Feb 2013 17:33:16 +0000 (17:33 +0000)]
Split out the memory tests into separate functions

Half of the code is currently hidden behind an #ifdef. Move the two
memory tests into their own functions and use the compiler to eliminate
the unused code.

Signed-off-by: Simon Glass <sjg@chromium.org>
Conflicts:
common/cmd_mem.c

9 years agosandbox: Change memory commands to use map_physmem
Simon Glass [Sun, 24 Feb 2013 17:33:15 +0000 (17:33 +0000)]
sandbox: Change memory commands to use map_physmem

Sandbox wants to support commands which use memory. The map_sysmen()
call provides this feature, so use this in the memory commands.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agocmd_mem.c: Fix some typoes, no functional changes
Robert P. J. Day [Sun, 3 Feb 2013 02:29:54 +0000 (02:29 +0000)]
cmd_mem.c: Fix some typoes, no functional changes

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
9 years agoAdd option to display customised memory information
Simon Glass [Fri, 30 Nov 2012 13:01:20 +0000 (13:01 +0000)]
Add option to display customised memory information

Some boards want to report more than just memory size. For example, it
might be useful to display the memory type (DDR2, DDR3) or manufacturer.

Add a weak function to support this requirement, accessed through a new
'meminfo' command.

Any example of the DRAM: output is below, just for illustration:

SMDK5250 # meminfo
DRAM:  2 GiB Elpida DDR3 @ 800MHz

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agohash: Add a flag to support saving hashes in the environment
Simon Glass [Sun, 24 Feb 2013 17:33:26 +0000 (17:33 +0000)]
hash: Add a flag to support saving hashes in the environment

Some hashing commands permit saving the hash in an environment variable,
and verifying a hash from there. But the crc32 command does not support
this. In order to permit crc32 to use the generic hashing infrastructure,
add a flag to select which behaviour to use.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoTidy up error checking and fix bug in hash command
Simon Glass [Sun, 24 Feb 2013 17:33:11 +0000 (17:33 +0000)]
Tidy up error checking and fix bug in hash command

There are two problems:

1. The argument count needs to be checked before argv is used
2. When verify is not enabled, we need to define a constant zero value

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoAdd hash command to perform hashing using various algorithms
Simon Glass [Wed, 5 Dec 2012 14:46:38 +0000 (14:46 +0000)]
Add hash command to perform hashing using various algorithms

This new command supports hashing SHA1 and SHA256. It could be extended
to others such as MD5 and the CRC algorithms. The syntax is modeled on
those:

   hash <algorithm> <address> <length> [*<dest_addr> | <dest_envvar>]

to calculate a hash, and:

   hash -v <algorithm> <address> <length> [*<verify_addr> | <verify_envvar>]

to verify a hash.

Use CONFIG_CMD_HASH to enable the command, CONFIG_SHA1 to enable SHA1 and
CONFIG_SHA256 to enable SHA256.

The existing sha1sum command remains.

Signed-off-by: Simon Glass <sjg@chromium.org>
Conflicts:
include/config_cmd_all.h

9 years agosha1sum: Use generic hash layer
Simon Glass [Wed, 5 Dec 2012 14:46:37 +0000 (14:46 +0000)]
sha1sum: Use generic hash layer

Update the code to use the hash layer instead of local code.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoAdd parameter to sha1sum to save the SHA1 sum
Joe Hershberger [Fri, 17 Aug 2012 11:00:46 +0000 (11:00 +0000)]
Add parameter to sha1sum to save the SHA1 sum

Add a parameter that allows you to store the SHA1 sum to either a
memory location or a variable.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agoImplement verify option for sha1sum command
Joe Hershberger [Fri, 17 Aug 2012 11:00:45 +0000 (11:00 +0000)]
Implement verify option for sha1sum command

Loosely based on CONFIG_CRC32_VERIFY.

The sum to verify against can be in memory, in a variable, or the last
parameter to the function directly.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agosizes.h - consolidate for all architectures
Alexey Brodkin [Wed, 26 Feb 2014 13:47:58 +0000 (17:47 +0400)]
sizes.h - consolidate for all architectures

Copied from Linux sources "include/linux/sizes.h" commit
413541dd66d51f791a0b169d9b9014e4f56be13c

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Tom Rini <trini@ti.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Acked-by: Tom Rini <trini@ti.com>
Acked-by: Stefan Roese <sr@denx.de>
[trini: Add bcm Kona platforms to the patch]
Signed-off-by: Tom Rini <trini@ti.com>
Conflicts:
arch/arm/cpu/armv7/kona-common/hwinit-common.c
arch/arm/cpu/armv7/omap5/hwinit.c
arch/arm/cpu/at91-common/phy.c
arch/arm/include/asm/sizes.h
board/compulab/cm_t335/spl.c
board/freescale/mx6slevk/mx6slevk.c
board/samsung/common/misc.c
board/wandboard/wandboard.c
drivers/fpga/zynqpl.c
drivers/pci/pcie_imx.c
include/configs/bcm28155_ap.h
include/configs/beaver.h
include/configs/cardhu.h
include/configs/dalmore.h
include/configs/harmony.h
include/configs/hummingboard.h
include/configs/mx6sabre_common.h
include/configs/mx6slevk.h
include/configs/paz00.h
include/configs/rpi_b.h
include/configs/tegra-common.h
include/configs/trats.h
include/configs/trats2.h
include/configs/trimslice.h
include/configs/udoo.h
include/configs/venice2.h
include/configs/ventana.h
include/configs/wandboard.h
include/configs/whistler.h
include/usb/s3c_udc.h

9 years agoAdd generic hash API
Simon Glass [Wed, 5 Dec 2012 14:46:36 +0000 (14:46 +0000)]
Add generic hash API

We have a SHA1 command and want to add a SHA256 command also. Instead of
duplicating the code, create a generic hash API which can process
commands for different algorithms.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agocommon: Implement support for linker-generated arrays
Marek Vasut [Fri, 12 Oct 2012 10:27:02 +0000 (10:27 +0000)]
common: Implement support for linker-generated arrays

This patch adds support for linker-generated array. These arrays
are a generalization of the U-Boot command declaration approach.

Basically, the idea is to generate an array, where elements of the
array are statically initialized at compile time and each element
is declared separatelly at different place. Such array is assembled
together into continuous piece of memory by linker and a pointer to
it's first entry can then be retrieved via accessor.

The actual implementation relies on placing any variable that is to
represent an element of LG-array into particular subsection of the
.u_boot_list linker section . The subsection is determined by user
options. Once compiled, it is possible to dump all symbols placed
in .u_boot_list section and the subsections in which they should be
and generate appropriate bounds for each requested subsection of the
.u_boot_list section. Each such subsection thus contains __start and
__end entries at the begining and end respecitively.

This allows for simple run-time traversing of the array, since the
symbols are properly defined.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Mike Frysinger <vapier@gentoo.org>
9 years agousb: ehci: rework to take advantage of new lowlevel interface
Lucas Stach [Tue, 25 Sep 2012 22:14:35 +0000 (00:14 +0200)]
usb: ehci: rework to take advantage of new lowlevel interface

Kill off ehci-core.h
It was used to specify some static controller data. To support more than
one controller being active at any time we have to carry the controller
data ourselfes. Change the ehci interface accordingly.

NOTE: OMAP implemented the ehci stuff a bit backwards and should be fixed
to do the same thing as other platforms. But the change for now is at least
compile clean.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Conflicts:
drivers/usb/host/ehci-hcd.c
drivers/usb/host/ehci-mxs.c

9 years agoUSB: Some cleanup prior to USB 3.0 interface addition
Vivek Gautam [Fri, 12 Apr 2013 11:04:34 +0000 (16:34 +0530)]
USB: Some cleanup prior to USB 3.0 interface addition

Some cleanup in usb framework, nothing much on feature side.

Signed-off-by: Vikas C Sajjan <vikas.sajjan@samsung.com>
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
9 years agolinux/usb/ch9.h: update with the version from Linux tree
Ilya Yanok [Tue, 6 Nov 2012 13:48:19 +0000 (13:48 +0000)]
linux/usb/ch9.h: update with the version from Linux tree

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
9 years agoartik5: enable gpt partition table
Chanho Park [Fri, 24 Jul 2015 05:23:50 +0000 (14:23 +0900)]
artik5: enable gpt partition table

This patch update artik5 configurations to support gp partition table
map. The gpt partition could be generated below comand:

gpt write mmc 0 $partitions

The partition table is defined $partitions environment and gpt command
could make a gpt table from the environment.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoartik10: enable thermal configuration
Chanho Park [Wed, 22 Jul 2015 07:54:26 +0000 (16:54 +0900)]
artik10: enable thermal configuration

This patch enables EXYNOS_THERMAL to prevent the board is entering with
high temperature. U-boot will wait until the temperature of the board
falls to 82.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoEXYNOS: SMDK5422: wait a loop until temperature is stable
Chanho Park [Wed, 22 Jul 2015 07:50:02 +0000 (16:50 +0900)]
EXYNOS: SMDK5422: wait a loop until temperature is stable

This patch support preventing booting when the cpu temperature is too
high. During kernel is booting, there is no way to limit cpu temperature
until tmu is available. To help cpu cooling, the kfc core is configured
to minimal and reset to default clock(800Mhz) after temperature is
stable.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoEXYNOS: SMDK5422: introduce tmu driver
Chanho Park [Wed, 22 Jul 2015 07:45:46 +0000 (16:45 +0900)]
EXYNOS: SMDK5422: introduce tmu driver

This patch is to support thermal management unit for exynos5422. The tmu
can check temperatures from thermal sensor. The exynos5422 has 5 thermal
units and it could check from 25 to 125.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoEXNOS: SMDK5422: support control kfc frequency
Chanho Park [Wed, 22 Jul 2015 07:42:03 +0000 (16:42 +0900)]
EXNOS: SMDK5422: support control kfc frequency

This patch supports kfc core frequency to minimal. When cpu temperature
is hot, it is helpful to minimize cpu clock. It also support reset cpu
clock to default value.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoARM: add wfi assembly macro
Rob Herring [Sun, 2 Dec 2012 17:06:21 +0000 (17:06 +0000)]
ARM: add wfi assembly macro

Since wfi instruction is only available on ARMv7, add a conditional
macro for it.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
9 years agoboard: artik5: correct WRSTBI gpio pin
Chanho Park [Mon, 6 Jul 2015 04:05:12 +0000 (13:05 +0900)]
board: artik5: correct WRSTBI gpio pin

Unlike any other exynos3250 boards, the WRSTBI pin of the artik5 is connected
to GPE1_2. This patch fixes the pin from GPE1_1 to GPE1_2 only for
artik5.

Created-by: jeho park <jhpark@insignal.co.kr>
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoartik10: add artik10 board configuration
Chanho Park [Fri, 3 Jul 2015 05:45:50 +0000 (14:45 +0900)]
artik10: add artik10 board configuration

This patch supports Samsung artik10 board which is based on exynos5422 and
xyref5422 board. It has 2GB RAM with 8 banks and 16GB eMMC storage.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agocommon: fastboot: use 8 bytes aligned buffer
Chanho Park [Mon, 15 Jun 2015 12:10:37 +0000 (21:10 +0900)]
common: fastboot: use 8 bytes aligned buffer

Some hardwares need 8 bytes aligned buffer to transfer dma data. Since
gcc-4.7, arm and armv7l could access unaligned memory and it causes dma
transfer which requires aligned address. Instead of using bounce buffer,
just align fastboot buffer address.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoarm: samsung: correct exynos3250 cpu info
Chanho Park [Fri, 3 Jul 2015 05:34:55 +0000 (14:34 +0900)]
arm: samsung: correct exynos3250 cpu info

The exynos3250 is based on arm cortex-a7 not cortex-a9. Thus, this patch
corrects the print out string.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoartik5: add artik5 board config
Chanho Park [Fri, 3 Jul 2015 05:15:53 +0000 (14:15 +0900)]
artik5: add artik5 board config

This patch adds Samsung artik5 board configurations. The artik5 board is based
on exynos3250 Samsung SoC. It has 512MB RAM and 4GB eMMC storage.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agocommon: fastboot: configure android partition tables
Chanho Park [Fri, 3 Jul 2015 05:00:35 +0000 (14:00 +0900)]
common: fastboot: configure android partition tables

This patch is the first step to use fastboot non-android system. This
patch changes android specific partitions could be used only if defined
CONFIG_ANDROID_PARTITIONS.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agocommon: usd do_div to divide 64bit value
Chanho Park [Fri, 3 Jul 2015 04:48:51 +0000 (13:48 +0900)]
common: usd do_div to divide 64bit value

When we use the recent gcc compiler with armhf, it causes build errors
related with VFP registers. Thus, we should use do_div in case of 64bits
divisions.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agousb: gadget: udc: apply old-style makefile
Chanho Park [Fri, 24 Jul 2015 07:25:58 +0000 (16:25 +0900)]
usb: gadget: udc: apply old-style makefile

Like dwc driver, it should be changed to old-style Makefile to resolve
build error.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agousb: dwc3: apply old style makefile
Chanho Park [Fri, 24 Jul 2015 07:20:27 +0000 (16:20 +0900)]
usb: dwc3: apply old style makefile

This patch is for resolving compile error when we picked up the dwc3
driver because it was new-style makefile.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agolibfdt_env.h: add fdt type definitions
Kim Phillips [Wed, 16 Jan 2013 13:59:34 +0000 (13:59 +0000)]
libfdt_env.h: add fdt type definitions

fdt types are big endian.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Cc: Jerry Van Baren <gvb.uboot@gmail.com>
9 years agodfu: cmd: trigger watchdog before calling usb_gadget_handle_interrupts
Heiko Schocher [Tue, 14 Apr 2015 07:53:13 +0000 (09:53 +0200)]
dfu: cmd: trigger watchdog before calling usb_gadget_handle_interrupts

trigger watchdog before calling usb_gadget_handle_interrupts()
This prevents board resets when calling dfu command on boards
which have a watchdog.

Signed-off-by: Heiko Schocher <hs@denx.de>
[ Reedition by Lukasz Majewski <l.majewski@samsung.com> to apply to
v2014.04 release ]

9 years agocmd_usb_mass_storage: Use 'USB Mass Storage' in the help text
Fabio Estevam [Sat, 28 Feb 2015 18:11:46 +0000 (15:11 -0300)]
cmd_usb_mass_storage: Use 'USB Mass Storage' in the help text

USB Mass Storage is the standard name, so let's use it here.

Suggested-by: Soeren Moch <smoch@web.de>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
9 years agousb: gadget: thor: Claim EP after allocating it in thor gadget
Marek Szyprowski [Tue, 3 Mar 2015 16:32:16 +0000 (17:32 +0100)]
usb: gadget: thor: Claim EP after allocating it in thor gadget

Storing thor device struct as an EP private data. It is necessary for
DWC3 operation.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
9 years agousb: dwc3: Correct clean up code for requests
Lukasz Majewski [Tue, 3 Mar 2015 16:32:15 +0000 (17:32 +0100)]
usb: dwc3: Correct clean up code for requests

For u-boot dwc3 driver the scatter gather list support has been removed
from original linux code. It is correct, since we try to send one request
at a time.
However, the cleanup left spurious break, which caused early exit from
loop at dwc3_cleanup_done_reqs() function. As a result the dwc3_gadget_giveback()
wasn't called and caused USB Mass Storage to hang.

This commit removes this problem and refactor the code to remove superfluous
do { } while(1) loop.

Test HW: Odroid XU3 (with ./test/ums/ums_gadget_test.sh)

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: gadget: Set non EP0 max packet limit to 512B
Lukasz Majewski [Tue, 3 Mar 2015 16:32:14 +0000 (17:32 +0100)]
usb: dwc3: gadget: Set non EP0 max packet limit to 512B

Commit "drivers/dwc3: add a workaround for too small OUT requests"
sets max packet for OUT requests when transfer is smaller.

Until this change the default maxpacket for non EP0 EPs was 1024. This is
too much, since UMS LBA size is 512B

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: gadget: Set all ctrl fields of Transfer Control Blocks (TRB) to be LST
Lukasz Majewski [Tue, 3 Mar 2015 16:32:13 +0000 (17:32 +0100)]
usb: dwc3: gadget: Set all ctrl fields of Transfer Control Blocks (TRB) to be LST

It turned out that current dwc3 gadget code is preparing multiple TRBs
for a transfer. Unfortunately, when multiple requests are in the same
queue, only for the last one the LST (last) ctrl bit is set.

Due to that dwc3 HW executes all TRBs up till the one marked as last.
Unfortunately, UMS requires call of ->complete callback after any send TRB.
This is the reason for "hangs" in executing UMS.

This code simplifies this situation and set each TRB's ctrl field bit to be
last (LST bit).

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: optimize interrupt loop
Marek Szyprowski [Tue, 3 Mar 2015 16:32:12 +0000 (17:32 +0100)]
usb: dwc3: optimize interrupt loop

There is no point in calling dwc3_thread_interrupt() if no event is
pending. There is also no point in flushing event cache in EVERY loop
iteration.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
9 years agousb: dwc3: gadget: add common endpoint configuration for dwc3 udc driver
Marek Szyprowski [Tue, 3 Mar 2015 16:32:11 +0000 (17:32 +0100)]
usb: dwc3: gadget: add common endpoint configuration for dwc3 udc driver

This patch adds code to select standard, commonly used usb endpoint
configuration (ep1in-bulk, ep2out-bulk, ep3in-int) to dwc3 driver. This
ensures compatibility with old userspace and windows drivers, which
expects hardcoded endpoint numbers.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
9 years agousb: dwc3: add a workaround for too small OUT requests
Marek Szyprowski [Tue, 3 Mar 2015 16:32:10 +0000 (17:32 +0100)]
usb: dwc3: add a workaround for too small OUT requests

DWC3 hangs on OUT requests smaller than maxpacket size,
so HACK the request length to be at least equal to maxpacket size.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
9 years agousb: dwc3: make dwc3_set_mode to static
Joonyoung Shim [Tue, 3 Mar 2015 16:32:09 +0000 (17:32 +0100)]
usb: dwc3: make dwc3_set_mode to static

This commit makes the dwc3_set_mode() as static, to prevent collisions.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: Remove BIT(x) macro from DWC3's gadget code
Lukasz Majewski [Tue, 3 Mar 2015 16:32:08 +0000 (17:32 +0100)]
usb: dwc3: Remove BIT(x) macro from DWC3's gadget code

The BIT() macro is used only in those places, so it is reasonable to
replace it by a constant value.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: composite: Add .reset callback to usb_gadget_driver structure
Lukasz Majewski [Tue, 3 Mar 2015 16:32:07 +0000 (17:32 +0100)]
usb: composite: Add .reset callback to usb_gadget_driver structure

DWC3 UDC driver requires presence of .reset callback in a composite driver.
This setting is similar to the one nowadays present in linux kernel.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: gadget: thor: Invoke board specific USB cleanup interface
Inha Song [Tue, 3 Mar 2015 16:32:06 +0000 (17:32 +0100)]
usb: gadget: thor: Invoke board specific USB cleanup interface

This patch invokes board-specific USB cleanup (board_usb_cleanup)
function in the thor gadget.

Signed-off-by: Inha Song <ideal.song@samsung.com>
Conflicts:
common/cmd_thordown.c

9 years agousb: gadget: UMS: Invoke board specific USB cleanup interface
Inha Song [Tue, 3 Mar 2015 16:32:05 +0000 (17:32 +0100)]
usb: gadget: UMS: Invoke board specific USB cleanup interface

This patch invokes board-specific USB cleanup (board_usb_cleanup)
function in the mass storage gadget

Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agousb: modify usb_gadget_handle_interrupts to take controller index
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:23 +0000 (18:40 +0530)]
usb: modify usb_gadget_handle_interrupts to take controller index

Since we support multiple dwc3 controllers to be existent at the same
time, in order to handle the interrupts of a particular dwc3 controller
usb_gadget_handle_interrutps should take controller index as an
argument.

Hence the API of usb_gadget_handle_interrupts is modified to take
controller index as an argument and made the corresponding changes to all
the usb_gadget_handle_interrupts calls.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
Conflicts:
board/ti/am43xx/board.c
board/ti/dra7xx/evm.c
common/cmd_fastboot.c
drivers/usb/gadget/atmel_usba_udc.c
drivers/usb/gadget/ci_udc.c
drivers/usb/gadget/fotg210.c

9 years agocommon: cmd_dfu: invoke board_usb_cleanup() for cleaning up
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:18 +0000 (18:40 +0530)]
common: cmd_dfu: invoke board_usb_cleanup() for cleaning up

Invoked board_usb_cleanup for cleaning up initialized USB. It
will be invoked if the user enterts ctrl-C.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: gadget: defer setting maxpacket till ->setup()
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:17 +0000 (18:40 +0530)]
usb: gadget: defer setting maxpacket till ->setup()

Taken from linux kernel with commit
commit 765f5b830e547229bb752e7b232ee83e2b3d49d5
Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date:   Thu Jun 23 14:26:11 2011 +0200

usb: gadget: defer setting maxpacket till ->setup()

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: Makefile: Make dwc3 driver compile in u-boot
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:16 +0000 (18:40 +0530)]
usb: dwc3: Makefile: Make dwc3 driver compile in u-boot

Now that the entire dwc3 driver is adapted to compile with uboot build,
modify the Makefiles so that the dwc3 driver can be built.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
Conflicts:
Makefile

9 years agousb: dwc3: Add chained TRB support for ep0
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:15 +0000 (18:40 +0530)]
usb: dwc3: Add chained TRB support for ep0

dwc3 can do only max packet aligned transfers. So in case request length
is not max packet aligned and is bigger than DWC3_EP0_BOUNCE_SIZE
two chained TRBs is required to handle the transfer.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: ep0: preparation for implementing chained TRB
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:14 +0000 (18:40 +0530)]
usb: dwc3: ep0: preparation for implementing chained TRB

No functional change. Modified few things so that there are no
code duplication while implementing chained TRB.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agodwc3: flush the buffers before using it
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:13 +0000 (18:40 +0530)]
dwc3: flush the buffers before using it

In the linux kernel, non cacheable buffers are used. However in uboot
since there are no APIs to allocate non cacheable memory, all
the buffers should be flushed before using it.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
9 years agousb: dwc3: TI PHY: PHY driver for dwc3 in TI platforms
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:12 +0000 (18:40 +0530)]
usb: dwc3: TI PHY: PHY driver for dwc3 in TI platforms

Added a single driver for both USB2 PHY programming and USB3 PHY
programming.

USB3 PHY is taken from drivers/phy/phy-ti-pipe3.c in linux kernel.
commit 56042e : phy: ti-pipe3: Fix suspend/resume and module reload.

USB2 PHY is taken from drivers/phy/phy-omap-usb2.c in linux kernel.
commit eb82a3 : phy: omap-usb2: Balance pm_runtime_enable() on probe
failure and remove.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: dwc3-omap: add interrupt status API to check for interrupts
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:11 +0000 (18:40 +0530)]
usb: dwc3: dwc3-omap: add interrupt status API to check for interrupts

Added an API to check for interrupt status. This API is generally
called from board file to check for interrupt status.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agodwc3: dwc3-omap: add support for multiple dwc3-omap controllers
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:10 +0000 (18:40 +0530)]
dwc3: dwc3-omap: add support for multiple dwc3-omap controllers

Added support for multiple dwc3 omap controllers. This gives uboot
the capability to control multiple dwc3 omap controllers.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: dwc3-omap: change probe and remove to uboot init and uboot exit code
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:09 +0000 (18:40 +0530)]
usb: dwc3: dwc3-omap: change probe and remove to uboot init and uboot exit code

Removed probe and remove that are specific to linux and replaced it with
uboot init and uboot exit. These functions will be invoked from boardfile.

This will change once we have dwc3-omap driver adapted to use the uboot
driver model.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agoinclude: dwc3-omap-uboot: add a structure for populating dwc3-omap platform data
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:08 +0000 (18:40 +0530)]
include: dwc3-omap-uboot: add a structure for populating dwc3-omap platform data

Added a structure to populate dwc3 omap platform data. The board file should
populate these platform data before invoking dwc3 omap driver.

This will be removed once dwc3-omap driver is adapted to use the driver model.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: dwc3-omap: make dwc3-omap build in uboot
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:07 +0000 (18:40 +0530)]
usb: dwc3: dwc3-omap: make dwc3-omap build in uboot

*) Changed the included header files to that used in u-boot.
*) Removed extcon_* APIs
*) Removed regulator_* APIs
*) Fixed other misc warnings
*) Added dwc3-omap.h to include the definitions of UTMI modes.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agodwc3: core: added an API to invoke irq handlers
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:06 +0000 (18:40 +0530)]
dwc3: core: added an API to invoke irq handlers

Since interrupt support is not present in u-boot, added an
API to handle the interrupts in dwc3 core. This API can be
polled to handle the interrupts.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agodwc3: core: add support for multiple dwc3 controllers
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:05 +0000 (18:40 +0530)]
dwc3: core: add support for multiple dwc3 controllers

Added support for multiple dwc3 controllers. This gives uboot
the capability to control multiple dwc3 controllers.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agodwc3: core: change probe and remove to uboot init and uboot exit code
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:04 +0000 (18:40 +0530)]
dwc3: core: change probe and remove to uboot init and uboot exit code

Removed probe and remove that are specific to linux and replaced it with
uboot init and uboot exit. These functions will be invoked from boardfile.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agoinclude: dwc3-uboot: add a structure for populating platform data
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:03 +0000 (18:40 +0530)]
include: dwc3-uboot: add a structure for populating platform data

Added a structure to populate dwc3 core platform data. The board file should
populate these platform data before invoking dwc3 driver.
This will be removed once we have dwc3 driver adapted to use the driver model.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: core: make dwc3 core build in uboot
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:02 +0000 (18:40 +0530)]
usb: dwc3: core: make dwc3 core build in uboot

*) Changed the include header files to that used in u-boot.
*) Removed phy_* APIs
*) Removed jiffies and used a simple while loop
*) Used dma_alloc_coherent and dma_free_coherent APIs of u-boot
*) Fixed other misc warnings

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agoinclude: usb: composite: add USB_GADGET_DELAYED_STATUS to avoid compilation error
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:01 +0000 (18:40 +0530)]
include: usb: composite: add USB_GADGET_DELAYED_STATUS to avoid compilation error

Added USB_GADGET_DELAYED_STATUS to avoid the following compilation error.
error: ‘USB_GADGET_DELAYED_STATUS’ undeclared (first use in this function)
while compiling dwc3/ep0.c

While this is been added only to avoid compilation error, the complete fix
should be something like the one added in linux kernel. The complete fix
will be ported once we have the composite driver in u-boot look similar to
the one in linux kernel.
commit 1b9ba000177ee47bcc5b44c7c34e48e735f5f9b1
Author: Roger Quadros <roger.quadros@nokia.com>
Date:   Mon May 9 13:08:06 2011 +0300

    usb: gadget: composite: Allow function drivers to pause control transfers

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: ep0: make dwc3 ep0 build in uboot
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:10:00 +0000 (18:40 +0530)]
usb: dwc3: ep0: make dwc3 ep0 build in uboot

*) Changed the included header files to that used in u-boot.
*) added dwc3_ep_event_string() used in ep0.c
*) Fixed other misc warnings

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agoinclude: asm: types: add resource_size_t type
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:09:59 +0000 (18:39 +0530)]
include: asm: types: add resource_size_t type

Added resource_size_t type in order to get rid of the following
compilation error whiel building dwc3 gadget.
include/linux/ioport.h:19:2: error: unknown type name ‘resource_size_t’

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agousb: dwc3: gadget: make dwc3 gadget build in uboot
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:09:58 +0000 (18:39 +0530)]
usb: dwc3: gadget: make dwc3 gadget build in uboot

Did a bunch of things to get dwc3/gadget.c compile in u-boot without
build errors and warnings
*) Changed the included header files to that used in u-boot.
*) Used dma_alloc_coherent and dma_free_coherent APIs of u-boot
*) removed sg support
*) remove jiffies and used a simple while loop
*) removed irq support and added a function to call these interrupt handler.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
Conflicts:
include/linux/usb/gadget.h

9 years agofdt: Add a subnodes iterator macro
Thierry Reding [Tue, 26 Aug 2014 15:33:55 +0000 (17:33 +0200)]
fdt: Add a subnodes iterator macro

The fdt_for_each_subnode() iterator macro provided by this patch can be
used to iterate over a device tree node's subnodes. At each iteration a
loop variable will be set to the next subnode.

Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
9 years agofdt: Add functions to retrieve strings
Thierry Reding [Tue, 26 Aug 2014 15:33:52 +0000 (17:33 +0200)]
fdt: Add functions to retrieve strings

Given a device tree node, a property name and an index, the new function
fdt_get_string_index() will return in an output argument a pointer to
the index'th string in the property's value.

The fdt_get_string() is a shortcut for the above with the index being 0.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agofdt: Add a function to get the index of a string
Thierry Reding [Tue, 26 Aug 2014 15:33:51 +0000 (17:33 +0200)]
fdt: Add a function to get the index of a string

Given a device tree node and a property name, the new fdt_find_string()
function will look up a given string in the string list contained in the
property's value and return its index.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agofdt: Add a function to count strings
Thierry Reding [Tue, 26 Aug 2014 15:33:50 +0000 (17:33 +0200)]
fdt: Add a function to count strings

Given a device tree node and a property name, the fdt_count_strings()
function counts the number of strings found in the property value.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agolib, linux: move linux specific defines to linux/compat.h
Heiko Schocher [Tue, 24 Jun 2014 08:10:03 +0000 (10:10 +0200)]
lib, linux: move linux specific defines to linux/compat.h

- move linux specific defines from usb and video code
  into linux/compat.h
- move common linux specific defines from include/ubi_uboot.h
  to linux/compat.h
- add for new mtd/ubi/ubifs sync new needed linux specific
  defines to linux/compat.h

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Marek Vasut <marex@denx.de>
Cc: Anatolij Gustschin <agust@denx.de>
[trini: Add spin_lock_irqsave/spin_unlock_irqrestore dummies from
usb/lin_gadet_compat.h]
Signed-off-by: Tom Rini <trini@ti.com>
Conflicts:
drivers/usb/gadget/ether.c
drivers/usb/musb-new/linux-compat.h
drivers/video/exynos_dp.c
drivers/video/exynos_mipi_dsi.c
lib/Makefile

9 years agolibfdt: Add fdt_find_regions()
Simon Glass [Thu, 13 Jun 2013 22:10:08 +0000 (15:10 -0700)]
libfdt: Add fdt_find_regions()

Add a function to find regions in device tree given a list of nodes to
include and properties to exclude.

See the header file for full documentation.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agolibfdt: Add fdt_next_subnode() to permit easy subnode iteration
Simon Glass [Tue, 7 May 2013 06:11:50 +0000 (06:11 +0000)]
libfdt: Add fdt_next_subnode() to permit easy subnode iteration

Iterating through subnodes with libfdt is a little painful to write as we
need something like this:

for (depth = 0, count = 0,
offset = fdt_next_node(fdt, parent_offset, &depth);
     (offset >= 0) && (depth > 0);
     offset = fdt_next_node(fdt, offset, &depth)) {
if (depth == 1) {
/* code body */
}
}

Using fdt_next_subnode() we can instead write this, which is shorter and
easier to get right:

for (offset = fdt_first_subnode(fdt, parent_offset);
     offset >= 0;
     offset = fdt_next_subnode(fdt, offset)) {
/* code body */
}

Also, it doesn't require two levels of indentation for the loop body.

Signed-off-by: Simon Glass <sjg@chromium.org>
(Cherry-picked from dtc commit 4e76ec79)
Acked-by: Gerald Van Baren <vanbaren@cideas.com>
9 years agoFix typo
François Revol [Sat, 2 Feb 2013 23:52:21 +0000 (00:52 +0100)]
Fix typo

Ref: DTC commit cc11e522

Signed-off-by: François Revol <revol@free.fr>
9 years agoExport fdt_stringlist_contains()
Simon Glass [Mon, 21 Jan 2013 20:59:18 +0000 (12:59 -0800)]
Export fdt_stringlist_contains()

This function is useful outside libfdt, so export it.

Ref: DTC commit b7aa300e

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
9 years agolibfdt: update from upstream dtc commit 142419e
Kim Phillips [Wed, 16 Jan 2013 13:59:50 +0000 (13:59 +0000)]
libfdt: update from upstream dtc commit 142419e

commit 142419e "dtc/libfdt: sparse fixes", for u-boot's libfdt copy.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Cc: Jerry Van Baren <gvb.uboot@gmail.com>
9 years agolibfdt: Add helpers for 64-bit integer properties
David Gibson [Tue, 28 Aug 2012 00:39:00 +0000 (19:39 -0500)]
libfdt: Add helpers for 64-bit integer properties

In device trees in the world, properties consisting of a single 64-bit
integer are not as common as those consisting of a single 32-bit, cell
sized integer, but they're common enough that they're worth including
convenience functions for.

This patch adds helper wrappers of fdt_setprop_inplace(), fdt_setprop() and
fdt_appendprop() for handling 64-bit integer quantities in properties.  For
better consistency with the names of these new *_u64() functions we also
add *_u32() functions as alternative names for the existing *_cell()
functions handling 32-bit integers.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
9 years agolibfdt: Add helper function to create a trivial, empty tree
Gerald Van Baren [Tue, 16 Oct 2012 02:24:36 +0000 (22:24 -0400)]
libfdt: Add helper function to create a trivial, empty tree

The libfdt read/write functions are now usable enough that it's become a
moderately common pattern to use them to build and manipulate a device
tree from scratch.  For example, we do so ourself in our rw_tree1 testcase,
and qemu is starting to use this model when building device trees for some
targets such as e500.

However, the read/write functions require some sort of valid tree to begin
with, so this necessitates either having a trivial canned dtb to begin with
or, more commonly, creating an empty tree using the serial-write functions
first.

This patch adds a helper function which uses the serial-write functions to
create a trivial, empty but complete and valid tree in a supplied buffer,
ready for manipulation with the read/write functions.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
From git://git.jdl.com/software/dtc.git patch hash be6026838 with
adaptations to include/libfdt.h and lib/libfdt/Makefile for the U-Boot
environment.

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
9 years agolibfdt: Add support for appending the values to a existing property
Minghuan Lian [Tue, 28 Aug 2012 00:38:59 +0000 (19:38 -0500)]
libfdt: Add support for appending the values to a existing property

Some properties may contain multiple values, these values may need
to be added to the property respectively. this patch provides this
functionality. The main purpose of fdt_append_prop() is to append
the values to a existing property, or create a new property if it
dose not exist.

Signed-off-by: Minghuan Lian <Minghuan.Lian@freescale.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
9 years agolinux/compat.h: port lower_32_bits and upper_32_bits from Linux
Lijun Pan [Fri, 20 Jun 2014 17:17:29 +0000 (12:17 -0500)]
linux/compat.h: port lower_32_bits and upper_32_bits from Linux

[backport from linux commit 204b885e and 218e180e7]
64 bit processors are becomming more and more popular.
lower_32_bits and upper_32_bits save our labor doing
shifts/manipulations like (u32)(n) and (u32)((n) >> 32).
They are good helpers in both little and big endian cases.
Port these two functions here from Linux:include/linux/kernel.h,
cater the comment message to little/big endian cases.
Later on, developers could include linux/compat.h if they want to
use these two functions.

Signed-off-by: Lijun Pan <Lijun.Pan@freescale.com>
9 years agolinux/compat.h: move dev_err, dev_info and dev_dbg from usb driver to compat.h
Wu, Josh [Wed, 3 Jul 2013 03:11:47 +0000 (11:11 +0800)]
linux/compat.h: move dev_err, dev_info and dev_dbg from usb driver to compat.h

Since kernel code current use many dev_xxx() instead of using printk. To
compatible, move those dev_xxx from usb driver to linux/compat.h. Then all
driver code can use dev_err, dev_info and dev_vdbg.

This patch also removed duplicated macro definitions in usb driver.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Conflicts:
drivers/usb/musb-new/linux-compat.h

9 years agoinclude/linux/compat.h: fix warning: preprocessor token {__iomem, __user} redefined
Kim Phillips [Mon, 29 Oct 2012 13:34:24 +0000 (13:34 +0000)]
include/linux/compat.h: fix warning: preprocessor token {__iomem, __user} redefined

include/linux/compat.h:4:9: warning: preprocessor token __user redefined
include/linux/compiler.h:7:10: this was the original definition
include/linux/compat.h:5:9: warning: preprocessor token __iomem redefined
include/linux/compiler.h:12:10: this was the original definition

fixup __iomem, __user definitions in compat.h code appears to be placed
there as a cover up from a code import from linux when u-boot didn't yet
have a compiler.h, introduced by commit
932394ac43e2e778e664eeb6e456fecd0fae6e59 "Rewrite of NAND code based on
what is in 2.6.12 Linux kernel".

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
9 years agousb: dwc3: linux-compat: Add header for dwc3 linux compatibiltiy
Kishon Vijay Abraham I [Mon, 23 Feb 2015 13:09:57 +0000 (18:39 +0530)]
usb: dwc3: linux-compat: Add header for dwc3 linux compatibiltiy

Added a header file to include various linux specific APIs like
pr_debug, WARN_ WARN_ON_ONCE etc.. in order to avoid compilation
error while building dwc3 driver.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>