]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
6 years agousb:ci_udc: don't overwrite configuration on pullup
Ramon Fried [Fri, 21 Sep 2018 10:35:56 +0000 (13:35 +0300)]
usb:ci_udc: don't overwrite configuration on pullup

change writel to writebits32 in ci_pullup() in order
to keep phy configuration in tact.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agodb410c: automatically launch fastboot
Ramon Fried [Fri, 21 Sep 2018 10:35:55 +0000 (13:35 +0300)]
db410c: automatically launch fastboot

If during boot the key-vol-down press is detected
we'll fall back to fastboot.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agoDB410c: Enable fastboot support
Ramon Fried [Fri, 21 Sep 2018 10:35:54 +0000 (13:35 +0300)]
DB410c: Enable fastboot support

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agousb: ehci-msm: Add init_after_reset for CI_UDC
Ramon Fried [Fri, 21 Sep 2018 10:35:53 +0000 (13:35 +0300)]
usb: ehci-msm: Add init_after_reset for CI_UDC

MSM uses the chipidea controller IP, however it requires
to reinit the phy after controller reset. in EHCI mode there's a
dedicated callback for it.
In device mode however there's no such callback.
Add implementaion of ci_init_after_reset() to implement the above
requirement in case CI_UDC driver is used.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agousb:ci_udc: Introduce init_after_reset phy function
Ramon Fried [Fri, 21 Sep 2018 10:35:52 +0000 (13:35 +0300)]
usb:ci_udc: Introduce init_after_reset phy function

MSM variant of Chipidea must reinitalize the phy
after controller reset.
Introduce ci_init_after_reset() weak function that
can be used to achieve the above init.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agoehci: msm: use init_type in probe
Ramon Fried [Fri, 21 Sep 2018 10:35:51 +0000 (13:35 +0300)]
ehci: msm: use init_type in probe

Change ehci_usb_probe() function to initialize the
USB according to the init_type provided.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agoehci: msm: switch to generic PHY uclass
Ramon Fried [Fri, 21 Sep 2018 10:35:50 +0000 (13:35 +0300)]
ehci: msm: switch to generic PHY uclass

All the underlying USB PHY was handled in the ehci driver.
Use the generic phy API instead.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agoconfigs: db410c: Enable USB PHY
Ramon Fried [Fri, 21 Sep 2018 10:35:49 +0000 (13:35 +0300)]
configs: db410c: Enable USB PHY

Enable USB PHY driver.
Also fixed the alphabetically ordering of the config.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agodts: db410c: Add bindings for MSM USB phy
Ramon Fried [Fri, 21 Sep 2018 10:35:48 +0000 (13:35 +0300)]
dts: db410c: Add bindings for MSM USB phy

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agophy: db410c: Add MSM USB PHY driver
Ramon Fried [Fri, 21 Sep 2018 10:35:47 +0000 (13:35 +0300)]
phy: db410c: Add MSM USB PHY driver

Add a PHY driver for the Qualcomm dragonboard 410c which
allows switching on/off and resetting the phy connected
to the EHCI controllers and USBHS controller.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agodb410c: serial# env using msm board serial
Ramon Fried [Fri, 21 Sep 2018 10:35:46 +0000 (13:35 +0300)]
db410c: serial# env using msm board serial

The serial# environment variable needs to be
defined so it will be used by fastboot as serial
for the endpoint descriptor.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agodts: db410c: add alias for USB
Ramon Fried [Fri, 21 Sep 2018 10:35:45 +0000 (13:35 +0300)]
dts: db410c: add alias for USB

Alias is required so req-seq will be filled.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agoehci: msm: Add missing platdata
Ramon Fried [Fri, 21 Sep 2018 10:35:44 +0000 (13:35 +0300)]
ehci: msm: Add missing platdata

platdata_auto_alloc_size was not initialized in structure.
Caused null pointer dereference when configuring device as
gadget.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agoehci: Replace board_prepare_usb with board_usb_init
Ramon Fried [Fri, 21 Sep 2018 10:35:43 +0000 (13:35 +0300)]
ehci: Replace board_prepare_usb with board_usb_init

Use standard board_usb_init() instead of the specific board_prepare_usb.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agoserial: serial_stm32: Enable uart FIFO for STM32F7xx SoCs
Patrice Chotard [Thu, 20 Sep 2018 13:14:15 +0000 (15:14 +0200)]
serial: serial_stm32: Enable uart FIFO for STM32F7xx SoCs

Since commit 7b3b74d32127 ("serial: serial_stm32: Enable overrun")
on STM32F7xx based boards, the first lines of serial output are
missing during boot (we no more see the U-Boot release version,
board model and DRAM size).

By enabling the uart FIFO on STM32F7, the complete U-boot log
can be sent correctly.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agou-boot: align cache flushes in load_elf_image_shdr to line boundaries
Neil Stainton [Wed, 19 Sep 2018 09:38:07 +0000 (10:38 +0100)]
u-boot: align cache flushes in load_elf_image_shdr to line boundaries

Prevent cache warning messages when using the 'bootelf' command on an
Arm target. Round down each section start address and round up the
respective section end to the nearest cache line.

Signed-off-by: Neil Stainton <nstainton@asl-control.co.uk>
[trini: Manually apply, rework whitespace]
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agokbuild: fix # escaping in appending U-Boot own DT
Masahiro Yamada [Wed, 19 Sep 2018 02:35:57 +0000 (11:35 +0900)]
kbuild: fix # escaping in appending U-Boot own DT

The escape sequence '\#' does not work for the latest GNU Make from
the git tree.

Replace it with $(pound) as Linux did.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
6 years agoKbuild: fix # escaping in .cmd files for future Make
Rasmus Villemoes [Wed, 19 Sep 2018 02:35:56 +0000 (11:35 +0900)]
Kbuild: fix # escaping in .cmd files for future Make

[ commit 9564a8cf422d7b58f6e857e3546d346fa970191e in Linux ]

I tried building using a freshly built Make (4.2.1-69-g8a731d1), but
already the objtool build broke with

orc_dump.c: In function ‘orc_dump’:
orc_dump.c:106:2: error: ‘elf_getshnum’ is deprecated [-Werror=deprecated-declarations]
  if (elf_getshdrnum(elf, &nr_sections)) {

Turns out that with that new Make, the backslash was not removed, so cpp
didn't see a #include directive, grep found nothing, and
-DLIBELF_USE_DEPRECATED was wrongly put in CFLAGS.

Now, that new Make behaviour is documented in their NEWS file:

  * WARNING: Backward-incompatibility!
    Number signs (#) appearing inside a macro reference or function invocation
    no longer introduce comments and should not be escaped with backslashes:
    thus a call such as:
      foo := $(shell echo '#')
    is legal.  Previously the number sign needed to be escaped, for example:
      foo := $(shell echo '\#')
    Now this latter will resolve to "\#".  If you want to write makefiles
    portable to both versions, assign the number sign to a variable:
      C := \#
      foo := $(shell echo '$C')
    This was claimed to be fixed in 3.81, but wasn't, for some reason.
    To detect this change search for 'nocomment' in the .FEATURES variable.

This also fixes up the two make-cmd instances to replace # with $(pound)
rather than with \#. There might very well be other places that need
similar fixup in preparation for whatever future Make release contains
the above change, but at least this builds an x86_64 defconfig with the
new make.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=197847
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
6 years agospl: mmc: Report device number when we fail
Alex Kiernan [Tue, 18 Sep 2018 08:11:55 +0000 (08:11 +0000)]
spl: mmc: Report device number when we fail

If we fail to find the MMC boot device, report the number of the one
we were looking for in the error to aid diagnosis.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
6 years agoclk: Add support for Arm's Versatile Express OSC clock generators
Liviu Dudau [Mon, 17 Sep 2018 16:50:00 +0000 (17:50 +0100)]
clk: Add support for Arm's Versatile Express OSC clock generators

The Arm Versatile Express and Juno development boards contain an
OSC clock generator that can be accessed through the Versatile
Express config bus. The generators are quite often being controlled
by some MCU and the config bus offers a uniform way of exposing them.

Signed-off-by: Liviu Dudau <liviu.dudau@foss.arm.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
6 years agocmd: env: Fix CRC calculation for 'env export -c -s'
Neil Stainton [Wed, 12 Sep 2018 11:02:51 +0000 (11:02 +0000)]
cmd: env: Fix CRC calculation for 'env export -c -s'

Fix failure to reimport exported checksummed, size constrained data block.

'env export -c' command ignores optional -s size argument when calculating checksum causing subsequent 'env import -c' to fail.

Signed-off-by: Neil Stainton <nstainton@asl-control.co.uk>
6 years agoMerge branch 'master' of git://git.denx.de/u-boot-video
Tom Rini [Sun, 30 Sep 2018 02:28:44 +0000 (22:28 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-video

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoMerge branch 'master' of git://git.denx.de/u-boot-sunxi
Tom Rini [Sat, 29 Sep 2018 15:48:02 +0000 (11:48 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sunxi

6 years agoMerge tag 'mpc85xx-for-v2018.11-rc1' of git://git.denx.de/u-boot-mpc85xx
Tom Rini [Sat, 29 Sep 2018 15:47:50 +0000 (11:47 -0400)]
Merge tag 'mpc85xx-for-v2018.11-rc1' of git://git.denx.de/u-boot-mpc85xx

Use device tree for mpc85xx with binman. Enabled for T2080QDS.

6 years agoMerge tag 'fsl-qoriq-for-v2018.11-rc1' of git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Sat, 29 Sep 2018 15:47:32 +0000 (11:47 -0400)]
Merge tag 'fsl-qoriq-for-v2018.11-rc1' of git://git.denx.de/u-boot-fsl-qoriq

Switch to driver model for eSDHC on Layerscape SoCs including LS1021A,
LS1043A, LS1046A, LS1088A, LS2088A.
Switch to driver model for SATA on LS1021A and LS1043A.
Add support for LS1012AFRWY rev C board.
Enable SMMU for LS1043A.

6 years agoConvert CONFIG_DISABLE_CONSOLE to Kconfig
Christian Gmeiner [Mon, 10 Sep 2018 10:43:16 +0000 (12:43 +0200)]
Convert CONFIG_DISABLE_CONSOLE to Kconfig

This converts the following to Kconfig:
   CONFIG_DISABLE_CONSOLE

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
6 years agoARM: da850evm_direct_nor_defconfig: Enable DM_SERIAL
Adam Ford [Wed, 19 Sep 2018 21:06:49 +0000 (16:06 -0500)]
ARM: da850evm_direct_nor_defconfig: Enable DM_SERIAL

With DM enabled, this patch enables DM_SERIAL and removes
the NS16550 initialization from da850_lowlevel since the driver
will take care of that itself.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agoARM: omap3_logic: Remove non-DM MMC initialization
Adam Ford [Wed, 12 Sep 2018 03:15:05 +0000 (22:15 -0500)]
ARM: omap3_logic: Remove non-DM MMC initialization

With DM_MMC working for both SPL and U-Boot, this patch removes
the legacy style of initializing the MMC driver.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agoARM: omap3_logic: Remove some manual pin-muxing
Adam Ford [Sun, 9 Sep 2018 21:12:11 +0000 (16:12 -0500)]
ARM: omap3_logic: Remove some manual pin-muxing

With the pinctrl function enabled and the device tree setting up
the pins we want to use, this patch removes the manual pinmuxing
except for that which is not done by the device tree and minimal
pins necessary for SPL (like serial, GPMC, and MMC)

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agoARM: am3517_evm: Enable TCA6416PW GPIO Expander
Adam Ford [Sun, 9 Sep 2018 14:21:21 +0000 (09:21 -0500)]
ARM: am3517_evm: Enable TCA6416PW GPIO Expander

With DM_I2C and DM_GPIO working, this patch can enable the
GPIO expander on the I2C bus.  This GPIO expander is connected
to some of the DIP switches and can now read the status of these
pins.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agoARM: da850evm: Pinctrl for da850evm
Adam Ford [Sun, 9 Sep 2018 13:50:40 +0000 (08:50 -0500)]
ARM: da850evm: Pinctrl for da850evm

The simple pin controller works for da850, so this patch enables
this to pin-mux the pins defined in the device tree for the da850evm.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agoARM: da850evm: Enable CMD_DM for da850evm
Adam Ford [Sun, 9 Sep 2018 13:50:39 +0000 (08:50 -0500)]
ARM: da850evm: Enable CMD_DM for da850evm

With DM enabled, this patch enables the 'dm' command to access
the dm tree, uclass and devres.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agoARM: am3517_evm: Enable Pinctrl
Adam Ford [Sun, 9 Sep 2018 12:25:30 +0000 (07:25 -0500)]
ARM: am3517_evm: Enable Pinctrl

The simple pinctrl driver currently available works with the omap3.
Enabling this will use the device tree to automatically set the
pin-muxing for various drivers.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agocmd: Relocate poweroff under Device access commands
Adam Ford [Sun, 9 Sep 2018 12:05:57 +0000 (07:05 -0500)]
cmd: Relocate poweroff under Device access commands

Previously poweroff was located under boot.  It seems to make more
sense to have it located under the Device access commands.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agoARM: DTS: various omap3: Remove cd-inverted from u-boot.dtsi
Adam Ford [Sat, 8 Sep 2018 13:16:24 +0000 (08:16 -0500)]
ARM: DTS: various omap3: Remove cd-inverted from u-boot.dtsi

With the omap_mmc driver no longer supporting cd-inverted, this
patch removes all these references since they are not needed.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agommc: omap_mmc: Remove invert references
Adam Ford [Sat, 8 Sep 2018 13:16:23 +0000 (08:16 -0500)]
mmc: omap_mmc: Remove invert references

With DM_GPIO and DM_MMC translating GPIO_ACTIVE_LOW, any boards
using the 'cd-invert' option will no longer need to do this.  This
patch removes the support for 'invert' from the MMC driver.

Signed-off-by: Adam Ford <aford173@gmail.com>
[trini: Fix warning over when !DM_GPIO]
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoARM: dts: at91: sama5d4_xplained: add onewire connector for LCD eeprom
Eugen Hristev [Tue, 18 Sep 2018 07:35:57 +0000 (10:35 +0300)]
ARM: dts: at91: sama5d4_xplained: add onewire connector for LCD eeprom

Add onewire node in device tree for TM series LCDs

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoARM: dts: at91: sama5d2_ptc: add onewire connector for LCD eeprom
Eugen Hristev [Tue, 18 Sep 2018 07:35:56 +0000 (10:35 +0300)]
ARM: dts: at91: sama5d2_ptc: add onewire connector for LCD eeprom

Add onewire node in device tree for TM series LCDs

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoARM: dts: at91: sama5d27_som1_ek: add onewire connector for LCD eeprom
Eugen Hristev [Tue, 18 Sep 2018 07:35:55 +0000 (10:35 +0300)]
ARM: dts: at91: sama5d27_som1_ek: add onewire connector for LCD eeprom

Add onewire node in device tree for TM series LCDs

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoARM: dts: at91: sama5d3_xplained: add onewire connector for LCD eeprom
Eugen Hristev [Tue, 18 Sep 2018 07:35:54 +0000 (10:35 +0300)]
ARM: dts: at91: sama5d3_xplained: add onewire connector for LCD eeprom

Add onewire node in device tree for TM series LCDs

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoARM: dts: at91: sama5d2_xplained: add onewire connector for LCD eeprom
Eugen Hristev [Tue, 18 Sep 2018 07:35:53 +0000 (10:35 +0300)]
ARM: dts: at91: sama5d2_xplained: add onewire connector for LCD eeprom

Add onewire node in device tree for TM series LCDs

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sama5d4_xplained: add fdt overlay support
Eugen Hristev [Tue, 18 Sep 2018 07:35:52 +0000 (10:35 +0300)]
configs: sama5d4_xplained: add fdt overlay support

Add commands for fdt overlay merging. This is required for the boot scripts
that detect PDAs and apply specific overlays to the DTB passed on to kernel.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sama5d27_som1_ek: add fdt overlay support
Eugen Hristev [Tue, 18 Sep 2018 07:35:51 +0000 (10:35 +0300)]
configs: sama5d27_som1_ek: add fdt overlay support

Add commands for fdt overlay merging. This is required for the boot scripts
that detect PDAs and apply specific overlays to the DTB passed on to kernel.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sama5d2_ptc_ek: add fdt overlay support
Eugen Hristev [Tue, 18 Sep 2018 07:35:50 +0000 (10:35 +0300)]
configs: sama5d2_ptc_ek: add fdt overlay support

Add commands for fdt overlay merging. This is required for the boot scripts
that detect PDAs and apply specific overlays to the DTB passed on to kernel.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sama5d3_xplained: add fdt overlay support
Eugen Hristev [Tue, 18 Sep 2018 07:35:49 +0000 (10:35 +0300)]
configs: sama5d3_xplained: add fdt overlay support

Add commands for fdt overlay merging. This is required for the boot scripts
that detect PDAs and apply specific overlays to the DTB passed on to kernel.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sama5d2_xplained: add fdt overlay support
Eugen Hristev [Tue, 18 Sep 2018 07:35:48 +0000 (10:35 +0300)]
configs: sama5d2_xplained: add fdt overlay support

Add commands for fdt overlay merging. This is required for the boot scripts
that detect PDAs and apply specific overlays to the DTB passed on to kernel.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoboard: sama5d4_xplained: add pda detect call at init time
Eugen Hristev [Tue, 18 Sep 2018 07:35:47 +0000 (10:35 +0300)]
board: sama5d4_xplained: add pda detect call at init time

Call the PDA detection mechanism at boot time so we can have
the pda environment variable ready for use.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoboard: sama5d2_ptc_ek: add pda detect call at init time
Eugen Hristev [Tue, 18 Sep 2018 07:35:46 +0000 (10:35 +0300)]
board: sama5d2_ptc_ek: add pda detect call at init time

Call the PDA detection mechanism at boot time so we can have
the pda environment variable ready for use.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoboard: sama5d27_som1_ek: add pda detect call at init time
Eugen Hristev [Tue, 18 Sep 2018 07:35:45 +0000 (10:35 +0300)]
board: sama5d27_som1_ek: add pda detect call at init time

Call the PDA detection mechanism at boot time so we can have
the pda environment variable ready for use.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoboard: sama5d3_xplained: add pda detect call at init time
Eugen Hristev [Tue, 18 Sep 2018 07:35:44 +0000 (10:35 +0300)]
board: sama5d3_xplained: add pda detect call at init time

Call the PDA detection mechanism at boot time so we can have
the pda environment variable ready for use.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoboard: sama5d2_xplained: add pda detect call at init time
Eugen Hristev [Tue, 18 Sep 2018 07:35:43 +0000 (10:35 +0300)]
board: sama5d2_xplained: add pda detect call at init time

Call the PDA detection mechanism at boot time so we can have
the pda environment variable ready for use.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoboard: atmel: add support for pda detection
Eugen Hristev [Tue, 18 Sep 2018 07:35:42 +0000 (10:35 +0300)]
board: atmel: add support for pda detection

This adds the support for PDA detection as common code for
Atmel boards.
Using the one wire interface over GPIO , an EEPROM memory is read
and compared to preprogrammed values for PDA screens TM4300, TM7000
and TM7000B.
Once the PDA is detected, an environment variable is set accordingly.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sama5d4_xplained: add onewire and eeprom drivers
Eugen Hristev [Tue, 18 Sep 2018 07:35:41 +0000 (10:35 +0300)]
configs: sama5d4_xplained: add onewire and eeprom drivers

SAMA5D4 SoC can have extra clip boards (PDAs) connected, which have
an EEPROM memory for identification. A special GPIO can be used to read
this memory over 1wire protocol.
Enabling one wire and eeprom drivers for this memory.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sama5d2_ptc_ek: add onewire and eeprom drivers
Eugen Hristev [Tue, 18 Sep 2018 07:35:40 +0000 (10:35 +0300)]
configs: sama5d2_ptc_ek: add onewire and eeprom drivers

SAMA5D2 SoC can have extra clip boards (PDAs) connected, which have
an EEPROM memory for identification. A special GPIO can be used to read
this memory over 1wire protocol.
Enabling one wire and eeprom drivers for this memory.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sama5d27_som1_ek: add onewire and eeprom drivers
Eugen Hristev [Tue, 18 Sep 2018 07:35:39 +0000 (10:35 +0300)]
configs: sama5d27_som1_ek: add onewire and eeprom drivers

SAMA5D2 SoC can have extra clip boards (PDAs) connected, which have
an EEPROM memory for identification. A special GPIO can be used to read
this memory over 1wire protocol.
Enabling one wire and eeprom drivers for this memory.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sama5d3_xplained: add onewire and eeprom drivers
Eugen Hristev [Tue, 18 Sep 2018 07:35:38 +0000 (10:35 +0300)]
configs: sama5d3_xplained: add onewire and eeprom drivers

SAMA5D3 SoC can have extra clip boards (PDAs) connected, which have
an EEPROM memory for identification. A special GPIO can be used to read
this memory over 1wire protocol.
Enabling one wire and eeprom drivers for this memory.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sama5d2_xplained: add onewire and eeprom drivers
Eugen Hristev [Tue, 18 Sep 2018 07:35:37 +0000 (10:35 +0300)]
configs: sama5d2_xplained: add onewire and eeprom drivers

SAMA5D2 SoC can have extra clip boards (PDAs) connected, which have
an EEPROM memory for identification. A special GPIO can be used to read
this memory over 1wire protocol.
Enabling one wire and eeprom drivers for this memory.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoconfigs: sandbox: add onewire w1 and sandbox eeprom
Eugen Hristev [Tue, 18 Sep 2018 07:35:36 +0000 (10:35 +0300)]
configs: sandbox: add onewire w1 and sandbox eeprom

To be able to test Dallas onewire protocol and one wire eeproms driver
and subsystem, add in sandbox defconfig the drivers' config.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agosandbox: DTS: w1: add node for one wire interface on GPIO
Eugen Hristev [Tue, 18 Sep 2018 07:35:35 +0000 (10:35 +0300)]
sandbox: DTS: w1: add node for one wire interface on GPIO

Add a node for the one wire uclass and one wire gpio driver
in sandbox.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agopinctrl: sandbox: add gpio onewire w1 group
Eugen Hristev [Tue, 18 Sep 2018 07:35:34 +0000 (10:35 +0300)]
pinctrl: sandbox: add gpio onewire w1 group

Add onewire "w1" groups and pin function for onewire GPIOs in sandbox.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agow1: add command for onewire protocol
Eugen Hristev [Tue, 18 Sep 2018 07:35:33 +0000 (10:35 +0300)]
w1: add command for onewire protocol

Add basic command for bus information and read for onewire
bus using Dallas 1-Wire protocol.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agodt-bindings: w1-eeprom: eep_sandbox: create bindings
Eugen Hristev [Tue, 18 Sep 2018 07:35:32 +0000 (10:35 +0300)]
dt-bindings: w1-eeprom: eep_sandbox: create bindings

Bindings for sandbox onewire eeprom driver

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoW1-EEPROM: add sandbox driver
Eugen Hristev [Tue, 18 Sep 2018 07:35:31 +0000 (10:35 +0300)]
W1-EEPROM: add sandbox driver

Add a sandbox driver for a one wire EEPROM memory

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agodt-bindings: w1-eeprom: ds24xxx: create bindings
Eugen Hristev [Tue, 18 Sep 2018 07:35:30 +0000 (10:35 +0300)]
dt-bindings: w1-eeprom: ds24xxx: create bindings

Bindings for Maxim's ds24 onewire EEPROM families driver

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoW1-EEPROM: add support for Maxim DS24 eeprom families
Maxime Ripard [Tue, 18 Sep 2018 07:35:29 +0000 (10:35 +0300)]
W1-EEPROM: add support for Maxim DS24 eeprom families

Add a driver that supports Maxim 1 wire EEPROMs families
DS24B33 and DS2431.
Can be extended for other families as well.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
[eugen.hristev@microchip.com: reworked driver]
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agow1: identify devices with w1-eeprom uclass
Eugen Hristev [Tue, 18 Sep 2018 07:35:28 +0000 (10:35 +0300)]
w1: identify devices with w1-eeprom uclass

When a new device is discovered, this may be a w1 eeprom device.
Attempt to find the proper node and driver from the w1-eeprom subsystem.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agoW1-EEPROM: Add an W1-EEPROM uclass for 1 wire EEPROMs
Maxime Ripard [Tue, 18 Sep 2018 07:35:27 +0000 (10:35 +0300)]
W1-EEPROM: Add an W1-EEPROM uclass for 1 wire EEPROMs

We might want to access data stored onto one wire EEPROMs.
Create a framework to provide a consistent API.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
[eugen.hristev@microchip.com: reworked patch]
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agodt-bindings: W1: w1-gpio: added bindings for w1-gpio
Eugen Hristev [Tue, 18 Sep 2018 07:35:26 +0000 (10:35 +0300)]
dt-bindings: W1: w1-gpio: added bindings for w1-gpio

Added bindings specification for bitbanged gpio driver for Dallas
one wire protocol

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agow1: Add 1-Wire gpio driver
Maxime Ripard [Tue, 18 Sep 2018 07:35:25 +0000 (10:35 +0300)]
w1: Add 1-Wire gpio driver

Add a bus driver for bitbanging a 1-Wire bus over a GPIO.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
[eugen.hristev@microchip.com: fixed some issues]
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agow1: Add 1-Wire uclass
Maxime Ripard [Tue, 18 Sep 2018 07:35:24 +0000 (10:35 +0300)]
w1: Add 1-Wire uclass

We might want to use 1-Wire devices connected on boards such as EEPROMs in
U-Boot.

Provide a framework to be able to do that.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
[eugen.hristev@microchip.com: reworked]
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
6 years agocommon: Generic loader for file system
Tien Fong Chee [Fri, 6 Jul 2018 08:28:03 +0000 (16:28 +0800)]
common: Generic loader for file system

This is file system generic loader which can be used to load
the file image from the storage into target such as memory.
The consumer driver would then use this loader to program whatever,
ie. the FPGA device.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
6 years agodoc: dtbinding: Add file system firmware loader binding document
Tien Fong Chee [Fri, 6 Jul 2018 08:27:35 +0000 (16:27 +0800)]
doc: dtbinding: Add file system firmware loader binding document

Add a document to describe file system firmware loader binding
information.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agodoc: Add new doc for file system firmware loader driver model
Tien Fong Chee [Fri, 6 Jul 2018 08:27:08 +0000 (16:27 +0800)]
doc: Add new doc for file system firmware loader driver model

Provide information about

- overview of file system firmware loader driver model
- describe storage device and partition in device tree source
- describe fie system firmware loader API

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoblock: Add a function to find block device descriptor
Tien Fong Chee [Fri, 6 Jul 2018 08:26:36 +0000 (16:26 +0800)]
block: Add a function to find block device descriptor

Add a function to find the block device descriptor of the parent
device.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
[trini: Move function declaration to avoid warning]
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agocmd: ubifs: Factor out some checking codes into cmd_ubifs_mount()
Tien Fong Chee [Fri, 6 Jul 2018 08:26:01 +0000 (16:26 +0800)]
cmd: ubifs: Factor out some checking codes into cmd_ubifs_mount()

cmd_ubifs_mount() function would be called directly instead of
involving whole command machinery for mounting ubifs in
generic firmware loader, so some checking codes need to be factored out
into cmd_ubifs_mount() without breaking original functionality design.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
6 years agocmd: ubifs: Move ubifs_initialized checking into cmd_ubifs_umount()
Tien Fong Chee [Fri, 6 Jul 2018 08:25:12 +0000 (16:25 +0800)]
cmd: ubifs: Move ubifs_initialized checking into cmd_ubifs_umount()

cmd_ubifs_umount() function would be called directly instead of involving
whole command machinery in generic firmware loader, so checking on
ubifs_initialized status need to be done in cmd_ubifs_umount() without
breaking original functionality design.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
[trini: Fix conflicting type error in cmd/ubi.c]
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agovideo: Add support for Arm's Mali Display Processors
Liviu Dudau [Fri, 28 Sep 2018 12:50:53 +0000 (13:50 +0100)]
video: Add support for Arm's Mali Display Processors

Add support for Arm Mali Display Processors DP500, DP550 and DP650.
Only one layer is being used to display the console or boot logo,
even if more layers are supported in the hardware.

Signed-off-by: Liviu Dudau <liviu.dudau@foss.arm.com>
6 years agovideo: Add support for NXP's TDA19988 HDMI encoder
Liviu Dudau [Fri, 28 Sep 2018 12:49:31 +0000 (13:49 +0100)]
video: Add support for NXP's TDA19988 HDMI encoder

Add support for the NXP TDA19988 HDMI encoder as used on the Juno
development board from Arm.

Signed-off-by: Liviu Dudau <liviu.dudau@foss.arm.com>
6 years agoARM: dts: sun8i: Update A23/A33/r16 dts(i) files from Linux-v4.18-rc3
Jagan Teki [Sat, 4 Aug 2018 19:10:11 +0000 (00:40 +0530)]
ARM: dts: sun8i: Update A23/A33/r16 dts(i) files from Linux-v4.18-rc3

Update all A23/A33/r16 devicetree dtsi and dtsi files from
Linux-v4.18-rc3 with below commits.

A23:
commit bc3bd041fe766219a44688b182c260064007f0cc
Author: Miquel Raynal <miquel.raynal@bootlin.com>
Date:   Tue Apr 24 17:55:02 2018 +0200

    ARM: dts: sun8i: a23/a33: declare NAND pins

A33:
commit 88fe315d2c0a397ef42d7639addab0e021ae911d
Author: Maxime Ripard <maxime.ripard@bootlin.com>
Date:   Wed Apr 4 11:57:15 2018 +0200

    ARM: dts: sun8i: a33: Add the DSI-related nodes

r16:
commit 9621d0bd1b0d61167e1853ac68cf4869c31bcc96
Author: Miquel Raynal <miquel.raynal@bootlin.com>
Date:   Tue Apr 24 17:55:03 2018 +0200

    ARM: dts: nes: add Nintendo NES/SuperNES Classic Edition support

Note:
- Drop pinctrl from sun8i-r16-nintendo-nes-classic-edition.dts since
  sun8i-a23-a33.dtsi is added with Linux sync.
- Don't sync non U-Boot supported dts files
   sun8i-a23-ippo-q8h-v1.2.dts
   sun8i-a23-ippo-q8h-v5.dts
   sun8i-a33-et-q8-v1.6.dts
   sun8i-a33-ippo-q8h-v1.2.dts
   sun8i-r16-nintendo-nes-classic.dts
   sun8i-r16-nintendo-super-nes-classic.dts

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agoARM: dts: sun7i: Update A20 dts(i) files from Linux-v4.18-rc3
Jagan Teki [Sat, 4 Aug 2018 19:10:10 +0000 (00:40 +0530)]
ARM: dts: sun7i: Update A20 dts(i) files from Linux-v4.18-rc3

Update all A10 devicetree dtsi and dtsi files from Linux-v4.18-rc3
with below commit:
commit 5d9ef839f874f4e3923c8a9ae7b136c6c3912cd5
Author: Stefan Mavrodiev <stefan@olimex.com>
Date:   Wed May 16 14:38:08 2018 +0300

    ARM: dts: sun7i: Add Olimex A20-SOM-EVB-eMMC board

Note:
- Update sun7i-a20-primo73.dts as per Linux, since
  this dts is U-Boot specific.
- Drop sun7i-a20-olimex-som-evb-emmc.dts since no board
  added for this.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agoARM: dts: sun6i: Update A31/A31s dts(i) files from Linux-v4.18-rc3
Jagan Teki [Sat, 4 Aug 2018 19:10:09 +0000 (00:40 +0530)]
ARM: dts: sun6i: Update A31/A31s dts(i) files from Linux-v4.18-rc3

Update all A31/A31s devicetree dtsi and dtsi files from
Linux-v4.18-rc3 with below commit:
commit b240b419db5d624ce7a5a397d6f62a1a686009ec
Merge: 9c2dd8405c0c 518d2f43c358
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Apr 5 21:18:09 2018 -0700

    Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agoARM: dts: sun5i: Update A10s/A13/gr8/r8 dts(i) files from Linux-v4.18-rc3
Jagan Teki [Sat, 4 Aug 2018 19:10:08 +0000 (00:40 +0530)]
ARM: dts: sun5i: Update A10s/A13/gr8/r8 dts(i) files from Linux-v4.18-rc3

Update all A10s/A13/gr8/r8devicetree dtsi and dtsi files from
Linux-v4.18-rc3 with below commit:
commit 190e3138f9577885691540dca59c2f07540bde04
Merge: cafc87023b0d a7affb13b271
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Tue Mar 27 14:58:00 2018 +0200

    Merge tag 'sunxi-h3-h5-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agoARM: dts: sun4i: Update A10 dts(i) files from Linux-v4.18-rc3
Jagan Teki [Sat, 4 Aug 2018 19:10:07 +0000 (00:40 +0530)]
ARM: dts: sun4i: Update A10 dts(i) files from Linux-v4.18-rc3

Update all A10 devicetree dtsi and dtsi files from Linux-v4.18-rc3
with below commit:
commit 590b0c0cfc6162aeebbf43eaafb9753b56df1532
Author: Pascal Roeleven <dev@pascalroeleven.nl>
Date:   Fri Apr 20 12:21:12 2018 +0200

    ARM: dts: sun4i: Fix incorrect clocks for displays

Note: Update pinctrl-0 for sun4i-a10-inet-3f.dts, sun4i-a10-inet-3w.dts
like other dts file since there dts file are U-Boot specific.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agoinclude/video.h: Remove declaration of functions that don't exist.
Liviu Dudau [Mon, 17 Sep 2018 16:45:03 +0000 (17:45 +0100)]
include/video.h: Remove declaration of functions that don't exist.

video_init, video_putc and video_puts functions are not implemented
anywhere, remove their declaration from the header.

Signed-off-by: Liviu Dudau <liviu.dudau@foss.arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
6 years agovideo: cfb_console: flush cache in display_rle8_bitmap
Sébastien Szymanski [Mon, 10 Sep 2018 07:58:58 +0000 (09:58 +0200)]
video: cfb_console: flush cache in display_rle8_bitmap

Otherwise BMP RLE8 images are not properly displayed.

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
6 years agocmd: Add osd commands
Mario Six [Thu, 27 Sep 2018 07:19:34 +0000 (09:19 +0200)]
cmd: Add osd commands

Add command to query information from and write text to on-screen
display (OSD) devices.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agotest: list: Add tests for hexdump.c
Mario Six [Thu, 27 Sep 2018 07:19:33 +0000 (09:19 +0200)]
test: list: Add tests for hexdump.c

Add tests for the hex2bin, bin2hex, and hex_to_bin functions, which were
recently added to U-Boot.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agotest: Add ut_asserteq_mem
Mario Six [Thu, 27 Sep 2018 07:19:32 +0000 (09:19 +0200)]
test: Add ut_asserteq_mem

Add a unit test assert-method, which compares two given memory areas for
byte-wise equality.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agovideo_osd: Add osd sandbox driver and tests
Mario Six [Thu, 27 Sep 2018 07:19:31 +0000 (09:19 +0200)]
video_osd: Add osd sandbox driver and tests

Add sandbox driver and tests for the new OSD uclass.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agovideo_osd: Add ihs_video_out driver
Mario Six [Thu, 27 Sep 2018 07:19:30 +0000 (09:19 +0200)]
video_osd: Add ihs_video_out driver

Add a driver for IHS OSDs on IHS FPGAs.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agodrivers: Add OSD uclass
Mario Six [Thu, 27 Sep 2018 07:19:29 +0000 (09:19 +0200)]
drivers: Add OSD uclass

Some devices offer a text-based OSD (on-screen display) that can be
programmatically controlled (i.e. text displayed on).

Add a uclass to support such devices.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agodm: video: support more escape sequences
Heinrich Schuchardt [Wed, 19 Sep 2018 19:31:48 +0000 (21:31 +0200)]
dm: video: support more escape sequences

The EFI subsystems needs to know the size of the terminal. If the
environment variable

stdout = serial,vidconsole

this size cannot be read from the video console. So the EFI subsystem
sends escape sequences to read the size. With this patch we get support
for the following escape sequences:

ESC "7" Save cursor position
ESC "8" Restore cursor position

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
6 years agodm: video: adjust struct vidconsole_priv description
Heinrich Schuchardt [Wed, 19 Sep 2018 18:18:38 +0000 (20:18 +0200)]
dm: video: adjust struct vidconsole_priv description

The third component of struct vidconsole_priv is ycur.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
6 years agoMAINTAINERS: assign include/video*.h
Heinrich Schuchardt [Wed, 19 Sep 2018 18:16:32 +0000 (20:16 +0200)]
MAINTAINERS: assign include/video*.h

The include/video*.h files are part of the drivers in drivers/video. So it
makes sense to assign them to the same maintainer.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agopowerpc: dts: Enable device tree support for T2080QDS
Jagdish Gediya [Mon, 3 Sep 2018 16:05:12 +0000 (21:35 +0530)]
powerpc: dts: Enable device tree support for T2080QDS

Add device tree for T2080QDS board and enable CONFIG_OF_CONTROL
so that device tree can be compiled.

Update board README for device tree usage.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agopowerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boards
Jagdish Gediya [Mon, 3 Sep 2018 16:05:11 +0000 (21:35 +0530)]
powerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boards

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agopowerpc: mpc85xx: Use binman to embed dtb inside U-Boot
Jagdish Gediya [Mon, 3 Sep 2018 16:05:10 +0000 (21:35 +0530)]
powerpc: mpc85xx: Use binman to embed dtb inside U-Boot

Below is the sequence to embed dtb inside U-Boot,
1. Remove bootpg and resetvec section if needed
2. Append dtb
3. Append bootpg and resetvec section back if removed in step 1

Above procedure is required only when CONFIG_MPC85xx and
CONFIG_OF_SEPARATE are defined.

Add new config CONFIG_MPC85XX_HAVE_RESET_VECTOR to indicate that
image has resetvec section. Step 1 and step 3 described above are
required only if this config is y.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agopowerpc: mpc85xx: Select BINMAN by default
Jagdish Gediya [Mon, 3 Sep 2018 16:05:09 +0000 (21:35 +0530)]
powerpc: mpc85xx: Select BINMAN by default

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agobinman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry
Jagdish Gediya [Mon, 3 Sep 2018 16:05:08 +0000 (21:35 +0530)]
binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry

This entry contains the PowerPC mpc85xx boot page and resetvec
sections.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agobinman: Add a new "skip-at-start" property in Section class
Jagdish Gediya [Mon, 3 Sep 2018 16:05:07 +0000 (21:35 +0530)]
binman: Add a new "skip-at-start" property in Section class

Currently binman calculates '_skip_at_start' based on 'end-at-4gb'
property and it is used for x86 images.

For PowerPC mpc85xx based CPU, CONFIG_SYS_TEXT_BASE is the entry
offset of the first entry. It can be 0xeff40000 or 0xfff40000 for
nor flash boot, 0x201000 for sd boot etc, so "_skip_at_start"
should be set to CONFIG_SYS_TEXT_BASE.

'end-at-4gb' property is not applicable where CONFIG_SYS_TEXT_BASE +
Image size != 4gb.

Add new property 'skip-at-start' in Section class so that
'_skip_at_start' can be calculated either based on 'end-at-4gb'
or based on "skip-at-start".

Add a test case to check that 'skip-at-start' and 'end-at-4gb'
property can't be used together.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <york.sun@nxp.com>