oweals/u-boot.git
7 years agox86: braswell: cherryhill: Update dts for SPI lock down
Bin Meng [Thu, 19 Oct 2017 01:20:58 +0000 (18:20 -0700)]
x86: braswell: cherryhill: Update dts for SPI lock down

Intel Braswell FSP requires SPI controller settings to be locked down,
let's do this in the chrryhill.dts and remove previous Kconfig option.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agospi: ich: Lock down controller settings if required
Bin Meng [Thu, 19 Oct 2017 01:20:57 +0000 (18:20 -0700)]
spi: ich: Lock down controller settings if required

Some Intel FSP (like Braswell) does SPI lock-down during the call
to fsp_notify(INIT_PHASE_BOOT). But before SPI lock-down is done,
it's bootloader's responsibility to configure the SPI controller's
opcode registers properly otherwise SPI controller driver doesn't
know how to communicate with the SPI flash device.

Rather than passively doing the opcode configuration, let's add a
simple DTS property "intel,spi-lock-down" and let the driver call
the opcode configuration function if required by such FSP.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoRevert "x86: fsp: Configure SPI opcode registers before SPI is locked down"
Bin Meng [Thu, 19 Oct 2017 01:20:56 +0000 (18:20 -0700)]
Revert "x86: fsp: Configure SPI opcode registers before SPI is locked down"

This reverts commit 1e6ebee667da47fd3a87839a239a7574c66f5659.

It's not appropriate to call the Intel SPI driver specific stuff in
the FSP codes. We may add a simple DTS property "intel,spi-lock-down"
and let the Intel SPI driver call these stuff instead.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
7 years agox86: Fix ACPI resume dependency to MRC cache
Bin Meng [Thu, 19 Oct 2017 01:20:55 +0000 (18:20 -0700)]
x86: Fix ACPI resume dependency to MRC cache

In an S3 resume path, MRC cache is mandatory. Enforce the dependency
in the Kconfig.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoenv: x86: braswell: Set ENV_IS_IN_SPI_FLASH as default
Bin Meng [Thu, 19 Oct 2017 01:20:54 +0000 (18:20 -0700)]
env: x86: braswell: Set ENV_IS_IN_SPI_FLASH as default

Imply does not work for a Kconfig choice. Update ENV_IS_IN_SPI_FLASH
to be the default one for Intel Braswell.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agox86: braswell: Fix unexpected crash during Linux kernel boot
Bin Meng [Thu, 19 Oct 2017 01:20:53 +0000 (18:20 -0700)]
x86: braswell: Fix unexpected crash during Linux kernel boot

It was observed that when booting Linux kernel on Intel Cherry Hill
board, unexpected crash happens quite randomly. Sometimes kernel
just oops, while sometimes kernel throws MCE errors and hangs:

  mce: [Hardware Error]: Machine check events logged
  mce: [Hardware Error]: CPU 0: Machine Check: 0 Bank 4: c400000000010151
  mce: [Hardware Error]: TSC 0 ADDR 130f3f2c0
  mce: [Hardware Error]: PROCESSOR 0:406c3 TIME 1508160686 SOCKET 0 APIC 0 microcode 363

This looks like a hardware error per mcelog. After debugging, it
seems turning off turbo mode on the processor does not expose this
behavior, although U-Boot runs OK with turbo mode on. Suspect it is
related to an errata of Braswell processor.

To fix this, remove the Braswell cpu driver which does the turbo
mode configuration, and switch to use the generic cpu-x86 driver.
Also there is a configuration option in the FSP that turns on the
turbo mode and that has been turned off too.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agox86: galileo: Fix boot failure
Bin Meng [Thu, 19 Oct 2017 01:20:52 +0000 (18:20 -0700)]
x86: galileo: Fix boot failure

With latest codes on mainstream master, Intel Galileo board does not
boot unfortunately. Git biset leads to b383d6c0 "bootstage: Convert
to use malloc()".

Disable bootstage support to make it boot again. The root cause needs
to be investigated however.

Fixes: b383d6c0 ("bootstage: Convert to use malloc()")
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
7 years agoKconfig: add CONFIG_BROKEN
Heinrich Schuchardt [Thu, 19 Oct 2017 21:49:19 +0000 (23:49 +0200)]
Kconfig: add CONFIG_BROKEN

Provide a Kconfig option that we can use as dependency for
features that are broken. This allows to easily disable them
without removing the code.

As no short text is supplied the option will not appear in
menuconfig.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agodoc: verified-boot: fix crypto algorithm examples
Masahiro Yamada [Thu, 19 Oct 2017 10:37:59 +0000 (19:37 +0900)]
doc: verified-boot: fix crypto algorithm examples

As you see in crypto_algos in common/image-sig.c, the algorithm
should be either "rsa2048" or "rsa4096".  "rs2048" is a typo.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agotools: image: fix node name of signature node in FIT
Masahiro Yamada [Thu, 19 Oct 2017 10:16:21 +0000 (19:16 +0900)]
tools: image: fix node name of signature node in FIT

Both "conf_name" and "sig_name" point to the name of config node.
The latter should be the name of the signature node.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agotest/py: fix typos in README.md
Masahiro Yamada [Thu, 19 Oct 2017 10:08:52 +0000 (19:08 +0900)]
test/py: fix typos in README.md

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
7 years agocmd: gpt: solve issue for swap and rename command
Patrick Delaunay [Wed, 18 Oct 2017 13:11:08 +0000 (15:11 +0200)]
cmd: gpt: solve issue for swap and rename command

don't use prettyprint_part_size() in create_gpt_partitions_list()
that avoid to align offset and size to 1 MiB and increase precision for
start and size.
This patch avoid the risk to change partition size and lost data during
rename or swap.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
7 years agotest/py: gpt: test start LBA for sub-command rename and swap
Patrick Delaunay [Wed, 18 Oct 2017 13:11:07 +0000 (15:11 +0200)]
test/py: gpt: test start LBA for sub-command rename and swap

Add test of first and last LBA in gpt for rename and swap.
Only the name is expected to change, so test 3 columns
for part command
1: first LBA (start)
2: last LBA (end)
3: partition name

After rename, the last LBA change and it is a error in current U-Boot code
+ "first" = 0x7ff : invalid value (<start)
+ "second" = 0x17ff => size increasing !

Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
7 years agotest/py: gpt: add test for sub-command write
Patrick Delaunay [Wed, 18 Oct 2017 13:11:06 +0000 (15:11 +0200)]
test/py: gpt: add test for sub-command write

+ test write for one partition on all the device (size=0)
+ test write with disk uuid and 2 partitions

Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
7 years agodisk: efi: correct the overlap check on GPT header and PTE
Patrick Delaunay [Wed, 18 Oct 2017 13:11:05 +0000 (15:11 +0200)]
disk: efi: correct the overlap check on GPT header and PTE

the partition starting at 0x4400 is refused with overlap error:
  $> gpt write mmc 0 "name=test,start=0x4400,size=0"
  Writing GPT: Partition overlap
  error!

even if the 0x4400 is the first available offset for LBA35 with default
value:
- MBR=LBA1
- GPT header=LBA2
- PTE= 32 LBAs (128 entry), 3 to 34

And the command to have one partition for all the disk failed also :
  $> gpt write mmc 0 "name=test,size=0"

After the patch :

  $> gpt write mmc 0 "name=test,size=0"
  Writing GPT: success!
  $> part list mmc 0

  Partition Map for MMC device 0  --   Partition Type: EFI

  Part Start LBA End LBA Name
Attributes
Type GUID
Partition GUID
  1 0x00000022 0x01ce9fde "test"
attrs: 0x0000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
type: data
guid: b4b84b8a-04e3-4000-0036-aff5c9c495b1

And 0x22 = 34 LBA => offset = 0x4400 is accepted as expected

Reviewed-by: Łukasz Majewski <lukma@denx.de>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
7 years agotest/py: gpt: add test for sub-command read and verify
Patrick Delaunay [Wed, 18 Oct 2017 13:11:04 +0000 (15:11 +0200)]
test/py: gpt: add test for sub-command read and verify

add sandbox test for some gpt sub-command
- gpt read / part list : read the gpt partition created by sgdisk on host
  test start, size, LBA and name output
- gpt verify : verify the gpt partition create by sgdisk on host

PS: persistent data test_gpt_disk_image.bin are udpated

Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
7 years agotest/py: gpt: copy persistent file
Patrick Delaunay [Wed, 18 Oct 2017 13:11:03 +0000 (15:11 +0200)]
test/py: gpt: copy persistent file

copy the persistent gpt binary file as it can be modified during the test
that avoid issue if the test fail: the test always restart with clean file

Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
7 years agortc: mc146818: Correct alarm message for day alarm
Bin Meng [Tue, 17 Oct 2017 15:19:33 +0000 (08:19 -0700)]
rtc: mc146818: Correct alarm message for day alarm

RTC_CONFIG_D register contains the day within the month to generate
an alarm, not the month. This corrects the printf to indicate it.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
7 years agochiliboard config: use CONFIG_DEFAULT_FDT_FILE as env variable
Michal Oleszczyk [Tue, 17 Oct 2017 12:06:33 +0000 (14:06 +0200)]
chiliboard config: use CONFIG_DEFAULT_FDT_FILE as env variable

Remove hardcoded ftd file name from environment variables.
Use CONFIG_DEFAULT_FDT_FILE macro instead.

Signed-off-by: Michal Oleszczyk <m.oleszczyk@grinn-global.com>
7 years agosimple-bus: remove DECLARE_GLOBAL_DATA_PTR
Masahiro Yamada [Tue, 17 Oct 2017 08:37:14 +0000 (17:37 +0900)]
simple-bus: remove DECLARE_GLOBAL_DATA_PTR

No global pointer is used in this file.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agomtd: remove MTDDEBUG() and CONFIG_MTD_DEBUG
Masahiro Yamada [Tue, 17 Oct 2017 15:10:49 +0000 (00:10 +0900)]
mtd: remove MTDDEBUG() and CONFIG_MTD_DEBUG

All users of this macro have been converted.  Remove MTDDEBUG and
related CONFIG options.

ubifs_dbg_msg_key() is kept.  It is silent unless DEBUG is defined.

I am not touching scripts/config_whitelist.txt.  The deprecated options
will be dropped by the next resync.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agomtd: replace MTDDEBUG() with pr_debug()
Masahiro Yamada [Tue, 17 Oct 2017 15:10:48 +0000 (00:10 +0900)]
mtd: replace MTDDEBUG() with pr_debug()

In old days, the MTD subsystem in Linux had debug facility like
DEBUG(MTD_DEBUG_LEVEL1, ...).

They were all replaced with pr_debug() until Linux 3.2.  See Linux
commit 289c05222172 ("mtd: replace DEBUG() with pr_debug()").

U-Boot still uses similar macros.  Covert all of them for easier sync.

Done with the help of Coccinelle.

The semantic patch I used is as follows:

// <smpl>
@@
expression e1, e2;
@@
-MTDDEBUG(e1, e2)
+pr_debug(e2)
@@
expression e1, e2;
@@
-MTDDEBUG(e1, e2,
+pr_debug(e2,
 ...)
// </smpl>

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoMerge git://git.denx.de/u-boot-uniphier
Tom Rini [Sun, 22 Oct 2017 23:21:04 +0000 (19:21 -0400)]
Merge git://git.denx.de/u-boot-uniphier

7 years agoARM: uniphier: use pr_*() more where appropriate
Masahiro Yamada [Sun, 22 Oct 2017 15:19:36 +0000 (00:19 +0900)]
ARM: uniphier: use pr_*() more where appropriate

Commit dd74b945af2e ("ARM: uniphier: use pr_() instead of printf()
where appropriate"), but I missed to update this file for some reason.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agodoc: uniphier: add simple guide to Verified Boot
Masahiro Yamada [Sun, 22 Oct 2017 06:15:01 +0000 (15:15 +0900)]
doc: uniphier: add simple guide to Verified Boot

Add a simple documentation about how to use the Verified Boot on
UniPhier boards.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: remove verify=n from environments
Masahiro Yamada [Sat, 21 Oct 2017 10:51:13 +0000 (19:51 +0900)]
ARM: uniphier: remove verify=n from environments

If the environment "verify" is set to n, the image verification
is entirely skipped.  Remove it as a preparation for verified boot.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: increase CONFIG_SYS_BOOTM_LEN to 32MB
Masahiro Yamada [Thu, 19 Oct 2017 10:17:51 +0000 (19:17 +0900)]
ARM: uniphier: increase CONFIG_SYS_BOOTM_LEN to 32MB

The default value of CONFIG_SYS_BOOTM_LEN, 0x800000, causes error
when uncompressing Image.gz out of FIT image.

   Uncompressing Kernel Image ... Error: inflate() returned -5
Image too large: increase CONFIG_SYS_BOOTM_LEN

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: dts: uniphier: sync DT with Linux 4.14-rc5
Masahiro Yamada [Tue, 17 Oct 2017 12:19:43 +0000 (21:19 +0900)]
ARM: dts: uniphier: sync DT with Linux 4.14-rc5

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: split u-boot,dm-pre-reloc out to uniphier-v7-u-boot.dtsi
Masahiro Yamada [Tue, 17 Oct 2017 12:19:42 +0000 (21:19 +0900)]
ARM: uniphier: split u-boot,dm-pre-reloc out to uniphier-v7-u-boot.dtsi

UniPhier 32-bit SoCs use CONFIG_SPL_OF_CONTROL.  So, many nodes must
be marked as dm-pre-reloc to prevent fdtgrep from stripping them off.

Sprinkling U-Boot-specific properties all over the place is painful
because DT files are synced with Linux from time to time.

Split u-boot,dm-pre-reloc out to uniphier-v7-u-boot.dtsi, which is
appended to UniPhier V7 DTS before the build.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
7 years agoARM: uniphier: remove CONFIG_UNIPHIER_ETH
Masahiro Yamada [Tue, 17 Oct 2017 12:19:41 +0000 (21:19 +0900)]
ARM: uniphier: remove CONFIG_UNIPHIER_ETH

The option is never enabled by anyone.  Remove the code surrounded
by its ifdef.  This should be handled by the clock/reset drivers.

CONFIG_UNIPHIER_ETH in scripts/config_whitelist.txt will be dropped
by the next resync.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: enable DWC3 xHCI driver really
Masahiro Yamada [Tue, 17 Oct 2017 12:19:40 +0000 (21:19 +0900)]
ARM: uniphier: enable DWC3 xHCI driver really

I thought commit d37d31849c6a ("ARM: uniphier: enable DWC3 xHCI
driver") enabled CONFIG_USB_DWC3_UNIPHIER, but CONFIG_USB_XHCI_DWC3
was missing in uniphier_v7_defconfig.  Re-add.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agouniphier_ld4_sld8: Re-add SMC911X_BASE address
Tom Rini [Sat, 21 Oct 2017 14:26:34 +0000 (10:26 -0400)]
uniphier_ld4_sld8: Re-add SMC911X_BASE address

This was dropped by accident in the Kconfig conversion.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agonet: Add SMC911X driver to Kconfig, convert
Adam Ford [Tue, 5 Sep 2017 20:20:44 +0000 (15:20 -0500)]
net: Add SMC911X driver to Kconfig, convert

We add the various SMC91XX symbols to drivers/net/Kconfig and then this
converts the following to Kconfig:
   CONFIG_SMC911X
   CONFIG_SMC911X_BASE
   CONFIG_SMC911X_16_BIT
   CONFIG_SMC911X_32_BIT

Signed-off-by: Adam Ford <aford173@gmail.com>
[trini: Apply to the rest of the tree, re-squash old and new patch]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoConvert CONFIG_NAND_OMAP_GPMC et al and CONFIG_NAND_MXC to Kconfig
Adam Ford [Mon, 16 Oct 2017 19:08:26 +0000 (14:08 -0500)]
Convert CONFIG_NAND_OMAP_GPMC et al and CONFIG_NAND_MXC to Kconfig

This converts the following to Kconfig:
   CONFIG_NAND_MXC
   CONFIG_NAND_OMAP_GPMC
   CONFIG_NAND_OMAP_GPMC_PREFETCH
   CONFIG_NAND_OMAP_ELM
   CONFIG_SPL_NAND_AM33XX_BCH
   CONFIG_SPL_NAND_SIMPLE
   CONFIG_SYS_NAND_BUSWIDTH_16BIT

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
[trini: Finish migration of CONFIG_SPL_NAND_SIMPLE, fix some build issues,
        add CONFIG_NAND_MXC so we can do CONFIG_SYS_NAND_BUSWIDTH_16BIT]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Thu, 19 Oct 2017 15:19:38 +0000 (11:19 -0400)]
Merge git://git.denx.de/u-boot-x86

7 years agox86: conga-qeval20-qa3-e3845-internal-uart_defconfig: Add ACPI resume support
Stefan Roese [Tue, 17 Oct 2017 06:09:14 +0000 (08:09 +0200)]
x86: conga-qeval20-qa3-e3845-internal-uart_defconfig: Add ACPI resume support

I've missed to add the ACPI resume support to this x86 build target.
This patch adds the ACPI resume support enabling S3 suspend /
resume.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agox86: provide CONFIG_BUILD_ROM
Heinrich Schuchardt [Mon, 16 Oct 2017 18:08:38 +0000 (18:08 +0000)]
x86: provide CONFIG_BUILD_ROM

Up to now we depended on an exported variable to build u-boot.rom.
We should be able to specify it in the configuration file, too.

With this patch this becomes possible using the new Kconfig option
CONFIG_BUILD_ROM.

This option depends on CONFIG_X86 and is selected in
qemu-x86_defconfig and qemu-x86_64_defconfig.

Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agox86: baytrail: fsp: Move Azalia update codes to board
Bin Meng [Fri, 13 Oct 2017 08:30:06 +0000 (01:30 -0700)]
x86: baytrail: fsp: Move Azalia update codes to board

Azalia configuration may be different across boards, hence it's not
appropriate to do that in the SoC level. Instead, let's make the
SoC update_fsp_azalia_configs() routine as a weak version, and do
the actual work in the board codes.

So far it seems only som-db5800-som-6867 board enables the Azalia.
Move the original codes into som-db5800-som-6867.c.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
7 years agox86: baytrail: fsp: Use a function to update the Azalia config pointer
Bin Meng [Fri, 13 Oct 2017 08:30:05 +0000 (01:30 -0700)]
x86: baytrail: fsp: Use a function to update the Azalia config pointer

At present we directly pass the Azalia config pointer to the FSP UPD.
This updates to use a function to do the stuff, like Braswell does.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
7 years agox86: fsp: Consolidate Azalia header file
Bin Meng [Fri, 13 Oct 2017 08:30:04 +0000 (01:30 -0700)]
x86: fsp: Consolidate Azalia header file

So far there are two copies of Azalia struct defines with one in
baytrail and the other one in braswell. This consolidates these
two into one, put it in the common place, and remove the prefix
pch_ to these structs to make their names more generic.

This also corrects reset_wait_timer from us to ms.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
7 years agox86: Turn off running VGA ROM during S3 resume
Bin Meng [Thu, 12 Oct 2017 12:07:58 +0000 (05:07 -0700)]
x86: Turn off running VGA ROM during S3 resume

This is only needed when graphics console is used. For kernel with
native graphics driver, this can be turned off to speed up.

Change this option's default to n in the Kconfig.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
7 years agox86: baytrail: Fix unstable ACPI S3 resume
Bin Meng [Thu, 12 Oct 2017 12:07:57 +0000 (05:07 -0700)]
x86: baytrail: Fix unstable ACPI S3 resume

It was observed that when booting a Ubuntu 16.04 kernel, doing ACPI
S3 suspend/resume sometimes causes the Ubuntu kernel hang forever.
The issue is however not reproduced with a kernel built from i386/
x86_64 defconfig configuration.

The unstability is actually caused by unexpected interrupts being
generated during the S3 resume. For some unknown reason, FSP (gold4)
for BayTrail configures the GPIO DFX5 PAD to enable level interrupt
(bit 24 and 25). As this pin keeps generating interrupts during an
S3 resume, and there is no IRQ requester in the kernel to handle it,
the kernel seems to hang and does not continue resuming.

Clear the mysterious interrupt bits for this pin.

Reported-by: Stefan Roese <sr@denx.de>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Stefan Roese <sr@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
7 years agox86: minnowmax: Adjust VGA rom address
Bin Meng [Sat, 7 Oct 2017 09:43:52 +0000 (02:43 -0700)]
x86: minnowmax: Adjust VGA rom address

Adjust VGA rom address to 0xfffb0000 so that u-boot.rom image
can be built again.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
7 years agoMerge git://git.denx.de/u-boot-i2c
Tom Rini [Wed, 18 Oct 2017 13:32:35 +0000 (09:32 -0400)]
Merge git://git.denx.de/u-boot-i2c

7 years agoMerge git://git.denx.de/u-boot-spi
Tom Rini [Wed, 18 Oct 2017 13:32:21 +0000 (09:32 -0400)]
Merge git://git.denx.de/u-boot-spi

7 years agoi2c: stm32f7_i2c: fix usage of useless local variable
Patrice Chotard [Tue, 17 Oct 2017 09:21:33 +0000 (11:21 +0200)]
i2c: stm32f7_i2c: fix usage of useless local variable

Remove useless local variable "s" and use directly
function's parameter "output"

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
7 years agoi2c: stm32f7_i2c: fix data abort
Christophe Kerello [Tue, 17 Oct 2017 09:21:32 +0000 (11:21 +0200)]
i2c: stm32f7_i2c: fix data abort

As "v" is a local variable in stm32_i2c_choose_solution()
"v" has to be copied into "s" to avoid data abort in
stm32_i2c_compute_timing().

Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
7 years agoi2c: remove DECLARE_GLOBAL_DATA_PTR from i2c-uclass
Masahiro Yamada [Fri, 13 Oct 2017 10:29:03 +0000 (19:29 +0900)]
i2c: remove DECLARE_GLOBAL_DATA_PTR from i2c-uclass

No global pointer is used in this file.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
7 years agoPrepare v2017.11-rc2 v2017.11-rc2
Tom Rini [Tue, 17 Oct 2017 01:27:55 +0000 (21:27 -0400)]
Prepare v2017.11-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoconfigs: Resync with savedefconfig
Tom Rini [Tue, 17 Oct 2017 01:35:43 +0000 (21:35 -0400)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agotest/py/tests/test_sleep.py: test time approximately
Heinrich Schuchardt [Fri, 13 Oct 2017 20:28:31 +0000 (22:28 +0200)]
test/py/tests/test_sleep.py: test time approximately

On qemu errors like
assert 2.999650001525879 >= 3
occur.

According to the comment in the code the test is meant to be
approximate. So we should accept some milliseconds less.

Cc: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
7 years agoscripts/get_maintainer.pl: update to current version
Heinrich Schuchardt [Fri, 13 Oct 2017 17:31:20 +0000 (19:31 +0200)]
scripts/get_maintainer.pl: update to current version

Update the script to version 0.26 (as of Linux v4.14-rc1)
Keep our "penguin_chief".
Keep our top_of_kernel_tree.

The negative forms of the command line parameters are described
when using --help.

New options are

 --git-blame-signatures => when used with --git-blame,
                           also include all commit signers
 --r => include reviewer(s) if any
 --letters => print all matching 'letter' types
              from all matching sections

File .get_maintainer.ignore can be used to specify
email addressees that shall be ignored.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
7 years agoarm: dra76: fastboot: extend cpu type for getvar command
Praneeth Bajjuri [Fri, 13 Oct 2017 03:47:05 +0000 (22:47 -0500)]
arm: dra76: fastboot: extend cpu type for getvar command

'commit fa24eca1f20a ("omap: Add routine for setting fastboot variables")'
adds initial support and usage of "fastboot getvar" command
for DRA75x and DRA72x devices.

and
'commit 0f9e6aee9dbc ("arm: dra76: Add support for ES1.0 detection")'
adds initial dra76 device definition

This patch is to extend usage of "fastboot getvar" for DRA76 device.

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoomap-common: fastboot: extend cpu type for DRA71x rev 2.1
Vishal Mahaveer [Fri, 13 Oct 2017 03:47:04 +0000 (22:47 -0500)]
omap-common: fastboot: extend cpu type for DRA71x rev 2.1

DRA71x processors are reduced pin and software compatible
derivative of DRA72 processors. Extend support for this
revision in "getvar cpu" command.

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
[praneeth@ti.com: rebase to u-boot master]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoarm: dra7xx: Add vendor partition to Android GPT table for eMMC
Vishal Mahaveer [Fri, 13 Oct 2017 03:47:03 +0000 (22:47 -0500)]
arm: dra7xx: Add vendor partition to Android GPT table for eMMC

Add vendor partition to Android GPT table for eMMC.

A Vendor image contains SoC-specific code and configuration.

Prior to Android 8.0, the vendor partition was optional ;
files belonging to these images were placed in boot.img or system.img
with symlinks (such as /vendor >/system/vendor ) when absent.

Android 8.0 makes the vendor partition mandatory

The goal is to modularize Android partitions with standard interface between
the Android Platform (on system.img ) and vendor-provided code(on vendor.img).

This standard interface enables the Android Platform to be updated
without affecting the SoC partitions. This makes it possible to upgrade a
device system.img from Android 8.0 to Android P while other images (such as
vendor.img) remain at Android 8.0. This modularity enables timely
Android platform upgrades (such as monthly security updates )
without requiring SoC/ODM partners to update SoC- and device-specific code.

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoarm: am57xx: Add vendor partition to Android GPT table for eMMC
Praneeth Bajjuri [Fri, 13 Oct 2017 03:47:02 +0000 (22:47 -0500)]
arm: am57xx: Add vendor partition to Android GPT table for eMMC

Add vendor partition to Android GPT table for eMMC.

A Vendor image contains SoC-specific code and configuration.

Prior to Android 8.0, the vendor partition was optional ;
files belonging to these images were placed in boot.img or system.img
with symlinks (such as /vendor >/system/vendor ) when absent.

Android 8.0 makes the vendor partition mandatory

The goal is to modularize Android partitions with standard interface between
the Android Platform (on system.img ) and vendor-provided code(on vendor.img).

This standard interface enables the Android Platform to be updated
without affecting the SoC partitions. This makes it possible to upgrade a
device system.img from Android 8.0 to Android P while other images (such as
vendor.img) remain at Android 8.0. This modularity enables timely
Android platform upgrades (such as monthly security updates )
without requiring SoC/ODM partners to update SoC- and device-specific code.

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agousbtty: fix typos
Heinrich Schuchardt [Thu, 12 Oct 2017 21:37:37 +0000 (23:37 +0200)]
usbtty: fix typos

Fix typos in USB tty driver.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
7 years agotools: env: Add embedded.c to .gitignore
Bin Meng [Thu, 12 Oct 2017 03:15:04 +0000 (20:15 -0700)]
tools: env: Add embedded.c to .gitignore

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
7 years agocmd/pxe.c: Rework bootargs construction to clarify string checks
Tom Rini [Wed, 11 Oct 2017 19:34:33 +0000 (15:34 -0400)]
cmd/pxe.c: Rework bootargs construction to clarify string checks

As the code currently stands, we first check that the length of the
given command line, along with ip_str/mac_str along with an additional 1
for the NULL termination will fit within the buffer we have, and if not,
we return an error.  The way this code was originally written however
left Coverity "unhappy" due to using strcat rather than strncat.
Switching this to strncat however causes clang to be unhappy that we
aren't enforcing the "1" portion within strncat.  Rather than further
re-work the code to include a "- 1" in this case as well, make the
strcat code only be done within the else side of the length test.  This
keeps both clang and Coverity happy.

Fixes: 48ee0a87bc46 ("cmd/pxe.c: Rework initrd and bootargs handling slightly")
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agokbuild: fix dependency of DT build
Masahiro Yamada [Wed, 11 Oct 2017 14:56:10 +0000 (23:56 +0900)]
kbuild: fix dependency of DT build

I saw a DT build issue report some time before [1].  I was able to
reproduce the bug, and figure out the root cause.

Since commit 6d427c6b1fa0 ("binman: Automatically include a U-Boot
.dtsi file"), invalid .*.cmd files are generated.

Since that commit, DTS files are put into sed and piped to CPP.
Because CPP reads the stream from stdin, -Wp,-MD,$(depfile).pre.tmp
option generates a depfile with the target name "-".  This is not
the format expected by fixdep.

Use one more temporary file instead of using pipe.  With this, deps_
in the .*.cmd will be fixed.  Having a temp file name in source_ is
odd, but it is unsed in the build system.  Not a big deal.

[1] https://lists.denx.de/pipermail/u-boot/2017-June/294451.html

Fiexes: 6d427c6b1fa0 ("binman: Automatically include a U-Boot .dtsi file")
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agocommon: Remove genimg_get_image()
Tuomas Tynkkynen [Tue, 10 Oct 2017 18:59:43 +0000 (21:59 +0300)]
common: Remove genimg_get_image()

Removal of the legacy DataFlash code turned genimg_get_image() into a
no-op. Drop all calls to it and the function itself.

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
7 years agoDrop CONFIG_HAS_DATAFLASH
Tuomas Tynkkynen [Tue, 10 Oct 2017 18:59:42 +0000 (21:59 +0300)]
Drop CONFIG_HAS_DATAFLASH

Last user of this option went away in commit:

fdc7718999 ("board: usb_a9263: Update to support DT and DM")

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
7 years agospi: Drop CONFIG_ATMEL_DATAFLASH_SPI
Tuomas Tynkkynen [Tue, 10 Oct 2017 18:59:41 +0000 (21:59 +0300)]
spi: Drop CONFIG_ATMEL_DATAFLASH_SPI

Last user of this option went away in commit:

fdc7718999 ("board: usb_a9263: Update to support DT and DM")

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Acked-by: Wenyou Yang <wenyou.yang@microchip.com>
7 years agoenv: Drop CONFIG_ENV_IS_IN_DATAFLASH
Tuomas Tynkkynen [Tue, 10 Oct 2017 18:59:40 +0000 (21:59 +0300)]
env: Drop CONFIG_ENV_IS_IN_DATAFLASH

Last user of this option went away in commit:

fdc7718999 ("board: usb_a9263: Update to support DT and DM")

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
7 years agofs/jffs2/mini_inflate.c: use "static inline" instead of "inline"
Vagrant Cascadian [Tue, 10 Oct 2017 16:42:39 +0000 (09:42 -0700)]
fs/jffs2/mini_inflate.c: use "static inline" instead of "inline"

This makes gcc no longer expect an out-of-line version of the
functions being present elsewhere.

This fixes a failure to build on several marvell targets with gcc-7 on
Debian:

  https://bugs.debian.org/877963

Signed-off-by: Adrian Bunk <bunk@debian.org>
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
7 years agojffs2: ECC corrected nand data is ignored
Engling, Uwe [Tue, 10 Oct 2017 14:20:55 +0000 (14:20 +0000)]
jffs2: ECC corrected nand data is ignored

Hello,

I ran into a problem with the JFFS2 filesystem driver implemented in U-Boot.

I've got a NAND device that has correctable ECC errors (corrected somewhere in mtd/nand/nand_base.c).
The NAND driver tells the filesystem layer (jffs2_1pass.c) above that there occurred correctable ECC errors and returns with a "value > 0".
The JFFS2 driver recognizes the corrected ECC errors as real error and skips this block because the only accepts a "return value == 0" as correct.

This problem exists for over 8 years (I checked version 2010.09) so I'm a little bit worried that I interpreted something wrong or didn't get the whole context.

Can someone confirm this bug (and the bugfix) in the u-boot jffs2 driver?

There was a mail in 2012 that mentioned the same problem, but there was no patch:
http://u-boot.10912.n7.nabble.com/JFFS2-seems-to-drop-nand-data-with-ECC-corrections-td142008.html
Sometime after this discussion the return value of nand_read() changed from -EUCLEAN as correctable ECC error to a positive value with the count of ECC corrected errors.

With kind reguards,
Uwe Engling

7 years agoARM: Add documentation for the qemu-arm board
Tuomas Tynkkynen [Mon, 9 Oct 2017 16:42:41 +0000 (19:42 +0300)]
ARM: Add documentation for the qemu-arm board

Add brief documentation for the recently merged qemu-arm board.

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
7 years agommc: stm32_sdmmc2: increase polling status register delay
Christophe Kerello [Mon, 9 Oct 2017 15:02:28 +0000 (17:02 +0200)]
mmc: stm32_sdmmc2: increase polling status register delay

MMC commands like MMC_CMD_ALL_SEND_CID or MMC_CMD_SEND_CSD can reach
500 us. This patch increases the polling status register delay to avoid
a timeout on a command.

Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
7 years agodm: clk: fix PWR_CR3 register's bit 2 name
Patrice Chotard [Mon, 9 Oct 2017 09:41:24 +0000 (11:41 +0200)]
dm: clk: fix PWR_CR3 register's bit 2 name

Fix bit 2 name of PWR_CR3 register to match with the
last STM32H7 reference manual available here :

http://www.st.com/content/st_com/en/support/resources/
resource-selector.html?querycriteria=productId=SS1951$$
resourceCategory=technical_literature$$resourceType=reference_manual

Update also comment about voltage scaling 1 values

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Vikas Manocha <vikas.manocha@st.com>
7 years agodm: clk: remove CLK() macro for clk_stm32h7
Patrice Chotard [Mon, 9 Oct 2017 09:41:23 +0000 (11:41 +0200)]
dm: clk: remove CLK() macro for clk_stm32h7

CLK() macro is a residue of a previously reworked patch,
remove it.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Vikas Manocha <vikas.manocha@st.com>
7 years agoARM: tegra: Remove unused define CONFIG_ARMCORTEXA9
Tuomas Tynkkynen [Sun, 8 Oct 2017 19:44:05 +0000 (22:44 +0300)]
ARM: tegra: Remove unused define CONFIG_ARMCORTEXA9

This macro isn't used by anything, and in fact hasn't ever been used
according to the Git logs.

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
7 years agofs: Set .opendir to fs_opendir_unsupported for btrfs
Marek Behún [Fri, 6 Oct 2017 14:56:07 +0000 (16:56 +0200)]
fs: Set .opendir to fs_opendir_unsupported for btrfs

Otherwise fs_opendir will fault.

Signed-off-by: Marek Behun <marek.behun@nic.cz>
7 years agofs: btrfs: Remove a foreign language note
Marek Behún [Fri, 6 Oct 2017 13:04:59 +0000 (15:04 +0200)]
fs: btrfs: Remove a foreign language note

I accidentaly left a foreign language note in the code from development.

Signed-off-by: Marek Behun <marek.behun@nic.cz>
7 years agofs: btrfs: Fix usage of uninitialized variables
Marek Behún [Fri, 6 Oct 2017 13:04:57 +0000 (15:04 +0200)]
fs: btrfs: Fix usage of uninitialized variables

The variable res should be initialized to 0 in these functions,
because if the searched key is not found, the variable is used
uninitialized.

Reported-by: Coverity (CID: 167335)
Reported-by: Coverity (CID: 167336)
Reported-by: Coverity (CID: 167337)
Signed-off-by: Marek Behun <marek.behun@nic.cz>
7 years agolinux/time.h: Remove dead code
Marek Behún [Fri, 6 Oct 2017 13:04:56 +0000 (15:04 +0200)]
linux/time.h: Remove dead code

Since
  rem = ((long) *tim_p) % SECSPERDAY;
the second while cycle
  while (rem >= SECSPERDAY)
is dead.

Reported-by: Coverity (CID: 167334)
Signed-off-by: Marek Behun <marek.behun@nic.cz>
7 years agoiso: Reduce verbosity on test and info calls
Alexander Graf [Fri, 6 Oct 2017 11:35:07 +0000 (13:35 +0200)]
iso: Reduce verbosity on test and info calls

The test and info callbacks into the partition callback struct are
used by the "part list" command on the command line. That command
is used by the distro script.

With verb=1 set, "part list" thus throws a lot of warnings about
partitions it can't find when an upper layer searches for partitions.

So let's reduce verbosity to bring it to the same level of noise
as the other partition targets.

Signed-off-by: Alexander Graf <agraf@suse.de>
7 years agofixdep: fix dependency on options surrounded by CONFIG_VAL()
Masahiro Yamada [Fri, 6 Oct 2017 01:24:43 +0000 (10:24 +0900)]
fixdep: fix dependency on options surrounded by CONFIG_VAL()

CONFIG options surrounded by

  CONFIG_IS_ENABLED(...)
  CONFIG_IS_BUILTIN(...)
  CONFIG_IS_MODULE(...)
  CONFIG_VAL(...)

need special care for proper dependency tracking.

I do not remember why, but I missed to add CONFIG_VAL(...) handling.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agotools: bmp_logo: correctly interpret BMP files with larger headers
Jon Smith [Thu, 5 Oct 2017 12:35:02 +0000 (08:35 -0400)]
tools: bmp_logo: correctly interpret BMP files with larger headers

All BMP files were being treated as though they had a 40 byte header.
There are several BMP header formats consisting of additional data.
This was causing some of the header to be read as color information,
skewing the color palette.

Signed-off-by: Jon Smith <jtsmith@pdiarm.com>
7 years agocommon: Add a prototype for s_init()
Diego Dorta [Thu, 5 Oct 2017 12:13:38 +0000 (09:13 -0300)]
common: Add a prototype for s_init()

When compiling with W=1 the following warning is observed:

arch/arm/mach-imx/mx6/soc.c:590:6: warning: no previous prototype for ‘s_init’ [-Wmissing-prototypes] void s_init(void)

Remove this warning by adding the function prototype into include/common.h file.

Signed-off-by: Diego Dorta <diego.dorta@nxp.com>
7 years agotools/mkimage: Fix DTC run command to handle file names with space
Mirza, Taimoor [Wed, 4 Oct 2017 15:28:03 +0000 (20:28 +0500)]
tools/mkimage: Fix DTC run command to handle file names with space

fit_handle_file function does not quote input and output files while preparing
command to run DTC to convert .its to .itb. This results in a failure if input
or output files contain spaces in their names. Quote input and output files in
DTC command to avoid this failure.

Signed-off-by: Mirza, Taimoor <Taimoor_Mirza@mentor.com>
7 years agofdt: update bcm283x device tree sources to Linux 4.14 state
Alexander Graf [Wed, 4 Oct 2017 12:39:16 +0000 (14:39 +0200)]
fdt: update bcm283x device tree sources to Linux 4.14 state

Upstream Linux has received a few device tree updates to the RPi
which we should propagate into the builtin U-Boot one as well to
gain hardware support.

This patch bumps the dts files to their 4.14 Linux counterparts
with the exception of sdhost on 32bit RPi versions. There we stay
with iproc as the sdhost driver is missing in U-Boot.

Signed-off-by: Alexander Graf <agraf@suse.de>
7 years agopart_efi: In is_gpt_valid() check argument validity before allocation
Tom Rini [Tue, 3 Oct 2017 13:38:44 +0000 (09:38 -0400)]
part_efi: In is_gpt_valid() check argument validity before allocation

While this goes somewhat against normal coding style we should ensure
that dev_desc is not NULL before we dereference it in allocation of
legacy_mbr.

Reported-by: Coverity (CID: 167292)
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoSPL: FIT: Kconfig: Change SPL_FIT_IMAGE_POST_PROCESS entry
ext-vasily.gurevich@vaisala.com [Mon, 2 Oct 2017 13:42:55 +0000 (13:42 +0000)]
SPL: FIT: Kconfig: Change SPL_FIT_IMAGE_POST_PROCESS entry

Remove depends on TI_SECURE_DEVICE for other platforms.

Signed-off-by: Vasily Gurevich <ext-vasily.gurevich@vaisala.com>
7 years agoclk: uniphier: add NAND controller clock
Masahiro Yamada [Fri, 13 Oct 2017 17:21:19 +0000 (02:21 +0900)]
clk: uniphier: add NAND controller clock

This allows the NAND driver to enable clock and get its clock rate.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agomtd: nand: denali_dt: add clock support
Masahiro Yamada [Fri, 13 Oct 2017 17:21:18 +0000 (02:21 +0900)]
mtd: nand: denali_dt: add clock support

Enable clock in the probe hook.  The clock rate will be necessary
when setup_data_interface hook is supported.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: adjust ifdefs for new UniPhier DWC3 CONFIG
Masahiro Yamada [Fri, 13 Oct 2017 17:21:17 +0000 (02:21 +0900)]
ARM: uniphier: adjust ifdefs for new UniPhier DWC3 CONFIG

Now USB 3.0 feature is enabled/disabled by CONFIG_USB_DWC3_UNIPHIER.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: enable DWC3 xHCI driver
Masahiro Yamada [Fri, 13 Oct 2017 17:21:16 +0000 (02:21 +0900)]
ARM: uniphier: enable DWC3 xHCI driver

Enable CONFIGs for the DWC3 core and the UniPhier specific glue layer.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: change the default of SoC select to UNIPHIER_V7_MULTI
Masahiro Yamada [Fri, 13 Oct 2017 10:22:09 +0000 (19:22 +0900)]
ARM: uniphier: change the default of SoC select to UNIPHIER_V7_MULTI

ARCH_UNIPHIER_V8_MULTI depends on !SPL, so the default may be hidden.
Use a clearer default.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoreset: uniphier: fix the first argument passed to dev_err()
Masahiro Yamada [Fri, 13 Oct 2017 10:22:02 +0000 (19:22 +0900)]
reset: uniphier: fix the first argument passed to dev_err()

priv->dev does not exist.  Pass the correct pointer to udevice.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoclk: uniphier: add PXs3 clock data
Masahiro Yamada [Fri, 13 Oct 2017 10:22:00 +0000 (19:22 +0900)]
clk: uniphier: add PXs3 clock data

Add basic clock data for Socionext's new SoC PXs3.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoclk: uniphier: rework for better clock tree structure
Masahiro Yamada [Fri, 13 Oct 2017 10:21:59 +0000 (19:21 +0900)]
clk: uniphier: rework for better clock tree structure

U-Boot does not support fancy clock tree structures like the Linux
common clock framework.  Implement a simple clock tree model at the
driver level.  With this, the clock data will be simplified.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoi2c: uniphier-f: replace debug() with dev_dbg()
Masahiro Yamada [Fri, 13 Oct 2017 10:21:58 +0000 (19:21 +0900)]
i2c: uniphier-f: replace debug() with dev_dbg()

Use dev_dbg() functions.  It will be helpful to prefix log messages
with the corresponding device name when the core framework is ready.

While I am here, I renamed "dev", which was actually private data,
into "priv" because dev->dev looks confusing.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoi2c: uniphier: replace debug() with dev_dbg()
Masahiro Yamada [Fri, 13 Oct 2017 10:21:57 +0000 (19:21 +0900)]
i2c: uniphier: replace debug() with dev_dbg()

Use dev_dbg() functions.  It will be helpful to prefix log messages
with the corresponding device name when the core framework is ready.

While I am here, I renamed "dev", which was actually private data,
into "priv" because dev->dev looks confusing.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agousb: dwc3-uniphier: replace <common.h> with <linux/bitops.h>
Masahiro Yamada [Fri, 13 Oct 2017 10:21:56 +0000 (19:21 +0900)]
usb: dwc3-uniphier: replace <common.h> with <linux/bitops.h>

Including <common.h> pulls in a lot of bloat.  What this driver needs
is BIT(), so replace it with <linux/bitops.h>

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Marek Vasut <marex@denx.de>
7 years agoARM: uniphier: use pr_() instead of printf() where appropriate
Masahiro Yamada [Fri, 13 Oct 2017 10:21:55 +0000 (19:21 +0900)]
ARM: uniphier: use pr_() instead of printf() where appropriate

Replace printf() with pr_() to specify proper loglevel.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agopinctrl: uniphier: simplify input enable and delete pin arrays
Masahiro Yamada [Fri, 13 Oct 2017 10:21:54 +0000 (19:21 +0900)]
pinctrl: uniphier: simplify input enable and delete pin arrays

The pin data are implemented for old SoCs to specify the bit shift of
the IECTRL register.  They are not wortwhile given the required memory
footprint.  Delete all the pin data and enable all bits of the IECTRL
register.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agopinctrl: uniphier: set PUPD_SIMPLE cap flag for PXs3
Masahiro Yamada [Fri, 13 Oct 2017 10:21:53 +0000 (19:21 +0900)]
pinctrl: uniphier: set PUPD_SIMPLE cap flag for PXs3

Like other recenct UniPhier SoCs, the pupdctrl number of PXs3
matches to the pin number.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: dts: uniphier: update GPIO nodes
Masahiro Yamada [Fri, 13 Oct 2017 10:21:52 +0000 (19:21 +0900)]
ARM: dts: uniphier: update GPIO nodes

Switch to the single node design.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agogpio: uniphier: rework single device node model
Masahiro Yamada [Fri, 13 Oct 2017 10:21:51 +0000 (19:21 +0900)]
gpio: uniphier: rework single device node model

First, I implemented this driver as per-bank model, but it was
a design mistake.

  - There are 31 banks in the maximum case.  It is painful to add
    so many nodes to DT.

  - The IRQ control registers are shared between banks.  Per-bank
    design is a problem for Linux.  The counterpart for Linux turned
    around to the single node model.

Rework based on the driver for Linux.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: switch to CONFIG_ENV_IS_NOWHERE
Masahiro Yamada [Fri, 13 Oct 2017 10:21:50 +0000 (19:21 +0900)]
ARM: uniphier: switch to CONFIG_ENV_IS_NOWHERE

The non-volatile storage varies board by board.  The default should
be NOWHERE.  Please choose a proper device via Kconfig.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>