]> git.ipfire.org Git - people/ms/u-boot.git/log
people/ms/u-boot.git
8 years agosandbox: add ADC unit tests
Przemyslaw Marczak [Tue, 27 Oct 2015 12:08:07 +0000 (13:08 +0100)] 
sandbox: add ADC unit tests

This commit adds unit tests for ADC uclass's methods using sandbox ADC.

Testing proper ADC binding:
- dm_test_adc_bind()                    - device binding
- dm_test_adc_wrong_channel_selection() - checking wrong channel selection

Testing ADC supply operations:
- dm_test_adc_supply():
  - Vdd/Vss values validating
  - Vdd regulator updated value validating
  - Vdd regulator's auto enable state validating

Testing ADC operations results:
- dm_test_adc_single_channel_conversion() - single channel start/data
- dm_test_adc_single_channel_shot()       - single channel shot
- dm_test_adc_multi_channel_conversion()  - multi channel start/data
- dm_test_adc_multi_channel_shot()        - multi channel single shot

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agosandbox: add ADC driver
Przemyslaw Marczak [Tue, 27 Oct 2015 12:08:06 +0000 (13:08 +0100)] 
sandbox: add ADC driver

This commit adds implementation of Sandbox ADC device emulation.
The device provides:
- single and multi-channel conversion
- 4 channels with predefined conversion output data
- 16-bit resolution

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agoexynos5-dt-types: add board detection for Odroid XU3/XU3L/XU4.
Przemyslaw Marczak [Tue, 27 Oct 2015 12:08:05 +0000 (13:08 +0100)] 
exynos5-dt-types: add board detection for Odroid XU3/XU3L/XU4.

This commit adds additional file with implementation of board
detection code for Odroid-XU3/XU4.

The detection depends on compatible found in fdt:
- "samsung,exynos5" - uses Exynos5 generic code
- "samsung,odroidxu3" - try detect XU3 revision

There are few revisions of Odroid XU3/XU4, each can be detected
by checking the value of channel 9 of built-in ADC:
 Rev   ADC  Board
 0.1     0  XU3 0.1
 0.2   372  XU3 0.2 | XU3L - no DISPLAYPORT
 0.3  1280  XU4 0.1

The detection code depends on the ADC+10% value.

Implementation of functions:
- set_board_type()     - read ADC and set type
- get_board_rev()      - returns board revision: 1..3
- get_board_type()     - returns board type string

Additional functions with return values of bool:
- board_is_generic()   - true if found compatible "samsung,exynos5"
                         but not "samsung,odroidxu3"
- board_is_odroidxu3() - true if found compatible "samsung,odroidxu3"
                         and one of XU3 revision.
- board_is_odroidxu4() - true if found compatible "samsung,odroidxu3"
                         and XU4 revision.

After I2C controller init, the get_board_type() can check
if the XU3 board is a "Lite" variant, by probing chip
0x40 on I2C0 (INA231 - exists only on non-lite).
This is useful for setting fdt file name at misc_init_r().

Enabled configs:
- CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
- CONFIG_ODROID_REV_AIN
- CONFIG_REVISION_TAG
- CONFIG_BOARD_TYPES

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agoOdroid-XU3: dts: enable ADC, with request for pre-reloc bind
Przemyslaw Marczak [Tue, 27 Oct 2015 12:08:04 +0000 (13:08 +0100)] 
Odroid-XU3: dts: enable ADC, with request for pre-reloc bind

This ADC is required for Odroid's board revision detection.
The pre-reloc request is enabled, since board detection will
be done in one of early function call.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agoExynos54xx: dts: add ADC node
Przemyslaw Marczak [Tue, 27 Oct 2015 12:08:03 +0000 (13:08 +0100)] 
Exynos54xx: dts: add ADC node

This commit adds common ADC node, which is disabled as default.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agoOdroid-XU3: enable s2mps11 PMIC support
Przemyslaw Marczak [Tue, 27 Oct 2015 12:08:02 +0000 (13:08 +0100)] 
Odroid-XU3: enable s2mps11 PMIC support

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agodm: adc: add Exynos54xx compatible ADC driver
Przemyslaw Marczak [Tue, 27 Oct 2015 12:08:01 +0000 (13:08 +0100)] 
dm: adc: add Exynos54xx compatible ADC driver

This commit adds driver for Exynos54xx ADC subsystem.

The driver is implemented using driver model, amd provides
ADC uclass's methods for ADC single channel operations:
- adc_start_channel()
- adc_channel_data()
- adc_stop()

The basic parameters of ADC conversion, are:
- sample rate: 600KSPS
- output the data as average of 8 time conversion

ADC features:
- sample rate: 600KSPS
- resolution: 12-bit
- channels: 10 (analog multiplexer)

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agodm: adc: add simple ADC uclass implementation
Przemyslaw Marczak [Tue, 27 Oct 2015 12:08:00 +0000 (13:08 +0100)] 
dm: adc: add simple ADC uclass implementation

This commit adds:
- new uclass id: UCLASS_ADC
- new uclass driver: drivers/adc/adc-uclass.c

The new uclass's API allows for ADC operation on:
* single-channel with channel selection by a number
* multti-channel with channel selection by bit mask

ADC uclass's functions:
* single-channel:
  - adc_start_channel()        - start channel conversion
  - adc_channel_data()         - get conversion data
  - adc_channel_single_shot()  - start/get conversion data
* multi-channel:
  - adc_start_channels()       - start selected channels conversion
  - adc_channels_data()        - get conversion data
  - adc_channels_single_shot() - start/get conversion data for channels
                                 selected by bit mask
* general:
  - adc_stop()      - stop the conversion
  - adc_vdd_value() - positive reference Voltage value with polarity [uV]
  - adc_vss_value() - negative reference Voltage value with polarity [uV]
  - adc_data_mask() - conversion data bit mask

The device tree can provide below constraints/properties:
- vdd-polarity-negative: if true: Vdd = vdd-microvolts * (-1)
- vss-polarity-negative: if true: Vss = vss-microvolts * (-1)
- vdd-supply:            phandle to Vdd regulator's node
- vss-supply:            phandle to Vss regulator's node
And optional, checked only if the above corresponding, doesn't exist:
  - vdd-microvolts:      positive reference Voltage [uV]
  - vss-microvolts:      negative reference Voltage [uV]

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agodm: regulator: add function device_get_supply_regulator()
Przemyslaw Marczak [Tue, 27 Oct 2015 12:07:59 +0000 (13:07 +0100)] 
dm: regulator: add function device_get_supply_regulator()

Some devices are supplied by configurable regulator's output.
But there was no function for getting it. This commit adds
function, that allows for getting the supply device by it's phandle.

The returned regulator device can be used with regulator uclass's API.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agodm: pmic: add s2mps11 PMIC I/O driver
Przemyslaw Marczak [Tue, 27 Oct 2015 12:07:58 +0000 (13:07 +0100)] 
dm: pmic: add s2mps11 PMIC I/O driver

This driver allows I/O operations on the Samsung S2MPS11 PMIC,
which provides lots of LDO/BUCK outputs.

To enable it, update defconfig with:
- CONFIG_PMIC_S2MPS11
and additional, if were not defined:
- CONFIG_CMD_PMIC
- CONFIG_ERRNO_STR

The binding info: doc/device-tree-bindings/pmic/s2mps11.txt

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agoExynos5422/5800: set cpu id to 0x5422
Przemyslaw Marczak [Tue, 27 Oct 2015 12:07:57 +0000 (13:07 +0100)] 
Exynos5422/5800: set cpu id to 0x5422

The proper CPU ID for those Exynos variants is 0x5422,
but before the 0x5800 was set. This commit fix this back.

Changes:
- set cpu id to 0x5422 instead of 0x5800
- remove macro proid_is_exynos5800()
- add macro proid_is_exynos5422()
- change the calls to proid_is_exynos5800() with new macro

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agoPeach-Pi: dts: add cpu-model string
Przemyslaw Marczak [Tue, 27 Oct 2015 12:07:56 +0000 (13:07 +0100)] 
Peach-Pi: dts: add cpu-model string

This platform is based on Exynos5800 but the cpu id is 0x5422.
This doesn't fit the common Exynos SoC name convention, so now,
the CPU name is defined by device tree string, to be printed
properly.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agos5p: cpu_info: print "cpu-model" if exists in dts
Przemyslaw Marczak [Tue, 27 Oct 2015 12:07:55 +0000 (13:07 +0100)] 
s5p: cpu_info: print "cpu-model" if exists in dts

The CPU name for Exynos was concatenated with cpu id,
but for new Exynos platforms, like Chromebook Peach Pi
based on Exynos5800, the name of SoC variant does not
include the real SoC cpu id (0x5422).

For such case, the CPU name should be defined in device tree.

This commit introduces new device-tree property for Exynos:
- "cpu-model" - with cpu name string
If defined, then the cpu id is not printed.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agosamsung: board/misc: check returned pointer for get_board_type() calls
Przemyslaw Marczak [Tue, 27 Oct 2015 12:07:54 +0000 (13:07 +0100)] 
samsung: board/misc: check returned pointer for get_board_type() calls

The function get_board_type() is called in two places by common code,
but the returned pointer was never check.

This commit adds checking the returned pointer, before use it.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 years agox86: Select the ns16550 debug UART for minnowmax, chromebook_link
Simon Glass [Fri, 30 Oct 2015 21:46:17 +0000 (15:46 -0600)] 
x86: Select the ns16550 debug UART for minnowmax, chromebook_link

At present the debug UART is not selected which causes a build error.
Correct this.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Fri, 30 Oct 2015 16:56:58 +0000 (12:56 -0400)] 
Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq

8 years agols102xa: Adjust some macros for SD boot on LS1021A QDS board
Alison Wang [Fri, 30 Oct 2015 14:45:38 +0000 (22:45 +0800)] 
ls102xa: Adjust some macros for SD boot on LS1021A QDS board

As more features are added for SD boot on LS1021A QDS board,
the size of U-Boot is larger. CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS
needs to be adjusted to a suitable value.

Starting address of the malloc pool used in SPL needs to be
adjusted too, or it will occupy the address u-boot loads.

Signed-off-by: Alison Wang <alison.wang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoconfigs: ls1021atwr: Enable ID EEPROM for SD boot
Yao Yuan [Wed, 23 Sep 2015 07:48:26 +0000 (15:48 +0800)] 
configs: ls1021atwr: Enable ID EEPROM for SD boot

I2C1 can work on ls102xa rev2.0 SD boot, so add
ID EEPROM for SD boot.

Signed-off-by: Yuan Yao <yao.yuan@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarm: ls1021atwr: optimize the deep sleep latency
tang yuantian [Thu, 24 Sep 2015 07:52:02 +0000 (15:52 +0800)] 
arm: ls1021atwr: optimize the deep sleep latency

It will take more than 1s when wake up from deep sleep. Most of the
time is spent on outputing information. This patch reduced the deep
sleep latency by:
1. avoid outputing system informaton
2. remove flush cache after DDR restore
3. skip reloading second stage uboot binary when SD boot

Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoSECURE_BOOT: Correct reading of ITS bit
Aneesh Bansal [Mon, 12 Oct 2015 16:35:50 +0000 (22:05 +0530)] 
SECURE_BOOT: Correct reading of ITS bit

The ITS bit was being read incorrectly beacause of operator
precedence. The same ahs been corrected.

Signed-off-by: Lawish Deshmukh <lawish.deshmukh@freescale.com>
Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agodrivers/ddr/fsl_ddr: Make SR_IE configurable
Joakim Tjernlund [Wed, 14 Oct 2015 14:32:00 +0000 (16:32 +0200)] 
drivers/ddr/fsl_ddr: Make SR_IE configurable

SR_IE(Self-refresh interrupt enable) is needed for
Hardware Based Self-Refresh. Make it configurable and let
board code handle the rest.

Signed-off-by: Joakim Tjernlund <joakim.tjernlund@transmode.se>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoREADME.scrapyard: Populate recent ppc4xx removals
Tom Rini [Fri, 30 Oct 2015 11:53:56 +0000 (07:53 -0400)] 
README.scrapyard: Populate recent ppc4xx removals

Signed-off-by: Tom Rini <trini@konsulko.com>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Tom Rini [Thu, 29 Oct 2015 20:30:33 +0000 (16:30 -0400)] 
Merge branch 'master' of git://git.denx.de/u-boot-net

8 years agonet: eth: Check return value in various places
Bin Meng [Thu, 8 Oct 2015 04:45:44 +0000 (21:45 -0700)] 
net: eth: Check return value in various places

eth_get_dev() can return NULL which means device_probe() fails for
that ethernet device. Add return value check in various places or
U-Boot will crash due to NULL pointer access.

With this commit, 'dm_test_eth_act' test case passes.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agodm: test: Add a new test case against dm eth codes for NULL pointer access
Bin Meng [Thu, 8 Oct 2015 04:45:43 +0000 (21:45 -0700)] 
dm: test: Add a new test case against dm eth codes for NULL pointer access

U-Boot crashes when doing a 'ping' with the following test scenario:

  - All ethernet devices are not probed
  - "ethaddr" for all ethernet devices are not set
  - "ethact" is set to a valid ethernet device name

Add a new test case 'dm_test_eth_act' to hit such scenario.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: eth: Clear MAC address in eth_pre_remove()
Bin Meng [Thu, 8 Oct 2015 04:45:42 +0000 (21:45 -0700)] 
net: eth: Clear MAC address in eth_pre_remove()

platdata->enetaddr was assigned to a value in dev_probe() last time.
If we don't clear it, for dev_probe() at the second time, dm eth
will end up treating it as a MAC address from ROM no matter where it
came from originally (maybe env, ROM, or even random). Fix this by
clearing platdata->enetaddr when removing an Ethernet device.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agodm: core: Remove unnecessary codes in uclass_pre_remove_device()
Bin Meng [Thu, 8 Oct 2015 04:32:40 +0000 (21:32 -0700)] 
dm: core: Remove unnecessary codes in uclass_pre_remove_device()

dev->uclass->uc_drv->per_device_auto_alloc_size is to be freed in
device_free(), so is dev->seq. Remove these unnecessary codes.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agonet: pch_gbe: Add driver remove support
Bin Meng [Thu, 8 Oct 2015 04:32:39 +0000 (21:32 -0700)] 
net: pch_gbe: Add driver remove support

In pch_gbe_probe(), some additional resources are allocated
(eg: mdio, phy). We should free these in the driver remove phase.
Add pch_gbe_remove() to clean it up.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: designware: Add driver remove support
Bin Meng [Thu, 8 Oct 2015 04:32:38 +0000 (21:32 -0700)] 
net: designware: Add driver remove support

In designware_eth_probe(), some additional resources are allocated
(eg: mdio, phy). We should free these in the driver remove phase.
Add designware_eth_remove() to clean it up.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agonet: mdio: Add mdio_free() and mdio_unregister() API
Bin Meng [Thu, 8 Oct 2015 04:32:37 +0000 (21:32 -0700)] 
net: mdio: Add mdio_free() and mdio_unregister() API

Currently there is no API to uninitialize mdio. Add two APIs for this.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: phy: Test previous phydev->dev against new mac dev
Bin Meng [Thu, 8 Oct 2015 04:19:31 +0000 (21:19 -0700)] 
net: phy: Test previous phydev->dev against new mac dev

In phy_connect_dev(), if the phy device has an accociated mac device
before, a warning message will be printed. But we should test the
old device against the new one, if they are actually the same one,
don't print the warning message.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: phy: Change to print all phys that are not found
Bin Meng [Thu, 8 Oct 2015 04:19:30 +0000 (21:19 -0700)] 
net: phy: Change to print all phys that are not found

In get_phy_device_by_mask(), when no phy is found, currently we only
print a message to show the first phy address that is not found. But
this is not always the case as multiple phys can be specified by
phy_mask. Change to print all phys that are not found, and to reduce
the console boot log, change to use 'debug' instead of 'printf'.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: phy: Don't create phy device when there is no phy
Bin Meng [Thu, 8 Oct 2015 04:19:29 +0000 (21:19 -0700)] 
net: phy: Don't create phy device when there is no phy

In get_phy_device_by_mask(), when no phy is found, we should not
create any phy device.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: phy: micrel: disable NAND-tree for KSZ8051
Sylvain Rochet [Wed, 7 Oct 2015 20:54:22 +0000 (22:54 +0200)] 
net: phy: micrel: disable NAND-tree for KSZ8051

NAND-tree is used to check wiring between MAC and PHY using NAND gates
on the PHY side, hence the name.

NAND-tree initial status is latched at reset by probing the IRQ pin.
However some devices are sharing the PHY IRQ pin with other peripherals
such as Atmel SAMA5D[34]x-EK boards when using the optional TM7000
display module, therefore they are switching the PHY in NAND-tree test
mode depending on the current IRQ line status at reset.

This patch ensure PHY is not in NAND-tree test mode only for the Micrel
KSZ8051 PHY used by Atmel. There are other Micrel PHY affected but I
doubt they are used on such weird hardware design.

Signed-off-by: Sylvain Rochet <sylvain.rochet@finsecur.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: rtl8169: Build warning fixes for 64-bit
Stephen Warren [Fri, 2 Oct 2015 23:44:34 +0000 (17:44 -0600)] 
net: rtl8169: Build warning fixes for 64-bit

Casting from dev->priv to pci_dev_t changes the value's size on a 64-bit
system. This causes the compiler to complain about casting a pointer to an
integer of a different (smaller) size. To avoid this, cast to an integer
of matching size first, then perform an int->int cast to perform the size
change. This signals explicitly that we do want to change the size, and
avoids the compiler warning. This is legitimate since we know the pointer
actually stores a small integer, not a pointer value.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: Increase the size of the net_boot_file_name buffer
Jacob Stiffler [Wed, 30 Sep 2015 14:12:05 +0000 (10:12 -0400)] 
net: Increase the size of the net_boot_file_name buffer

The net_boot_file_name buffer is used as storage for the bootfilename
command line argument to network boot commands such as tftp and nfs.

Increase the size of this buffer to 1024 bytes as the current size of
128 bytes is restrictive for arbitrary paths on the server.

Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: phy: micrel: add support for KSZ8021RNL & KSZ8031RNL
Sylvain Lemieux [Wed, 9 Sep 2015 20:29:51 +0000 (16:29 -0400)] 
net: phy: micrel: add support for KSZ8021RNL & KSZ8031RNL

This patch adds support for Micrel KSZ8021RNL & KSZ8031RNL.

Signed-off-by: Sylvain Lemieux <slemieux@tycoint.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agosmsc95xx: Use zero length packets when RX fifo is empty
Stefan Brüns [Tue, 8 Sep 2015 03:12:00 +0000 (05:12 +0200)] 
smsc95xx: Use zero length packets when RX fifo is empty

Using NAKs on empty RX fifo for bulk in transfers is the right choice
for a interrupt driven model, but U-Boot uses polling and expects an
immediate answer if there is no incoming packet. Using ZLP Bulk In Response
(BIR) mode avoids unexpected timeouts in the host controller driver.

As ZLP mode is reset default, there is no need to set it.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: parse DHCP options from overloaded file/sname fields
Stefan Brüns [Thu, 3 Sep 2015 22:31:49 +0000 (00:31 +0200)] 
net: parse DHCP options from overloaded file/sname fields

If Option 52 in the vendor option field signals overloading
of the file and/or sname fields, these field may contain
additional options. Formatting of file/sname contained options
is the same as in the vendor options field, but without the
leading magic.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: Do not overwrite options found in overloaded 'file' field
Stefan Brüns [Thu, 3 Sep 2015 22:31:48 +0000 (00:31 +0200)] 
net: Do not overwrite options found in overloaded 'file' field

If 'file' is overloaded, it is wrong to get or put the bootfile name
from it/to it.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agoarm: ls1021a: Add sata support on qds and twr board
tang yuantian [Fri, 16 Oct 2015 08:06:05 +0000 (16:06 +0800)] 
arm: ls1021a: Add sata support on qds and twr board

Freescale ARM-based Layerscape LS102xA contain a SATA controller
which comply with the serial ATA 3.0 specification and the
AHCI 1.3 specification.
This patch adds SATA feature on ls1021aqds and ls1021atwr boards.

Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarm: ls102xa: Set fdt_high and initrd_high to the value of 0xffffffff
Alison Wang [Mon, 26 Oct 2015 06:08:28 +0000 (14:08 +0800)] 
arm: ls102xa: Set fdt_high and initrd_high to the value of 0xffffffff

As 3G/1G user/kernel memory split is used on LS1021A, the Linux kernel
fails to access the device tree blob on boot. The reason is that u-boot
relocates the device tree blob into high memory when booting the kernel
and the kernel is unable to access the blob.

To avoid this issue, fdt_high is set to the value of 0xffffffff. The
device tree blob will not get relocated and is still in low memory to
make it accessible to the kernel.

For the same reason, initrd_high is set to the value of 0xffffffff too.

Signed-off-by: Alison Wang <alison.wang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8/ls1043a: Enable secondary cores
Hou Zhiqiang [Mon, 26 Oct 2015 11:47:57 +0000 (19:47 +0800)] 
armv8/ls1043a: Enable secondary cores

After the secondary cores enter U-Boot, use CONFIG_ARMV8_MULTIENTRY to
make secondary cores excute in spin loop.

Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8/ls1043ardb: Add sd boot support
Gong Qianyu [Mon, 26 Oct 2015 11:47:56 +0000 (19:47 +0800)] 
armv8/ls1043ardb: Add sd boot support

Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8/ls1043ardb: esdhc: Add esdhc support for ls1043ardb
Yangbo Lu [Mon, 26 Oct 2015 11:47:55 +0000 (19:47 +0800)] 
armv8/ls1043ardb: esdhc: Add esdhc support for ls1043ardb

This patch adds esdhc support for ls1043ardb.

Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8/ls1043a: Add Fman support
Shaohui Xie [Mon, 26 Oct 2015 11:47:54 +0000 (19:47 +0800)] 
armv8/ls1043a: Add Fman support

Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8/ls1043ardb: Add nand boot support
Gong Qianyu [Mon, 26 Oct 2015 11:47:53 +0000 (19:47 +0800)] 
armv8/ls1043ardb: Add nand boot support

Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8/ls1043ardb: Add LS1043ARDB board support
Mingkai Hu [Mon, 26 Oct 2015 11:47:52 +0000 (19:47 +0800)] 
armv8/ls1043ardb: Add LS1043ARDB board support

LS1043ARDB Specification:
-------------------------
Memory subsystem:
 * 2GByte DDR4 SDRAM (32bit bus)
 * 128 Mbyte NOR flash single-chip memory
 * 512 Mbyte NAND flash
 * 16 Mbyte high-speed SPI flash
 * SD connector to interface with the SD memory card

Ethernet:
 * XFI 10G port
 * QSGMII with 4x 1G ports
 * Two RGMII ports

PCIe:
 * PCIe2 (Lanes C) to mini-PCIe slot
 * PCIe3 (Lanes D) to PCIe slot

USB 3.0: two super speed USB 3.0 type A ports

UART: supports two UARTs up to 115200 bps for console

Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
8 years agoarmv8/fsl_lsch2: Add fsl_lsch2 SoC
Mingkai Hu [Mon, 26 Oct 2015 11:47:51 +0000 (19:47 +0800)] 
armv8/fsl_lsch2: Add fsl_lsch2 SoC

Freescale LayerScape with Chassis Generation 2 is a set of SoCs with
ARMv8 cores and 2rd generation of Chassis.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8/fsl_lsch3: Change arch to fsl-layerscape
Mingkai Hu [Mon, 26 Oct 2015 11:47:50 +0000 (19:47 +0800)] 
armv8/fsl_lsch3: Change arch to fsl-layerscape

There are two LS series processors are built on ARMv8 Layersacpe
architecture currently, LS2085A and LS1043A. They are based on
ARMv8 core although use different chassis, so create fsl-layerscape
to refactor the common code for the LS series processors which also
paves the way for adding LS1043A platform.

Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agonet/fm: fix MDIO controller base on FMAN2
Shaohui Xie [Mon, 26 Oct 2015 11:47:49 +0000 (19:47 +0800)] 
net/fm: fix MDIO controller base on FMAN2

MDIO controller base on FMAN2 was defined as CONFIG_SYS_FSL_FM2_ADDR
plus offset, but CONFIG_SYS_FSL_FM2_ADDR only defined when there are two
FMANs, so we should only define MDIO controller base on FMAN2 when there
is FMAN2.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agonet/fm: Add QSGMII PCS init
Shaohui Xie [Mon, 26 Oct 2015 11:47:48 +0000 (19:47 +0800)] 
net/fm: Add QSGMII PCS init

QSGMII PCS needed to be programmed same as SGMII PCS, and there are
four ports in QSGMII PCS, port 0, 1, 2, 3, all the four ports shared
port 0's MDIO controller, so when programming port 0, we continue to
program other three ports.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agonet: Move some header files to include/
Shaohui Xie [Mon, 26 Oct 2015 11:47:47 +0000 (19:47 +0800)] 
net: Move some header files to include/

The fsl_dtsec.h & fsl_tgec.h & fsl_fman.h can be shared on both ARM
and PPC, move it out of ppc to include/, and change the path in
drivers accordingly.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agonet: fm: bug fix when CONFIG_PHYLIB not defined
Shaohui Xie [Mon, 26 Oct 2015 11:47:46 +0000 (19:47 +0800)] 
net: fm: bug fix when CONFIG_PHYLIB not defined

codes related to phylib operations should be wrapped by CONFIG_PHYLIB.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agonet/fm: Make the return value logic consistent with convention
Hou Zhiqiang [Mon, 26 Oct 2015 11:47:45 +0000 (19:47 +0800)] 
net/fm: Make the return value logic consistent with convention

In convention, the '0' is a normal return value indicating there isn't
an error. While some functions of FMan IM driver treat '0' as an error
return value.

Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agonet/fm: Add support for 64-bit platforms
Hou Zhiqiang [Mon, 26 Oct 2015 11:47:44 +0000 (19:47 +0800)] 
net/fm: Add support for 64-bit platforms

The FMan IM driver is developed for 32-bit platfroms and isn't
friendly to 64-bit platforms, so do the minimal refactor:

1. Refine the MURAM management and access.
2. Correct the initialization and operations for QDs and BDs.

Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agonet/fm: Fix the endian issue to support both endianness platforms
Hou Zhiqiang [Mon, 26 Oct 2015 11:47:43 +0000 (19:47 +0800)] 
net/fm: Fix the endian issue to support both endianness platforms

The Frame Manager(FMan) is a big-endian peripheral, so the
registers, internal MURAM and BDs, which are allocated in main
memory and used to communication between core and FMan, should
be accessed in big-endian. The big-endian platforms can access
them directly as the code implemented so far, while for the
little-endian platforms it need to swap the byte-order.

Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv7/ls1021a: move ns_access to common file
Mingkai Hu [Mon, 26 Oct 2015 11:47:41 +0000 (19:47 +0800)] 
armv7/ls1021a: move ns_access to common file

Config Security Level Register is different between different SoCs,
so put the CSL register definition into the arch specific directory.

Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agocommon/board_f.c: change the macro name and remove it for PPC platforms
Gong Qianyu [Mon, 26 Oct 2015 11:47:42 +0000 (19:47 +0800)] 
common/board_f.c: change the macro name and remove it for PPC platforms

For most PPC platforms, they will call the first get_clocks() in
init_sequence_f[] as they define CONFIG_PPC. CONFIG_SYS_FSL_CLK is
then defined to call the second get_clocks(), which should be
redundant for PPC.

Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarm: ls102xa: enable snooping for CAAM transactions
horia.geanta@freescale.com [Thu, 15 Oct 2015 11:21:31 +0000 (14:21 +0300)] 
arm: ls102xa: enable snooping for CAAM transactions

Enable snooping for CAAM read & write transactions by
programming the SCFG snoop configuration register:
SCFG_SNPCNFGCR[SECRDSNP]
SCFG_SNPCNFGCR[SECWRSNP]

Signed-off-by: Horia Geantă <horia.geanta@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8: ls2085a: Add support of random MAC address
Prabhakar Kushwaha [Wed, 7 Oct 2015 11:00:12 +0000 (16:30 +0530)] 
armv8: ls2085a: Add support of random MAC address

Add support of setting RANDOM MAC address if env variable not available.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agodriver: net: ldpaa_eth: Set MAC address during interface open
Prabhakar Kushwaha [Wed, 7 Oct 2015 10:59:58 +0000 (16:29 +0530)] 
driver: net: ldpaa_eth: Set MAC address during interface open

Currently ldpaa ethernet driver rely on DPL file to statically configure
mac address for the DPNIs. It is not a correct approach.

Add support setting MAC address from env variable or Random MAC address.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8: ls2085ardb: enable CONFIG_PHY_AQUANTIA
Shaohui Xie [Thu, 24 Sep 2015 10:20:32 +0000 (18:20 +0800)] 
armv8: ls2085ardb: enable CONFIG_PHY_AQUANTIA

To support on board Aquantia's PHY AQR405.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agocrypto/fsl: SEC driver cleanup for 64 bit and endianness
Aneesh Bansal [Thu, 29 Oct 2015 17:28:03 +0000 (22:58 +0530)] 
crypto/fsl: SEC driver cleanup for 64 bit and endianness

The SEC driver code has been cleaned up to work for 64 bit
physical addresses and systems where endianess of SEC block
is different from the Core.
Changes:
1. Descriptor created on Core is modified as per SEC block
   endianness before the job is submitted.
2. The read/write of physical addresses to Job Rings will
   be depend on endianness of SEC block as 32 bit low and
   high part of the 64 bit address will vary.
3. The 32 bit low and high part of the 64 bit address in
   descriptor will vary depending on endianness of SEC.

Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoData types defined for 64 bit physical address
Aneesh Bansal [Thu, 17 Sep 2015 10:46:35 +0000 (16:16 +0530)] 
Data types defined for 64 bit physical address

Data types and I/O functions have been defined for
64 bit physical addresses in arm.

Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoPointers in ESBC header made 32 bit
Aneesh Bansal [Thu, 17 Sep 2015 10:46:34 +0000 (16:16 +0530)] 
Pointers in ESBC header made 32 bit

For the Chain of Trust, the esbc_validate command supports
32 bit fields for location of the image. In the header structure
definition, these were declared as pointers which made them
64 bit on a 64 bit core.

Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agols102xa: fdt: Disable IFC in SD boot for QSPI
Alison Wang [Wed, 28 Oct 2015 02:40:23 +0000 (10:40 +0800)] 
ls102xa: fdt: Disable IFC in SD boot for QSPI

As QSPI/DSPI and IFC are pin multiplexed, IFC is disabled
in SD boot for QSPI. This patch will add fdt support for
this rule.

Signed-off-by: Alison Wang <alison.wang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-spi
Tom Rini [Wed, 28 Oct 2015 20:56:43 +0000 (16:56 -0400)] 
Merge branch 'master' of git://git.denx.de/u-boot-spi

8 years agonet: change the env name to use const
Josh Wu [Tue, 1 Sep 2015 10:22:55 +0000 (18:22 +0800)] 
net: change the env name to use const

As we don't modify the 'name' parameter, so change it to const.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet/eth: fix a bug in on_ethaddr()
Gong Qianyu [Mon, 31 Aug 2015 03:34:43 +0000 (11:34 +0800)] 
net/eth: fix a bug in on_ethaddr()

The loop should check all ethenet devices, not only the first device,
to set each specified ethaddr, or it'll cause failure when we use other
devices.

Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agosmsc95xx: Fetch whole burst with 1 URB, avoid framing errors
Stefan Brüns [Sun, 30 Aug 2015 15:59:45 +0000 (17:59 +0200)] 
smsc95xx: Fetch whole burst with 1 URB, avoid framing errors

smsc95xx_recv() does not reassemble bursts spread over multiple URBs.
If there is a lot of broadcast traffic, the fifo will fill up to the
burst cap limit. Lowering the burst cap to the URB size ensures no packet
spans multiple urbs.
Caveat, lower limit for working burst cap is 5/33 HS/FS packets.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: cancel timeout handler after DHCPACK
Stefan Brüns [Sun, 30 Aug 2015 15:47:17 +0000 (17:47 +0200)] 
net: cancel timeout handler after DHCPACK

Timeout handler should be stopped after reception of DHCPACK. If "autoload"
is not set, the handler is immediately replaced by the TFTP handler,
otherwise it may trigger before the next boot stage begins.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet/arp: account for ARP delay, avoid duplicate packets on timeout
Stefan Brüns [Sun, 30 Aug 2015 15:46:54 +0000 (17:46 +0200)] 
net/arp: account for ARP delay, avoid duplicate packets on timeout

eth_rx() in the main reception loop may trigger sending a packet which
is already timed out (or will immediately) upon reception of an ARP reply.
As long as the ARP reply is pending, the timeout handler of a packet
should be postponed.
Happens on TFTP with bad network (e.g. WLAN).

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet/arp: Do not run net_start_again() on timeout
Stefan Brüns [Sun, 30 Aug 2015 15:46:43 +0000 (17:46 +0200)] 
net/arp: Do not run net_start_again() on timeout

net_start_again() will be called from net_loop() if state is NETLOOP_FAIL.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: Fix parsing of Bootp/DHCP option 0 (Pad)
Stefan Brüns [Fri, 28 Aug 2015 08:15:54 +0000 (10:15 +0200)] 
net: Fix parsing of Bootp/DHCP option 0 (Pad)

Pad has no len byte, so the normal parsing code fails.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: send RFC1542 compliant value for bootp requests
Stefan Brüns [Thu, 27 Aug 2015 21:57:18 +0000 (23:57 +0200)] 
net: send RFC1542 compliant value for bootp requests

RFC1542, 3.2:
"The 'secs' field of a BOOTREQUEST message SHOULD represent the
elapsed time, in seconds, since the client sent its first BOOTREQUEST
message.  Note that this implies that the 'secs' field of the first
BOOTREQUEST message SHOULD be set to zero."

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: reject Bootp/DHCP packets with bad OP value
Stefan Brüns [Thu, 27 Aug 2015 21:53:26 +0000 (23:53 +0200)] 
net: reject Bootp/DHCP packets with bad OP value

Rename check_packet to check_reply_packet to make its function more
obvious.
The check for DHCP_* values is completely off, as it should
compare against DHCP option 53 (Message Type). Only valid value for
any Bootp/DHCP reply is BOOTREPLY.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: protect status led access in bootp
Thomas Chou [Tue, 25 Aug 2015 12:54:24 +0000 (20:54 +0800)] 
net: protect status led access in bootp

This fixes the error when STATUS_LED_BOOT is not defined.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: bootp fix vci string on SPL-Boot
Hannes Petermaier [Tue, 25 Aug 2015 10:17:59 +0000 (12:17 +0200)] 
net: bootp fix vci string on SPL-Boot

If CONFIG_CMD_DHCP is enabled, the vci (vendor-class-identifier) string
isn't inserted into the bootp-packet during SPL stage because the

CONFIG_BOOTP_VCI_STRING
instead
CONFIG_SPL_NET_VCI_STRING

We fix this with testing for CONFIG_SPL_BUILD and testing for existing
CONFIG_SPL_NET_VCI_STRING.

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agonet: TFTP: variables cleanup and addition
Albert ARIBAUD \(3ADEV\) [Sun, 11 Oct 2015 22:02:57 +0000 (00:02 +0200)] 
net: TFTP: variables cleanup and addition

TFTP source and destination port variable names are
'tftpsrcp' and 'tftpdstp' in the code, but 'tftpsrcport'
and 'tftpdstport' in the README file. Fix the README.

Add environment variable 'tftptimeoutcountmax'. As per the
comments about the global variable tftp_timeout_count_max,
make sure tftptimeoutcountmax is nonnegative.

Introduce configuration option CONFIG_NET_TFTP_VARS,
which controls whether environment variables tftpblocksize,
tftptimeout, and tftptimoueoutcountmax are read by the TFTP
client code. CONFIG_NET_TFTP_VARS defaults to y but can be
set to n by targets with to tight size contraints.

Make bf527-ezkit set CONFIG_NET_TFTP_VARS to n to keep the
target size below limit.

8 years agoMerge branch 'master' of git://git.denx.de/u-boot-i2c
Tom Rini [Wed, 28 Oct 2015 11:22:51 +0000 (07:22 -0400)] 
Merge branch 'master' of git://git.denx.de/u-boot-i2c

8 years agoi2c: Instantiate I2C controllers when selected
Michal Simek [Tue, 27 Oct 2015 15:02:36 +0000 (16:02 +0100)] 
i2c: Instantiate I2C controllers when selected

Do not enable both I2C controllers by default. Enable them only when
they are selected.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agospi: altera_spi: Minor cleanup
Jagan Teki [Tue, 27 Oct 2015 17:41:11 +0000 (23:11 +0530)] 
spi: altera_spi: Minor cleanup

- Moved macro definitions to top
- Give tab space to CONFIG_ALTERA_SPI_IDLE_VAL value
- Re-arrange header includes ascending order

Acked-by: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: altera_spi: Use BIT macro
Jagan Teki [Tue, 27 Oct 2015 17:39:56 +0000 (23:09 +0530)] 
spi: altera_spi: Use BIT macro

Replace numerical bit shift with BIT macro
in altera_spi

:%s/(1 << nr)/BIT(nr)/g
where nr = 0, 1, 2 .... 31

Cc: Marek Vasut <marex@denx.de>
Acked-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agoarch/powerpc/cpu/ppc4xx/Kconfig: Finish removing boards
Tom Rini [Wed, 28 Oct 2015 00:28:39 +0000 (20:28 -0400)] 
arch/powerpc/cpu/ppc4xx/Kconfig: Finish removing boards

My patches to drop various ppc4xx boards were not build tested and
omitted the Kconfig parts.

Signed-off-by: Tom Rini <trini@konsulko.com>
8 years agoMerge git://www.denx.de/git/u-boot-ppc4xx
Tom Rini [Tue, 27 Oct 2015 23:09:26 +0000 (19:09 -0400)] 
Merge git://www.denx.de/git/u-boot-ppc4xx

8 years agoMerge git://www.denx.de/git/u-boot-cfi-flash
Tom Rini [Tue, 27 Oct 2015 23:09:15 +0000 (19:09 -0400)] 
Merge git://www.denx.de/git/u-boot-cfi-flash

8 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Tue, 27 Oct 2015 23:08:19 +0000 (19:08 -0400)] 
Merge git://git.denx.de/u-boot-dm

8 years agoimage.c: Fix non-Android booting with ramdisk and/or device tree
Tom Rini [Tue, 27 Oct 2015 23:04:40 +0000 (19:04 -0400)] 
image.c: Fix non-Android booting with ramdisk and/or device tree

In 1fec3c5 I added a check that if we had an Android image we default to
trying the kernel address for a ramdisk.  However when we don't have an
Android image buf is NULL and we oops here.  Ensure that we have 'buf'
to check first.

Reported-by: elipe Balbi <balbi@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 years agospi: xilinx_spi: Use GENMASK
Jagan Teki [Thu, 22 Oct 2015 19:33:44 +0000 (01:03 +0530)] 
spi: xilinx_spi: Use GENMASK

Replace numeric mask hexcodes with GENMASK macro
in xilinx_spi

Cc: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: tegra: Use GENMASK
Jagan Teki [Thu, 22 Oct 2015 19:33:10 +0000 (01:03 +0530)] 
spi: tegra: Use GENMASK

Replace numeric mask hexcodes with GENMASK macro
in tegra*.c

Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Tom Warren <twarren@nvidia.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: omap3_spi: Use GENMASK
Jagan Teki [Thu, 22 Oct 2015 19:32:49 +0000 (01:02 +0530)] 
spi: omap3_spi: Use GENMASK

Replace numeric mask hexcodes with GENMASK macro
in omap3_spi

Cc: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: fsl_qspi: Use GENMASK
Jagan Teki [Thu, 22 Oct 2015 19:32:04 +0000 (01:02 +0530)] 
spi: fsl_qspi: Use GENMASK

Replace numeric mask hexcodes with GENMASK macro
in fsl_qspi

Cc: York Sun <yorksun@freescale.com>
Cc: Haikun Wang <Haikun.Wang@freescale.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: designware_spi: Use GENMASK
Jagan Teki [Thu, 22 Oct 2015 19:31:36 +0000 (01:01 +0530)] 
spi: designware_spi: Use GENMASK

Replace numeric mask hexcodes with GENMASK macro
in designware_spi

Cc: Stefan Roese <sr@denx.de>
Cc: Marek Vasut <marex@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: atmel_spi: Use GENMASK
Jagan Teki [Thu, 22 Oct 2015 19:29:00 +0000 (00:59 +0530)] 
spi: atmel_spi: Use GENMASK

Replace numeric mask hexcodes with GENMASK macro
in atmel_spi

Cc: Bo Shen <voice.shen@atmel.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: xilinx_spi: Use BIT macro
Jagan Teki [Thu, 22 Oct 2015 20:09:31 +0000 (01:39 +0530)] 
spi: xilinx_spi: Use BIT macro

Replace numerical bit shift with BIT macro
in xilinx_spi

:%s/(1 << nr)/BIT(nr)/g
where nr = 0, 1, 2 .... 31

Cc: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: ti_qspi: Use BIT macro
Jagan Teki [Thu, 22 Oct 2015 20:09:20 +0000 (01:39 +0530)] 
spi: ti_qspi: Use BIT macro

Replace numerical bit shift with BIT macro
in ti_qspi

:%s/(1 << nr)/BIT(nr)/g
where nr = 0, 1, 2 .... 31

Reviewed-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: tegra: Use BIT macro
Jagan Teki [Thu, 22 Oct 2015 20:09:06 +0000 (01:39 +0530)] 
spi: tegra: Use BIT macro

Replace numerical bit shift with BIT macro
in tegra*.c

:%s/(1 << nr)/BIT(nr)/g
where nr = 0, 1, 2 .... 31

Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Tom Warren <twarren@nvidia.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: sh_qspi: Use BIT macro
Jagan Teki [Thu, 22 Oct 2015 20:08:47 +0000 (01:38 +0530)] 
spi: sh_qspi: Use BIT macro

Replace numerical bit shift with BIT macro
in sh_qspi

:%s/(1 << nr)/BIT(nr)/g
where nr = 0, 1, 2 .... 31

Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
8 years agospi: omap3_spi: Use BIT macro
Jagan Teki [Thu, 22 Oct 2015 20:08:32 +0000 (01:38 +0530)] 
spi: omap3_spi: Use BIT macro

Replace numerical bit shift with BIT macro
in omap3_spi

:%s/(1 << nr)/BIT(nr)/g
where nr = 0, 1, 2 .... 31

Cc: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>