Marek Vasut [Fri, 21 Oct 2011 14:17:12 +0000 (14:17 +0000)]
GCC4.6: Squash warnings in 44x_spd_ddr.c
44x_spd_ddr.c: In function 'program_tr0':
44x_spd_ddr.c:823: warning: format '%x' expects type 'unsigned int', but
argument 2 has type 'long unsigned int'
44x_spd_ddr.c: In function 'program_tr1':
44x_spd_ddr.c:1054: warning: format '%x' expects type 'unsigned int', but
argument 2 has type 'long unsigned int'
44x_spd_ddr.c: In function 'program_bxcr':
44x_spd_ddr.c:1127: warning: format '%d' expects type 'int', but argument 2 has
type 'long unsigned int'
44x_spd_ddr.c:1196: warning: format '%d' expects type 'int', but argument 2 has
type 'long unsigned int'
44x_spd_ddr.c:1196: warning: format '%d' expects type 'int', but argument 3 has
type 'long unsigned int'
44x_spd_ddr.c:1196: warning: format '%d' expects type 'int', but argument 4 has
type 'long unsigned int'
44x_spd_ddr.c:1196: warning: format '%d' expects type 'int', but argument 5 has
type 'long unsigned int'
44x_spd_ddr.c:1242: warning: format '%d' expects type 'int', but argument 2 has
type 'long unsigned int'
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Marek Vasut [Fri, 21 Oct 2011 14:17:07 +0000 (14:17 +0000)]
GCC4.6: Squash warnings in denali_spd_ddr2.c
denali_spd_ddr2.c: In function 'get_spd_info':
denali_spd_ddr2.c:363: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'check_frequency':
denali_spd_ddr2.c:390: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'get_dimm_size':
denali_spd_ddr2.c:473: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:474: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:475: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:476: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'program_ddr0_03':
denali_spd_ddr2.c:571: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:604: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:604: warning: format '%d' expects type 'int', but argument 3
has type 'long unsigned int'
denali_spd_ddr2.c:643: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:644: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:645: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:646: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:676: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'program_ddr0_04':
denali_spd_ddr2.c:731: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:733: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:735: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'program_ddr0_05':
denali_spd_ddr2.c:772: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:774: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'program_ddr0_06':
denali_spd_ddr2.c:831: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:833: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'program_ddr0_11':
denali_spd_ddr2.c:860: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'program_ddr0_26':
denali_spd_ddr2.c:931: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c:933: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'program_ddr0_27':
denali_spd_ddr2.c:944: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'program_ddr0_43':
denali_spd_ddr2.c:978: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_spd_ddr2.c: In function 'program_ddr0_44':
denali_spd_ddr2.c:1006: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Marek Vasut [Fri, 21 Oct 2011 14:17:06 +0000 (14:17 +0000)]
GCC4.6: Squash warnings in denali_data_eye.c
denali_data_eye.c: In function
'denali_core_search_data_eye':denali_spd_ddr2.c:646: warning: format '%d'
expects type 'int', but argument 2 has type 'long unsigned int'
denali_data_eye.c:320: warning: format '%08lx' expects type 'long unsigned int',
but argument 2 has type 'u32'
denali_data_eye.c:330: warning: format '%08lx' expects type 'long unsigned int',
but argument 2 has type 'u32'
denali_spd_ddr2.c:676: warning: format '%d' expects type 'int', but argument 2
has type 'long unsigned int'
denali_data_eye.c:340: warning: format '%08lx' expects type 'long unsigned int',
but argument 2 has type 'u32'
denali_data_eye.c:350: warning: format '%08lx' expects type 'long unsigned int',
but argument 2 has type 'u32'
denali_data_eye.c:360: warning: format '%08lx' expects type 'long unsigned int',
but argument 2 has type 'u32'
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Marek Vasut [Fri, 21 Oct 2011 14:17:02 +0000 (14:17 +0000)]
PowerPC: Squash warning in mpc512x serial.c
serial.c: In function 'serial_setbrg_dev':
serial.c:143: warning: format '%d' expects type 'int', but argument 4 has type
'long unsigned int'
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Helmut Raiger [Thu, 20 Oct 2011 04:19:47 +0000 (04:19 +0000)]
cosmetic: s/BOARD_LATE_INIT/CONFIG_BOARD_LATE_INIT
This renames BOARD_LATE_INIT to CONFIG_BOARD_LATE_INIT.
Along the way it removes some leftover
#define BOARD_LATE_INIT 1
and adds some basic documentation for board specific
callbacks in README.
Signed-off-by: Helmut Raiger <helmut.raiger@hale.at>
Acked-by: Stefano Babic <sbabic@denx.de>
Doug Anderson [Wed, 19 Oct 2011 09:47:31 +0000 (09:47 +0000)]
disk: part_efi: fix **pgpt_pte == NULL
Code was setting **pgpt_pte == NULL, which meant that the pointer
to the gpt_pte would be stored at RAM address
00000000. This 'worked'
on T20 (SDRAM starts @ 0x00000000), but hung gpt/EFI access on T30
(SDRAM starts @ 0x80000000).
Signed-off-by: Tom Warren <twarren@nvidia.com>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Doug Anderson [Wed, 19 Oct 2011 08:04:46 +0000 (08:04 +0000)]
cosmetic: Replace __FUNCTION__ with __func__ in part_efi.c
This makes checkpatch happy.
Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Wolfgang Denk [Wed, 26 Oct 2011 10:21:22 +0000 (10:21 +0000)]
README: improve documentation of network related CONFIG_ settings
Add documentation for CONFIG_GATEWAYIP and CONFIG_NETMASK;
also add information which environment variables are set.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Simon Glass <sjg@chromium.org>
Wolfgang Denk [Wed, 26 Oct 2011 10:21:21 +0000 (10:21 +0000)]
README: white-space cleanup
Signed-off-by: Wolfgang Denk <wd@denx.de>
Thierry Reding [Thu, 27 Oct 2011 08:58:25 +0000 (08:58 +0000)]
image: Fix inverted logic in architecture check.
Commit
476af29 broke this check when the ifdef lists we consolidated.
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Simon Glass [Thu, 27 Oct 2011 06:24:32 +0000 (06:24 +0000)]
net: Export auto_load, use it in rarp
The rarp code includes another instance of the auto_load logic, so call
what is now net_auto_load() instead.
This also fixes an incorrect call to TftpStart() which was never seen
since apparently no boards enable rarp.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Simon Glass [Wed, 26 Oct 2011 14:18:39 +0000 (14:18 +0000)]
net: Change for loop to memset()
This is intended purely as a code size reduction.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 27 Oct 2011 06:24:29 +0000 (06:24 +0000)]
net: Add more #ifdefs for tftpput to reduce code size
If CONFIG_CMD_TFTPPUT is not enabled, we want minimal code size impact
on the tftp code. This introduces a few more #ifdefs.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 27 Oct 2011 06:24:28 +0000 (06:24 +0000)]
net: Make net_transfer() a static function
This should be a static function so it can be inlined.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Simon Glass [Wed, 26 Oct 2011 14:18:38 +0000 (14:18 +0000)]
net: Hide more code behind CONFIG_CMD_TFTPPUT
This commit reduces code size a little by making the ICMP handler only
available to tftpput. This is reasonable since it is the only user at
present (ping just uses the normal handler).
Signed-off-by: Simon Glass <sjg@chromium.org>
J. Vijayanand [Wed, 19 Oct 2011 07:43:08 +0000 (07:43 +0000)]
fat: correct ATTR_VFAT check
ATTR_VFAT condition requires multiple bits to be set but the present
condition checking in do_fat_read() & get_dentfromdir() ends up
passing on even a single bit being set.
Signed-off-by: J. Vijayanand <vijayanand.jayaraman@in.bosch.com>
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Wolfgang Denk [Thu, 27 Oct 2011 21:08:16 +0000 (23:08 +0200)]
fs/fat/fat.c: fix warning: 'part_size' defined but not used
Commit
c30a15e "FAT: Add FAT write feature" introduced a compiler
warning. Fix this.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Donggeun Kim <dg77.kim@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Donggeun Kim [Mon, 24 Oct 2011 21:15:28 +0000 (21:15 +0000)]
FAT: Add FAT write feature
In some cases, saving data in RAM as a file with FAT format is required.
This patch allows the file to be written in FAT formatted partition.
The usage is similar with reading a file.
First, fat_register_device function is called before file_fat_write function
in order to set target partition.
Then, file_fat_write function is invoked with desired file name,
start ram address for writing data, and file size.
Signed-off-by: Donggeun Kim <dg77.kim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Simon Glass [Mon, 24 Oct 2011 19:15:34 +0000 (19:15 +0000)]
fdt: ARM: Add fdtcontroladdr to set device tree address in environment
This adds support for a new environment variable called 'fdtcontroladdr'. If
defined, the hex address is used as the address of the control fdt for U-Boot.
Note: I have not changed CONFIG_PRAM section as I already have an
outstanding patch on that.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 19:15:33 +0000 (19:15 +0000)]
fdt: ARM: Implement and verify embedded and separate device tree
This locates the device tree either embedded within U-Boot or attached to the
end as a separate binary.
When CONFIG_OF_CONTROL is defined, U-Boot requires a valid fdt. A check is
provided for this early in initialisation.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 19:15:32 +0000 (19:15 +0000)]
fdt: add decode helper library
This library provides useful functions to drivers which want to use
the fdt to control their operation. Functions are provided to:
- look up and enumerate a device type (for example assigning i2c bus 0,
i2c bus 1, etc.)
- decode basic types from the fdt, like addresses and integers
While this library is not strictly necessary, it helps to minimise the
changes to a driver, in order to make it work under fdt control. Less
code is required, and so the barrier to switch drivers over is lower.
Additional functions to read arrays and GPIOs could be made available
here also.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 19:15:31 +0000 (19:15 +0000)]
fdt: Add support for a separate device tree (CONFIG_OF_SEPARATE)
This adds support for an FDT to be build as a separate binary file called
u-boot.dtb. This can be concatenated with the U-Boot binary to provide a
device tree located at run-time by U-Boot. The Makefile is modified to
provide this file in u-boot-dtb.bin.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 15 Oct 2011 05:48:21 +0000 (05:48 +0000)]
fdt: Add support for embedded device tree (CONFIG_OF_EMBED)
This new option allows U-Boot to embed a binary device tree into its image
to allow run-time control of peripherals. This device tree is for U-Boot's
own use and is not necessarily the same one as is passed to the kernel.
The device tree compiler output should be placed in the $(obj)
rooted tree. Since $(OBJCOPY) insists on adding the path to the
generated symbol names, to ensure consistency it should be
invoked from the directory where the .dtb file is located and
given the input file name without the path.
This commit contains my entry for the ugliest Makefile / shell interaction
competition.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 15 Oct 2011 05:48:20 +0000 (05:48 +0000)]
fdt: ARM: Add device tree control of U-Boot (CONFIG_OF_CONTROL)
This adds a device tree pointer to the global data. It can be set by
board code. A later commit will add support for making a device
tree binary blob available to U-Boot for run-time configuration.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 18:00:08 +0000 (18:00 +0000)]
net: tftpput: add tftpput command
This adds the tftpput command to U-Boot.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 18:00:07 +0000 (18:00 +0000)]
net: tftpput: implement tftp logic
This adds logic to tftp.c to implement the tftp 'put' command, and
updates the README.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 21 Oct 2011 18:51:38 +0000 (18:51 +0000)]
tftpput: add save_addr and save_size global variables
We need something akin to load_addr to handle saving data.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 18:00:05 +0000 (18:00 +0000)]
net: tftpput: Support selecting get/put for tftp
TftpStart should support starting either a get or a put.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 18:00:04 +0000 (18:00 +0000)]
net: tftpput: Factor out start, restart and next block functions
This code is required for tftpput, so move it into separate functions.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 18:00:03 +0000 (18:00 +0000)]
net: tftpput: move common code into separate functions
We want to show block markers on completion of get and put, so
move this common code into separate functions.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 18:00:02 +0000 (18:00 +0000)]
net: tftpput: Rename TFTP to TFTPGET
This is a better name for this protocol. Also remove the typedef to keep
checkpatch happy, and move zeroing of NetBootFileXferSize a little
earlier since TFTPPUT will need to change this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 18:00:01 +0000 (18:00 +0000)]
net: tftpput: Add support for receiving ICMP packets
ICMP packets can tell you when there is no server at the other end. It
is useful for tftp to figure this out, so that a quick error can be
displayed, rather than pointlessly retrying.
This adds an ICMP packet handler to the net interface.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 18:00:00 +0000 (18:00 +0000)]
net: tftpput: Move ICMP code into its own function
NetReceive() is a very long function with a lot of indent. Before adding
code to the ICMP bit, split it out.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 24 Oct 2011 17:59:59 +0000 (17:59 +0000)]
Add setenv_ulong() and setenv_addr()
It seems we put numbers and addresses into environment variables a lot.
We should have some functions to do this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 21 Oct 2011 18:51:33 +0000 (18:51 +0000)]
Move simple_itoa to vsprintf
This function is generally useful and shouldn't hide away in hush. It
has been moved as is.
Signed-off-by: Simon Glass <sjg@chromium.org>
Joachim Foerster [Mon, 17 Oct 2011 05:24:46 +0000 (05:24 +0000)]
altera_tse: Fix return of eth_device's recv() callback
It seems to be good practice to return the number of received bytes in the
eth_device's recv() callback, here: tse_eth_rx().
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
Joachim Foerster [Tue, 25 Oct 2011 22:39:57 +0000 (22:39 +0000)]
altera_tse: m88e1111s: Honor device flags regarding PHY interface mode
Note: This is kind of guess work. The current code is preserved for
all RGMII related modes. It is different for flags=0 (GMII) and flags=5
(SGMII). The last case, SGMII, is successfully tested on
Altera's Terasic DE4.
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
Joachim Foerster [Mon, 17 Oct 2011 05:24:44 +0000 (05:24 +0000)]
altera_tse: Add support for dedicated descriptor memory
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
Joachim Foerster [Mon, 17 Oct 2011 05:24:43 +0000 (05:24 +0000)]
altera_tse: Fix SGDMA reset triggering
The SW_RESET needs to be set instead of being masked out!
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
Joachim Foerster [Tue, 25 Oct 2011 22:39:54 +0000 (22:39 +0000)]
altera_tse: Clear SGDMA's RUN bit in async transfer, like in sync case
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
Anton staaf [Wed, 12 Oct 2011 13:56:04 +0000 (13:56 +0000)]
part_efi: dcache: allocate cacheline aligned buffers
Currently part_efi.c allocates buffers for the gpt_header, the
legacy_mbr, and the pte (partition table entry) that may be
incorrectly aligned for DMA operations.
This patch uses ALLOC_CACHE_ALIGN_BUFFER for the stack allocated
buffers and memalign to replace the malloc of the pte.
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Anton staaf [Tue, 4 Oct 2011 11:24:50 +0000 (11:24 +0000)]
mmc: dcache: allocate cache aligned buffers for ext_csd
Currently the mmc_change_freq and mmc_startup functions allocates
buffers on the stack that are passed down to the MMC device driver.
These buffers could be unaligned to the L1 dcache line size. This
causes problems when using DMA and with caches enabled.
This patch correctly cache alignes the buffers used for reading the
ext_csd data from an MMC device.
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Anton staaf [Mon, 3 Oct 2011 13:55:00 +0000 (13:55 +0000)]
ext2: Cache line aligned partial sector bounce buffer
Currently, if a device read request is done that does not begin or end
on a sector boundary a stack allocated bounce buffer is used to perform
the read, and then just the part of the sector that is needed is copied
into the users buffer. This stack allocation can mean that the bounce
buffer will not be aligned to the dcache line size. This is a problem
when caches are enabled because unaligned cache invalidates are not
safe.
This patch uses ALLOC_CACHE_ALIGN_BUFFER to create a stack allocated
cache line size aligned bounce buffer.
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Dave Liu <r63238@freescale.com>
Cc: Andy Fleming <afleming@gmail.com>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Change-Id: I32e1594d90ef039137bb219b0f7ced55768744ff
Acked-by: Mike Frysinger <vapier@gentoo.org>
Anton staaf [Mon, 3 Oct 2011 13:54:59 +0000 (13:54 +0000)]
mmc: dcache: allocate cache aligned buffer for scr and switch_status
Currently the sd_change_freq function allocates two buffers on the
stack that it passes down to the MMC device driver. These buffers
could be unaligned to the L1 dcache line size. This causes problems
when using DMA and with caches enabled.
This patch correctly cache alignes the buffers used for reading the
scr register and switch status values from an MMC device.
Change-Id: Ifa8414f572ef907681bd2d5ff3950285a215357d
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Anton staaf [Mon, 3 Oct 2011 13:54:58 +0000 (13:54 +0000)]
tegra: define CONFIG_SYS_CACHELINE_SIZE for tegra
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Tom Warren <twarren.nvidia@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Change-Id: I5c4bcfc0bfe59158ff249fe3be6640eec6d3cc76
Acked-by: Mike Frysinger <vapier@gentoo.org>
Anton staaf [Wed, 12 Oct 2011 13:55:59 +0000 (13:55 +0000)]
cache: add ALLOC_CACHE_ALIGN_BUFFER macro
This macro is used to allocate cache line size aligned stack
buffers for use with DMA hardware.
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Aneesh V <aneesh@ti.com>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Cc: Wolfgang Denk <wd@denx.de>
Wolfgang Denk [Mon, 24 Oct 2011 19:14:42 +0000 (21:14 +0200)]
Revert "km_arm: enable POST for these boards"
This reverts commit
a2da616311151ecfab8b8fcc510686fc3c0c9a21.
THis was applied by accident - a more recent version of this change
was already present, see commit
9400f8f 2011-10-05 22:03:11 +0200 km_arm: enable POST for these boards
Signed-off-by: Wolfgang Denk <wd@denx.de>
Simon Glass [Sun, 23 Oct 2011 17:44:35 +0000 (17:44 +0000)]
arm: Correct build error introduced by getenv_ulong() patch
Commit
dc8bbea removed a local variable that is used in most ARM boards.
Since we want to avoid an 'unused variable' warning with later compilers,
and the #ifdef logic of whether this variable is required is bit painful,
this declares the variable local to the block of code that needs it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 23 Oct 2011 17:41:54 +0000 (17:41 +0000)]
powerpc: Correct build warning introduced by getenv_ulong() patch
Commit
1272592 introduced a warning since the variable 's' is no longer
always used, depending on the CONFIG options.
Signed-off-by: Simon Glass <sjg@chromium.org>
Stefano Babic [Mon, 17 Oct 2011 00:07:43 +0000 (00:07 +0000)]
mkimage: adding support for Davinci AIS image
Some Davinci processors supports the Application
Image Script (AIS) boot process. The patch adds the generation
of the AIS image inside the mkimage tool to make possible
to generate a bootable U-boot without external tools
(TI Davinci AIS Generator).
Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Wolfgang Denk <wd@denx.de>
Mike Frysinger [Sun, 16 Oct 2011 20:04:13 +0000 (16:04 -0400)]
net: xilinx_enet: drop unused !NET_MULTI driver
This driver doesn't support the NET_MULTI framework, and I can't find
any boards/configs/files that reference this subdir, so punt it all.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sun, 16 Oct 2011 10:04:12 +0000 (10:04 +0000)]
net: sc589: drop unused !NET_MULTI driver
No boards appear to use this driver, and it doesn't support NET_MULTI,
so punt the old driver.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sun, 16 Oct 2011 10:04:11 +0000 (10:04 +0000)]
net: s3c4510b_eth: drop unused !NET_MULTI driver
No boards appear to use this driver, and it doesn't support NET_MULTI,
so punt the old driver.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sun, 16 Oct 2011 10:04:10 +0000 (10:04 +0000)]
net: ns9750: drop !NET_MULTI driver
Only one board uses this driver (ns9750dev), but the board doesn't seem
to have an entry to actually build it in the Makefile/boards.cfg, so just
delete net support from its board config.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sun, 16 Oct 2011 20:04:09 +0000 (16:04 -0400)]
net: enc28j60_lpc2292: drop unused !NET_MULTI driver
Everyone seems to have converted to the new enc28j60 driver, so drop
this older one which isn't used and doesn't support NET_MULTI.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Bernhard Kaindl [Sun, 16 Oct 2011 00:07:08 +0000 (00:07 +0000)]
powerpc/lib/board.c: Call run_post(POST_ROM) before relocating
The call to run_post(POST_ROM) which can run the POST memory test
is currently called too late when gd has already been copied to DRAM.
This results in failure to boot Linux after a POST_ROM memory test
tested all RAM while gd was already relocated to DRAM due to gd being
overwritten by the POST_ROM memory test.
Support this by moving the call to run_post(POST_ROM) to run earlier,
before U-Boot has started to move data to DRAM (from late board_init_f
to early board_init_f) where DRAM is initialized, but not used yet.
This allows that an POST memory test can test the whole DRAM,
including the area where the board info struct is located.
Signed-off-by: Bernhard Kaindl <bernhard.kaindl@thalesgroup.com>
Cc: Pieter Voorthuijsen <pieter.voorthuijsen@prodrive.nl>
Bernhard Kaindl [Sat, 15 Oct 2011 23:59:22 +0000 (23:59 +0000)]
net/dns.c: Fix endian conversion for big-endian in dns command
net/dns.c used endian conversion macros wrongly (shorts in reply
were put swapped into CPU, and then ntohs() was used to swap it
back, which broke on big-endian).
Fix this by using the correct linux conversion macro for reading
a unaligned short in network byte order: get_unaligned_be16()
Thanks to Mike Frysinger pointing at the best macro to use.
Tested on big and little endian qemu boards (mips and versatile)
Signed-off-by: Bernhard Kaindl <bernhard.kaindl@thalesgroup.com>
Cc: Pieter Voorthuijsen <pieter.voorthuijsen@prodrive.nl>
Cc: Robin Getz <rgetz@blackfin.uclinux.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Simon Glass [Thu, 13 Oct 2011 14:43:14 +0000 (14:43 +0000)]
x86: Use getenv_ulong() in place of getenv(), strtoul
This changes the board code to use the new getenv_ulong() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 13 Oct 2011 14:43:13 +0000 (14:43 +0000)]
sparc: Use getenv_ulong() in place of getenv(), strtoul
This changes the board code to use the new getenv_ulong() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 13 Oct 2011 14:43:12 +0000 (14:43 +0000)]
powerpc: Use getenv_ulong() in place of getenv(), strtoul
This changes the board code to use the new getenv_ulong() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stefan Roese <sr@denx.de>
Simon Glass [Thu, 13 Oct 2011 14:43:11 +0000 (14:43 +0000)]
mips: Use getenv_ulong() in place of getenv(), strtoul
This changes the board code to use the new getenv_ulong() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 13 Oct 2011 14:43:10 +0000 (14:43 +0000)]
microblaze: Use getenv_ulong() in place of getenv(), strtoul
This changes the board code to use the new getenv_ulong() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 13 Oct 2011 14:43:09 +0000 (14:43 +0000)]
m68k: Use getenv_ulong() in place of getenv(), strtoul
This changes the board code to use the new getenv_ulong() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 13 Oct 2011 14:43:08 +0000 (14:43 +0000)]
blackfin: Use getenv_ulong() in place of getenv(), strtoul
This changes the board code to use the new getenv_ulong() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Simon Glass [Thu, 13 Oct 2011 14:43:07 +0000 (14:43 +0000)]
avr32: Use getenv_ulong() in place of getenv(), strtoul
This changes the board code to use the new getenv_ulong() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 13 Oct 2011 14:43:06 +0000 (14:43 +0000)]
arm: Use getenv_ulong() in place of getenv(), strtoul
This changes the board code to use the new getenv_ulong() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Fri, 14 Oct 2011 13:25:18 +0000 (13:25 +0000)]
Add getenv_ulong() to read an integer from an environment variable
This is not an uncommon operation in U-Boot, so let's put it in a common
function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Daniel Schwierzeck [Tue, 18 Oct 2011 11:12:22 +0000 (11:12 +0000)]
common: fix missing function pointer relocation in fixup_cmdtable()
In commit
fa28bd2eef588ec2048ccafedb2b384d5a355858 patch v1 was applied
instead of v2. This is an incremental patch to update that commit
to version 2.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
Michal Simek [Wed, 12 Oct 2011 23:23:22 +0000 (23:23 +0000)]
net: emaclite: Move RX/TX ping pong initialization to
Init RX/TX ping pong directly from board not in the driver.
Signed-off-by: Michal Simek <monstr@monstr.eu>
Michal Simek [Wed, 12 Oct 2011 23:23:21 +0000 (23:23 +0000)]
net: emaclite: Use unsigned long for baseaddr
Baseaddr should be unsigned long.
Signed-off-by: Michal Simek <monstr@monstr.eu>
Heiko Schocher [Thu, 6 Oct 2011 20:40:00 +0000 (20:40 +0000)]
arm, post, memory: fix bug if sdram base != 0x00000000
commit
8d3fcb5e60b6c8e1d530dbc2e2e33ec6a44670da breaks post
memory support for sdram base != 0x00000000. Fix this.
Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
Cc: Holger Brunck <holger.brunck@keymile.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Shaohui Xie [Tue, 27 Sep 2011 01:21:34 +0000 (01:21 +0000)]
spi/eon: add support for new EON spi flash EN25Q32B
Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Anton Staaf [Mon, 17 Oct 2011 23:46:13 +0000 (16:46 -0700)]
cache: include asm/cache.h for ARCH_DMA_MINALIGN definition
ARCH_DMA_MINALIGN will be used to allocate DMA buffers that are
aligned correctly. In all current cases this means that the DMA
buffer will be aligned to at least the L1 data cache line size of
the configured architecture. If the board configuration file
does not specify the architecture L1 data cache line size then the
maximum line size of the architecture is used to align DMA buffers.
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Ilya Yanok <yanok@emcraft.com>
Cc: Laurence Withers <lwithers@guralp.com>
Anton Staaf [Mon, 17 Oct 2011 23:46:12 +0000 (16:46 -0700)]
x86: cache: define ARCH_DMA_MINALIGN for DMA buffer alignment
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Graeme Russ <graeme.russ@gmail.com>
Anton Staaf [Mon, 17 Oct 2011 23:46:11 +0000 (16:46 -0700)]
mips: cache: define ARCH_DMA_MINALIGN for DMA buffer alignment
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Shinya Kuribayashi <skuribay@pobox.com>
Anton Staaf [Mon, 17 Oct 2011 23:46:10 +0000 (16:46 -0700)]
microblaze: cache: define ARCH_DMA_MINALIGN for DMA buffer alignment
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Michal Simek <monstr@monstr.eu>
Anton Staaf [Mon, 17 Oct 2011 23:46:09 +0000 (16:46 -0700)]
avr32: cache: define ARCH_DMA_MINALIGN for DMA buffer alignment
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Reinhard Meyer <u-boot@emk-elektronik.de>
Anton Staaf [Mon, 17 Oct 2011 23:46:08 +0000 (16:46 -0700)]
sparc: cache: define ARCH_DMA_MINALIGN for DMA buffer alignment
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Daniel Hellstrom <daniel@gaisler.com>
Anton Staaf [Mon, 17 Oct 2011 23:46:07 +0000 (16:46 -0700)]
sh: cache: define ARCH_DMA_MINALIGN for DMA buffer alignment
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Anton Staaf [Mon, 17 Oct 2011 23:46:06 +0000 (16:46 -0700)]
powerpc: cache: define ARCH_DMA_MINALIGN for DMA buffer alignment
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Acked-by: Stefan Roese <sr@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Stefan Roese <sr@denx.de>
Anton Staaf [Mon, 17 Oct 2011 23:46:05 +0000 (16:46 -0700)]
nios2: cache: define ARCH_DMA_MINALIGN for DMA buffer alignment
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Scott McNutt <smcnutt@psyent.com>
Anton Staaf [Mon, 17 Oct 2011 23:46:04 +0000 (16:46 -0700)]
m68k: cache: define ARCH_DMA_MINALIGN for DMA buffer alignment
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Jason Jin <jason.jin@freescale.com>
Anton Staaf [Mon, 17 Oct 2011 23:46:03 +0000 (16:46 -0700)]
arm: cache: define ARCH_DMA_MINALIGN for DMA buffer alignment
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Simon Glass [Sat, 15 Oct 2011 19:14:09 +0000 (19:14 +0000)]
NS16550: trivial code clean for checkpatch
This removes most checkpatch warnings from the ns16550 driver and its
header.
Signed-off-by: Simon Glass <sjg@chromium.org>
Wolfgang Denk [Sun, 23 Oct 2011 15:00:47 +0000 (17:00 +0200)]
MPC85xx: remove broken "mpq101" board
The board stopped building some time ago, and the board maintainer
agrtees to drop it - see
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/112674
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Alex Dubov <oakad@yahoo.com>
Cc: Andy Fleming <afleming@gmail.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
Michal Simek [Tue, 18 Oct 2011 00:22:10 +0000 (00:22 +0000)]
serial: uartlite: Fix compilation warnings
Do not setup userial_ports array as const because
in uartlite_serial_putc is out_be32 which can't write
to tx_fifo if is const.
Warning log:
serial_xuartlite.c: In function 'uartlite_serial_putc':
serial_xuartlite.c:60: warning: initialization discards qualifiers from pointer target type
serial_xuartlite.c: In function 'uartlite_serial_getc':
serial_xuartlite.c:78: warning: initialization discards qualifiers from pointer target type
serial_xuartlite.c: In function 'uartlite_serial_tstc':
serial_xuartlite.c:87: warning: initialization discards qualifiers from pointer target type
Signed-off-by: Michal Simek <monstr@monstr.eu>
Dirk Eibach [Thu, 13 Oct 2011 23:23:12 +0000 (23:23 +0000)]
hwmon: Provide dtt_init()
Our boards rely on dtt for initialization of fan hardware.
dtt_init() was implemented to be called form board specific code.
Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Acked-by: Heiko Schocher <hs@denx.de>
Tested-by: Heiko Schocher <hs@denx.de>
Joe Hershberger [Thu, 13 Oct 2011 13:03:48 +0000 (13:03 +0000)]
common: cosmetic: CONFIG_BOOTFILE checkpatch compliance
Remove MK_STR from places that consume CONFIG_BOOTFILE to force all definitions to be string literals.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Joe Hershberger [Thu, 13 Oct 2011 13:03:47 +0000 (13:03 +0000)]
common: cosmetic: CONFIG_ROOTPATH checkpatch compliance
Remove MK_STR from places that consume CONFIG_ROOTPATH to force all definitions to be string literals.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Wed, 12 Oct 2011 19:48:00 +0000 (19:48 +0000)]
autoconf.mk.dep: use target cflags, not host
The current autoconf.mk.dep rule uses the host cflags when executing the
target compiler (which includes target header files). We don't want to
mix the target compiler and host compiler flags, so change it to CFLAGS.
Otherwise we get things like -pedantic which the U-Boot source code does
not build with.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Wed, 12 Oct 2011 19:25:20 +0000 (19:25 +0000)]
build: force migration away from $(AR)
People keep adding new code that still uses $(AR) instead of
$(cmd_link_o_target), so turn it into a build time error.
We still use $(AR) locally, but we don't use $(ARFLAGS).
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 18 Oct 2011 05:30:17 +0000 (05:30 +0000)]
build: add missing $(AR)->$(cmd_link_o_target) update
Seems people fixed their files to use libfoo.o, but didn't actually
update the creation targets to use $(cmd_link_o_target). Update the
rest of the Makefile's found with grep.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Tested-by: Simon Glass <sjg@chromium.org>
Joel A Fernandes [Wed, 12 Oct 2011 16:12:55 +0000 (16:12 +0000)]
Makefile: Remove MLO on make clean
SPL builds could leave an MLO which is an mkimage of type omapimage
Make sure its deleted on make clean/distclean
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Anatolij Gustschin [Wed, 12 Oct 2011 02:31:39 +0000 (02:31 +0000)]
consolidate mdelay by providing a common function for all users
There are several mdelay() definitions in the driver and
board code. Remove them all and provide a common mdelay()
in lib/time.c.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Stephen Warren [Tue, 18 Oct 2011 11:11:49 +0000 (11:11 +0000)]
checkpatch whitespace cleanups
This avoids the following checkpatch warning in later patches:
ERROR: "(foo*)" should be "(foo *)"
ERROR: space required before the open brace '{'
ERROR: space prohibited before that close parenthesis ')'
ERROR: spaces required around that '||' (ctx:WxV)
WARNING: space prohibited between function name and open parenthesis '('
WARNING: line over 80 characters
This fixes all the white-space warnings/errors in my subsequent patch,
and within this current patch. A number of other checkpatch warnings
and errors are still present in this patch itself, but are beyond simple
whitespace fixes, so are not solved by this patch.
v2: New patch
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Tang Yuantian [Fri, 7 Oct 2011 19:26:58 +0000 (19:26 +0000)]
drivers: add the support for Silicon Image SATA controller
Add the Silicon Image series PCI Express to
Serial ATA controller support, including Sil3132,
Sil3131 and Sil3124.
The SATA controller can be used to load kernel.
The features list:
- Supports 1-lane 2.5 Gbit/s PCI Express
- Supports one/two/four independent Serial ATA channels
- Supports Serial ATA Generation 2 transfer rate of 3.0 Gbit/s
- Supports LBA28 and LBA48
Signed-off-by: Tang Yuantian <b29983@freescale.com>
Signed-off-by: Aaron Williams <Aaron.Williams@cavium.com>
Tested-by: Lan Chunhe <b25806@freescale.com>
Macpaul Lin [Wed, 19 Oct 2011 20:41:11 +0000 (20:41 +0000)]
doc/README: documents and readme for NDS32 arch
Documents and READMEs for NDS32 architecture.
It patch also provides usage of SoC AG101 and board ADP-AG101.
Signed-off-by: Macpaul Lin <macpaul@andestech.com>
Macpaul Lin [Wed, 19 Oct 2011 20:41:10 +0000 (20:41 +0000)]
adp-ag101: add board adp-ag101 support
Add evaluation board "adp-ag101" configuration file adp-ag101.h.
Add adp-ag101.c board config and related settings.
Add board adp-ag101 into boards.cfg
Signed-off-by: Macpaul Lin <macpaul@andestech.com>
Macpaul Lin [Wed, 19 Oct 2011 20:41:09 +0000 (20:41 +0000)]
nds32: common bdinfo, bootm, image support
Add support of NDS32 to common commands bdinfo, bootm, and image format.
Signed-off-by: Macpaul Lin <macpaul@andestech.com>
Macpaul Lin [Tue, 11 Oct 2011 22:33:20 +0000 (22:33 +0000)]
nds32: standalone support
Add standalone program related support for nds32 architecture.
Signed-off-by: Macpaul Lin <macpaul@andestech.com>