]> git.ipfire.org Git - people/ms/u-boot.git/log
people/ms/u-boot.git
8 years agopowerpc: ppc4xx: remove alpr support
Masahiro Yamada [Wed, 2 Sep 2015 01:40:22 +0000 (10:40 +0900)] 
powerpc: ppc4xx: remove alpr support

This has not been converted to Generic Board, so should be removed.
(See doc/README.generic-board for details.)

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Stefan Roese <sr@denx.de>
8 years agoea20: Convert to generic board
Stefano Babic [Tue, 1 Sep 2015 14:47:36 +0000 (16:47 +0200)] 
ea20: Convert to generic board

Boards need to select CONFIG_SYS_GENERIC_BOARD in order to
prevent removal from the project.

Signed-off-by: Stefano Babic <sbabic@denx.de>
8 years agoserial: drop redundant depends on
Masahiro Yamada [Fri, 28 Aug 2015 11:14:21 +0000 (20:14 +0900)] 
serial: drop redundant depends on

SANDBOX_SERIAL depends on SANDBOX, and SANDBOX selects DM.
So, "SANDBOX_SERIAL depends on DM" is redundant.

Likewise, UNIPHIER_SERIAL depends on ARCH_UNIPHIER, and
ARCH_UNIPHIER selects DM_SERIAL.
So, "UNIPHIER_SERIAL depends on DM_SERIAL" is redundant.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Tom Rini [Wed, 2 Sep 2015 15:30:46 +0000 (11:30 -0400)] 
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

8 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Wed, 2 Sep 2015 14:39:28 +0000 (10:39 -0400)] 
Merge branch 'master' of git://www.denx.de/git/u-boot-imx

8 years agoimx: vf610 add get_cpu_rev
Peng Fan [Tue, 1 Sep 2015 09:15:03 +0000 (17:15 +0800)] 
imx: vf610 add get_cpu_rev

Since we need to support runtime check for different drivers, we need
to add get_cpu_rev for vf610, otherwise there will be build errors.

This patch introduces a dummy CPU id which is not read from chip
silicon. Later when we can get the real id from chip, can fix the
value of MXC_CPU_VF610 then.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Suggested-by: Stefano Babic <sbabic@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>
8 years agomxc: ocotp fix hole in shadow registers
Peng Fan [Wed, 26 Aug 2015 07:40:47 +0000 (15:40 +0800)] 
mxc: ocotp fix hole in shadow registers

There is a hole in shadow registers address map of size 0x100
between bank 5 and bank 6 on iMX6QP, iMX6DQ, iMX6SDL, iMX6SX and iMX6UL.
Bank 5 ends at 0x6F0 and Bank 6 starts at 0x800. When reading the fuses,
we should account for this hole in address space.

Similar hole exists between bank 14 and bank 15 of size
0x80 on iMX6QP, iMX6DQ, iMX6SDL and iMX6SX.
Note: iMX6SL has only 0-7 banks and there is no hole.
Note: iMX6UL doesn't have this one.

When reading, we use register offset, so need to account for holes
to get the correct address.
When writing, we use bank/word index, there is no need to account
for holes, always use bank/word index from fuse map.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoarm: mx6: cm-fx6: switch to usb kbd polling via int queue
Nikita Kiryanov [Sun, 30 Aug 2015 12:36:49 +0000 (15:36 +0300)] 
arm: mx6: cm-fx6: switch to usb kbd polling via int queue

CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE works better than
CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP (keyboards that previously didn't
work such as Microsoft Comfort Curve 1000 now do work, and it's also faster).

Switch to CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
8 years agoarm: mx6: cm-fx6: print PCB revision
Nikita Kiryanov [Sun, 30 Aug 2015 12:36:48 +0000 (15:36 +0300)] 
arm: mx6: cm-fx6: print PCB revision

Print board revision for cm-fx6.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
8 years agoarm: mx6: cm-fx6: force host mode on usb controller
Nikita Kiryanov [Sun, 30 Aug 2015 12:36:47 +0000 (15:36 +0300)] 
arm: mx6: cm-fx6: force host mode on usb controller

On some CM-FX6 modules U-Boot attempts to configure the usb0 controller in
device mode, which renders it unavailable:
USB0:   Port not available.
and also causes usb stop to report an error
EHCI failed to shut down host controller.

This happens mostly on MX6 Dual based modules, and is caused by the USBPHY_CTRL
register reporting USBPHY_CTRL_OTG_ID to be 1, even when it is pulled down.
Since we do not support device mode in cm-fx6 u-boot, force all controllers to
be configured as hosts.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
8 years agoarm, imx6: add aristainetos 2b board version
Heiko Schocher [Mon, 24 Aug 2015 09:36:40 +0000 (11:36 +0200)] 
arm, imx6: add aristainetos 2b board version

there is a 2b board version of the aristainetos2
board. Differences to the v2:

- spi cs for the nor flash and display controller
  changed
- some pinmux changes
- LED gpio settings changed

Signed-off-by: Heiko Schocher <hs@denx.de>
8 years agovideo, lg4573: make spi bus and cs configurable
Heiko Schocher [Mon, 24 Aug 2015 09:36:39 +0000 (11:36 +0200)] 
video, lg4573: make spi bus and cs configurable

make the spi bus and the spi chipselect configurable
for the lg4573 driver. Use it on the aristainetos
boards.

Signed-off-by: Heiko Schocher <hs@denx.de>
Acked-by: Anatolij Gustschin <agust@denx.de>
8 years agoimx: mx6ul_14x14_evk discard MX6UL from CONFIG_SYS_EXTRA_OPTIONS
Peng Fan [Wed, 19 Aug 2015 07:48:59 +0000 (15:48 +0800)] 
imx: mx6ul_14x14_evk discard MX6UL from CONFIG_SYS_EXTRA_OPTIONS

Discard MX6UL from CONFIG_SYS_EXTRA_OPTIONS, since we default
select MX6UL for mx6ul_14x14_evk board.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoimx: mx6ul_14x14_evk select MX6UL
Peng Fan [Wed, 19 Aug 2015 07:48:58 +0000 (15:48 +0800)] 
imx: mx6ul_14x14_evk select MX6UL

There is no need to expose SoC choice to user, we already got
the SoC according to the build target. So default "select MX6UL"
for MX6UL_14x14_EVK target.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoarm: Add SYS_L2CACHE_OFF Kconfig entry
Peng Fan [Wed, 19 Aug 2015 07:48:57 +0000 (15:48 +0800)] 
arm: Add SYS_L2CACHE_OFF Kconfig entry

To i.MX6UL, SYS_L2CACHE_OFF is selected, but there is no Kconfig entry
for SYS_L2CACHE_OFF. Then "select SYS_L2CACHE_OFF" does not effect for
i.MX6UL, which is not expected.

Since SYS_L2CACHE_OFF is mainly used by ARM architecture, add it to
arch/arm/Kconfig.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Tom Rini <trini@konsulko.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx6slevk: add SPL support
Peng Fan [Mon, 17 Aug 2015 08:11:05 +0000 (16:11 +0800)] 
imx: mx6slevk: add SPL support

Add SPL boot support for mx6slevk board.
1. Introduce a configuration file mx6slevk_spl_defconfig.
2. i.MX6SL has same DRAM space with i.MX6SX, need to change SPL DRAM SPACE.
3. Include imx6_spl.h and related SPL macro in mx6slevk.h.
4. select SUPPORT_SPL for TARGET_MX6SLEVK.
5. Add SPL board code to do related initialization.

Boot Log:

U-Boot SPL 2015.07-00544-g1594a76 (Aug 17 2015 - 01:56:59)
reading u-boot.img
reading u-boot.img

U-Boot 2015.07-00544-g1594a76 (Aug 17 2015 - 01:56:59 +0000)

CPU:   Freescale i.MX6SL rev1.2 996 MHz (running at 396 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 50C
Reset cause: POR
Board: MX6SLEVK
I2C:   ready
DRAM:  1 GiB
PMIC:  PFUZE100 ID=0x10
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   FEC [PRIME]
Hit any key to stop autoboot:  0

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoimx: mx6: ddr: add LPDDR2 support
Peng Fan [Mon, 17 Aug 2015 08:11:04 +0000 (16:11 +0800)] 
imx: mx6: ddr: add LPDDR2 support

Add LPDDR2 support:
1. Implement a function mx6_lpddr2_cfg to initialize MMDC for LPDDR2.
2. Introduce a structure mx6_lpddr2_cfg, most entrys are same to
   mx6_ddr3_cfg, but still keep it a single one for easy to choose
   parameters for LPDDR2.
3. If ddr_type is LPDDR2, use mx6_lpddr2_cfg to init MMDC.
4. Update comments.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: mx6: ddr init MMDC according to ddr_type
Peng Fan [Mon, 17 Aug 2015 08:11:03 +0000 (16:11 +0800)] 
imx: mx6: ddr init MMDC according to ddr_type

To i.MX6, DDR3 and LPDDR2 is supported, so rename function mx6_dram_cfg
to mx6_ddr3_cfg and the original mx6_dram_cfg function only is a wrapper.
The new reimplemented function mx6_dram_cfg only invokes mx6_ddr3_cfg
when ddr_type is for DDR3. Later we can use ddr_type to initialize
MMDC for LPDDR2.

Initialize ddr_type for different boards which enable SPL.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Stefan Roese <sr@denx.de>
8 years agoimx: mx6: ddr add an entry ddr_type for mx6_ddr_sysinfo
Peng Fan [Mon, 17 Aug 2015 08:11:02 +0000 (16:11 +0800)] 
imx: mx6: ddr add an entry ddr_type for mx6_ddr_sysinfo

Add ddr_type entry for mx6_ddr_sysinfo. It will be used for
differenrate DDR3 and LPDDR2.

Introduce an enum type for ddr_type.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: mx6: ddr add mpzqlp2ctl entry
Peng Fan [Mon, 17 Aug 2015 08:11:01 +0000 (16:11 +0800)] 
imx: mx6: ddr add mpzqlp2ctl entry

Add mpzqlp2ctl entry for mx6_mmdc_calibration.
MMDC_MPZQLP2CTL register is for init tZQINIT, tZQCL, tZQCS for LPDDR2 chips.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: mx6: ddr add dram io configuration and header file for i.MX6SL
Peng Fan [Mon, 17 Aug 2015 08:11:00 +0000 (16:11 +0800)] 
imx: mx6: ddr add dram io configuration and header file for i.MX6SL

Define two structure mx6sl_iomux_ddr_regs and mx6sl_iomux_grp_regs.
Add a new function mx6sl_dram_iocfg to configure dram io.
Add header file to define macros for register address.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx6: ddr correct tRFC and tXS
Peng Fan [Mon, 17 Aug 2015 08:10:59 +0000 (16:10 +0800)] 
imx: mx6: ddr correct tRFC and tXS

To Chip density 4Gb, tRFC should be 300ns, see
"Table 61 — Refresh parameters by device density" of JESD79-3E.
tXS(min) is max(5nCK, tRFC(min) + 10ns).

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx6: ddr no support MMDC1 for i.MX6SL
Peng Fan [Mon, 17 Aug 2015 08:10:58 +0000 (16:10 +0800)] 
imx: mx6: ddr no support MMDC1 for i.MX6SL

i.MX 6SoloLite only supports MMDC0, so do not access MMDC1 for i.MX 6SL.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx6: ddr add more register entry for mmdc_p_regs
Peng Fan [Mon, 17 Aug 2015 08:10:57 +0000 (16:10 +0800)] 
imx: mx6: ddr add more register entry for mmdc_p_regs

Add more register entry for MMDC structure.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agotbs2910: remove SYS_SOC from board specific Kconfig
Soeren Moch [Thu, 13 Aug 2015 19:08:47 +0000 (21:08 +0200)] 
tbs2910: remove SYS_SOC from board specific Kconfig

SYS_SOC is already defined in arch/arm/cpu/armv7/mx6/Kconfig, no need to
define it again

Signed-off-by: Soeren Moch <smoch@web.de>
8 years agotbs2910: remove deprecated CONFIG_SYS_EXTRA_OPTIONS
Soeren Moch [Thu, 13 Aug 2015 19:08:46 +0000 (21:08 +0200)] 
tbs2910: remove deprecated CONFIG_SYS_EXTRA_OPTIONS

move options from CONFIG_SYS_EXTRA_OPTIONS to board specific Kconfig

Signed-off-by: Soeren Moch <smoch@web.de>
8 years agotbs2910: use full name in Kconfig board selection
Soeren Moch [Thu, 13 Aug 2015 19:08:45 +0000 (21:08 +0200)] 
tbs2910: use full name in Kconfig board selection

Signed-off-by: Soeren Moch <smoch@web.de>
8 years agoimx: fec: add MAC reading from eFuses to README
Olaf Mandel [Thu, 28 May 2015 12:59:18 +0000 (14:59 +0200)] 
imx: fec: add MAC reading from eFuses to README

Extend the documentation of the fec_mxc configuration by describing its
ability to read the ethaddr MAC address from the SoC eFuses.

Also add an example how to program the fuses for an imx5 to clarify the
byte order.

Cc: Stefano Babic <sbabic at denx.de>
Cc: Marek Vasut <marex at denx.de>
Signed-off-by: Olaf Mandel <o.mandel at menlosystems.com>
8 years agoarm, imx6: aristainetos board updates
Heiko Schocher [Tue, 11 Aug 2015 06:09:44 +0000 (08:09 +0200)] 
arm, imx6: aristainetos board updates

some small updates for the aristainetos boards:
- fix display timings for the aristainetos board
- fix pinmux for the aristainetos board
- fix pinmux for the aristainetos2 board
- fix default environment

Signed-off-by: Heiko Schocher <hs@denx.de>
8 years agoimx: mx6sxsabresd: enable CONFIG_SPL_FAT_SUPPORT
Peng Fan [Mon, 17 Aug 2015 08:12:45 +0000 (16:12 +0800)] 
imx: mx6sxsabresd: enable CONFIG_SPL_FAT_SUPPORT

Enable CONFIG_SPL_FAT_SUPPORT to load u-boot.img from FAT partition.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx6ul_14x14_evk add ENET support
Peng Fan [Wed, 12 Aug 2015 09:46:52 +0000 (17:46 +0800)] 
imx: mx6ul_14x14_evk add ENET support

Add enet support for mx6ul_14x14_evk board:
1. add pinmux settings
2. implement board_eth_init
3. implement board_phy_config

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoimx: ocotp: mxc add i.MX7D support
Adrian Alonso [Tue, 11 Aug 2015 16:19:52 +0000 (11:19 -0500)] 
imx: ocotp: mxc add i.MX7D support

* Ocotp of i.MX7D has different operation rule.
  This patch is to add support for i.MX7D ocotp.

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
8 years agoimx: mxc_gpio: add support for imx7d SoC
Adrian Alonso [Tue, 11 Aug 2015 16:19:51 +0000 (11:19 -0500)] 
imx: mxc_gpio: add support for imx7d SoC

* Add mxc_gpio support for imx7d SoC
* Use CONFIG_MX7 to extend mxc gpio driver support for imx7d

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
8 years agoimx: iomux-v3: add imx7d support for iomuxc
Adrian Alonso [Tue, 11 Aug 2015 16:19:50 +0000 (11:19 -0500)] 
imx: iomux-v3: add imx7d support for iomuxc

* Add imx7d support for iomux controller
* imx7d has two iomux controllers iomuxc (0x3033000) and iomuxc-lpsr
  (0x302C0000) each conroller provides control and mux mode pad
  registers but shares iomuxc input select register with iomuxc-lpsr
  IOMUX_CONFIG_LPSR flag is used to properly set daisy chain settings
  for iomuxc-lpsr pads.
* Since mx7d introduces LPSR IOMUX pins, add new base to IOMUX v3
  driver for these LPSR pins.

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
8 years agopower: pmic: add pfuze3000 support
Adrian Alonso [Tue, 11 Aug 2015 16:19:49 +0000 (11:19 -0500)] 
power: pmic: add pfuze3000 support

* Add pmic pfuze3000 support, implement power_pfuze3000_init to be
  used in power_init_board callback function.

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
8 years agonet: fec: do not access reserved register for i.MX6UL
Peng Fan [Wed, 12 Aug 2015 09:46:51 +0000 (17:46 +0800)] 
net: fec: do not access reserved register for i.MX6UL

The MIB RAM and FIFO receive start register does not exist on
i.MX6UL. Accessing these register will cause enet not work well.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoimx: clock support enet2 anatop clock support
Peng Fan [Wed, 12 Aug 2015 09:46:50 +0000 (17:46 +0800)] 
imx: clock support enet2 anatop clock support

To i.MX6SX/UL, two ethernet interfaces are supported.
Add ENET2 clock support:
1. Introduce a new input parameter "fec_id", only 0 and 1 are allowed.
   To value 1, only i.MX6SX/UL can pass the check.
2. Modify board code who use this api to follow new api prototype.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Nikolaos Pasaloukos <Nikolaos.Pasaloukos@imgtec.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
8 years agoimx-common: consolidate macros and prototypes into sys_proto.h
Peng Fan [Thu, 13 Aug 2015 02:55:34 +0000 (10:55 +0800)] 
imx-common: consolidate macros and prototypes into sys_proto.h

Move most macro definitions and prototypes into
"arch/arm/include/asm/imx-common/sys_proto.h" to avoid duplicated
function prototypes and marco definitions for different i.MX SoCs.

This patch do not remove the sys_proto.h for different i.MX SoCs,
because we need to modify lots of driver code and others. This patch
remove duplicated macros and prototypes and incude "sys_proto.h"
of imx-common for each sys_proto.h of different i.MX platforms.
Then later we should avoid add stuff in sys_proto.h of each platform,
and modify driver to include common sys_proto.h.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mxs: reimplement get_cpu_rev
Peng Fan [Thu, 13 Aug 2015 02:55:33 +0000 (10:55 +0800)] 
imx: mxs: reimplement get_cpu_rev

Rewrite get_cpu_rev, from "static const char *get_cpu_rev(void)" to
"u32 get_cpu_rev(void)". To align with get_cpu_rev of other i.MXes.

Also write get_imx_type to replace get_cpu_type, since we have
macro named get_cpu_type.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx31 use new formula for get_cpu_rev
Peng Fan [Thu, 13 Aug 2015 02:55:32 +0000 (10:55 +0800)] 
imx: mx31 use new formula for get_cpu_rev

Use new formula for get_cpu_rev, since we need to use this formula
to do runtime check for all i.MXes.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx27 implement get_cpu_rev
Peng Fan [Thu, 13 Aug 2015 02:55:31 +0000 (10:55 +0800)] 
imx: mx27 implement get_cpu_rev

Implement get_cpu_rev to support runtime check using is_cpu_type.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: add cpu type for i.MX2 and i.MX3
Peng Fan [Thu, 13 Aug 2015 02:55:30 +0000 (10:55 +0800)] 
imx: add cpu type for i.MX2 and i.MX3

Add cpu types for i.MX2/3.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx6 move TARGET_xx Kconfig option to mx6 specific Kconfig file
Peng Fan [Fri, 7 Aug 2015 12:35:24 +0000 (20:35 +0800)] 
imx: mx6 move TARGET_xx Kconfig option to mx6 specific Kconfig file

Move TARGET_xx Kconfig option based on mx6 to arch/arm/cpu/armv7/mx6/Kconfig.
Add enable "CONFIG_ARCH_MX6" for boards based on mx6.
Then we can choose target boards using "make ARCH=arm menuconfig"
with ARCH_MX6 defined.

If using original way, we have no chance to enable ARCH_MX6 when
"make menuconfig". Even define CONFIG_ARCH_MX6=y in xx_defconfig,
kconfig will complains "arch/../configs/platinum_titanium_defconfig:3:
warning: override: TARGET_PLATINUM_TITANIUM changes choice state"

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Eric Bénard <eric@eukrea.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Eric Nelson <eric.nelson@boundarydevices.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Soeren Moch <smoch@web.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Stefano Babic <sbabic@denx.de>
Acked-by: Soeren Moch <smoch@web.de>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com>
8 years agomxs_ocotp: Shift the HBUS divider correctly
Chris Smith [Sun, 12 Jul 2015 13:00:11 +0000 (15:00 +0200)] 
mxs_ocotp: Shift the HBUS divider correctly

When the original HBUS divider value is retrieved in mxs_ocotp_scale_hclk()
for the purpose or restoring it back later, the value is not shifted by the
HBUS divider offset in that register. This is not a problem, since the shift
is zero on all MXS hardware. Add the shift anyway, for completeness and in
case FSL ever decides to re-use this driver on future designs.

Signed-off-by: Chris Smith <chris@zxdesign.info>
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoARM: ts4800: add ethernet support
Damien Riegel [Tue, 30 Jun 2015 21:17:48 +0000 (17:17 -0400)] 
ARM: ts4800: add ethernet support

This commit adds ethernet support to the TS4800. Note that the
MAC address is not fused on this board and have to be read from
FEC PALR PAUR registers (this is how the kernel provided by
Technologic Systems does it).

signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoARM: ts4800: add basic board support
Lucile Quirion [Tue, 30 Jun 2015 21:17:47 +0000 (17:17 -0400)] 
ARM: ts4800: add basic board support

This commit adds basic support including:
MMC, Serial console, TS4800 watchdog

The config use CONFIG_SKIP_LOWLEVEL_INIT as U-boot is used as a second
stage bootloader.

Signed-off-by: Lucile Quirion <lucile.quirion@savoirfairelinux.com>
signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agonitrogen6x: change maintainer
Eric Nelson [Tue, 30 Jun 2015 14:48:47 +0000 (07:48 -0700)] 
nitrogen6x: change maintainer

Troy Kisky will be maintaining the Nitrogen6x board going forward.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Acked-by: Troy Kisky <troy.kisky@boundarydevices.com>
8 years agocgtqmx6eval: Add Ethernet support
Otavio Salvador [Tue, 28 Jul 2015 23:24:41 +0000 (20:24 -0300)] 
cgtqmx6eval: Add Ethernet support

cgtqmx6eval can be populated with a AR8035 or KSZ9031 depending on the
board revision.

Add Ethernet support.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
8 years agoarm: mxs: Fix mkimage invocation
Marek Vasut [Tue, 11 Aug 2015 01:08:07 +0000 (03:08 +0200)] 
arm: mxs: Fix mkimage invocation

Remove this ad-hoc mkimage invocation in MXS Makefile and replace
it with the standard mkimage rule instead.

This patch fixes recent build issues introduced by the patch
92a655c mkimage: Set up a file size parameter and keep it updated
These build issues could be triggered by building for example the
MX28EVK and the u-boot.sb image:

$ make mx28evk_defconfig
$ make V=1 u-boot.sb
[...]
make -f ./scripts/Makefile.build obj=arch/arm/cpu/arm926ejs/mxs u-boot.sb
  ./tools/mkimage -n arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg -T mxsimage u-boot.sb
./tools/mkimage: Can't open (null): Bad address
arch/arm/cpu/arm926ejs/mxs/Makefile:82: recipe for target 'u-boot.sb' failed
make[1]: *** [u-boot.sb] Error 1
Makefile:989: recipe for target 'u-boot.sb' failed
make: *** [u-boot.sb] Error 2

With this patch:
  ./tools/mkimage -n arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg -T mxsimage -d arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg u-boot.sb

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Juha Lumme <juha.lumme@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agotools: mxsboot: calculate ECC block level dynamically
Jörg Krause [Tue, 11 Aug 2015 11:44:26 +0000 (13:44 +0200)] 
tools: mxsboot: calculate ECC block level dynamically

For pages of 2048 bytes the current setting of the ECC Error Correction Level
is only true for an oob size of 64 bytes and wrong for all others.

Instead of hard-coding every possible combination of page size and oob size use
the dynamic calculation of the ECC strength introduced in commit
6121560d7714d6d8e41ce1687a1388a1a8fea4cb.

Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Acked-by: Marek Vasut <marex@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx6ul_14x14_evk discard redefined CONFIG_MX6
Peng Fan [Thu, 6 Aug 2015 05:42:40 +0000 (13:42 +0800)] 
imx: mx6ul_14x14_evk discard redefined CONFIG_MX6

Discard CONFIG_MX6 in mx6ul_14x14_evk.h, since it is already defined
in mx6_common.h.

Tested on mx6ul_14x14_evk board.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoarm: mx6: Remove SPI support from WRU-IV baseboard
Stefan Roese [Wed, 5 Aug 2015 08:50:50 +0000 (10:50 +0200)] 
arm: mx6: Remove SPI support from WRU-IV baseboard

This patch removes the SPI support from the WRU-IV baseboard as its
not used at all.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Clemens Gruber <clemens.gruber@pqgruber.com>
Cc: Markus Niebel <Markus.Niebel@tq-group.com>
Cc: Stefano Babic <sbabic@denx.de>
Tested-by: Clemens Gruber <clemens.gruber@pqgruber.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agoudoo: Remove SPL fat support
vpeter4 [Wed, 5 Aug 2015 10:37:08 +0000 (12:37 +0200)] 
udoo: Remove SPL fat support

Use dd'ed SPL and u-boot.img by default.

Signed-off-by: Peter Vicman <peter.vicman@gmail.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Acked-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoudoo: Switch to SPL support
vpeter4 [Mon, 3 Aug 2015 10:49:05 +0000 (12:49 +0200)] 
udoo: Switch to SPL support

Currently we need to build one U-boot image for each of the udoo
variants: quad and dual-lite.

By switching to SPL we can support all two variants with a single binary.

Based on the SPL for wandboard.

Tested with OpenELEC (Open Embedded Linux Entertainment Center)
on both boards.

Signed-off-by: Peter Vicman <peter.vicman@gmail.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Peter Vicman <peter.vicman@gmail.com>
Acked-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agotools/imximage: set DCD pointer to NULL when its length is 0
Baruch Siach [Thu, 9 Jul 2015 15:19:11 +0000 (18:19 +0300)] 
tools/imximage: set DCD pointer to NULL when its length is 0

When dcd_len is 0 the Write Data command that the set_dcd_rst_v2() routine
generates is empty. This causes HAB to complain that the command is invalid.

--------- HAB Event 1 -----------------
event data:
0xdb 0x00 0x0c 0x41 0x33 0x06 0xc0 0x00
0xcc 0x00 0x04 0x04

To fix this set the DCD pointer in the IVT to NULL in this case. The DCD header
itself is still needed for detect_imximage_version() to determine the image
version.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Stefano Babic <sbabic@denx.de>
8 years agopci/layerscape: Setup mmu-masters property for the PCIe
Varun Sethi [Tue, 28 Jul 2015 18:33:47 +0000 (00:03 +0530)] 
pci/layerscape: Setup mmu-masters property for the PCIe

Setup mmu-masters property for the PCIe controllers. This would be
used by the Linux SMMU driver, while setting up stream ID table mappings
for the PCIe devices.

Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8: fsl-lsch3: Rewrite MMU translation table entries
Alison Wang [Tue, 18 Aug 2015 03:22:05 +0000 (11:22 +0800)] 
armv8: fsl-lsch3: Rewrite MMU translation table entries

This patch rewrites MMU translation table entries. To start, all table
entries are written as "invalid", then "device-ngnrnr" and "normal" are
written to the entries to enable access to specific addresses.

Signed-off-by: Alison Wang <alison.wang@freescale.com>
Signed-off-by: York Sun <yorksun@freescale.com>
8 years agoarm/ls102xa:add hwconfig setting to support disable unused devices
Zhuoyu Zhang [Mon, 17 Aug 2015 10:55:12 +0000 (18:55 +0800)] 
arm/ls102xa:add hwconfig setting to support disable unused devices

DEVDISRn registers provides a mechanism for gating clocks of IP blocks
that are not used. Here we implement hwconfig option to allow users
to disable unused peripherals on the board.

For ex. If eSDHC/qDMA/eDMA are unused and with disabled status in dts,
User can enable CONFIG_FSL_DEVICE_DISABLE and set "devdis:esdhc,qdma,edma"
in hwconfig, thus ESDHC controller & eDMA/qDMA will be clock gated to
save more power.

Signed-off-by: Zhuoyu Zhang <Zhuoyu.Zhang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8/ls2085a_emu: Drop DDR3 emulation target
York Sun [Thu, 13 Aug 2015 17:22:09 +0000 (10:22 -0700)] 
armv8/ls2085a_emu: Drop DDR3 emulation target

The emulator with DDR3 model was used during model bringup. DDR4
controllers are used with ls2085a. Drop the DDR4 target defconfig
and enable DDR4 in ls2085a_emu_defconfig.

Signed-off-by: York Sun <yorksun@freescale.com>
8 years agols102xa: etsec: Use proper settings for BE BDs
Claudiu Manoil [Wed, 12 Aug 2015 10:29:14 +0000 (13:29 +0300)] 
ls102xa: etsec: Use proper settings for BE BDs

Replace the DMACTRL[LE] hack with recommended settings
for ETSECDMAMCR to get the same end effect - obtaining
big-endian buffer descriptors and frame data for eTSEC.
The reset / default value for ETSECDMAMCR is preserved,
excepting the BD and FR bits which are cleared to enable
the BE mode in accordance with the H/W specifications.

Fixes: 52d00a8 "ls102xa: etsec: Add etsec support for LS102xA"
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Acked-by: Alison Wang <alison.wang@freescale.com>
Tested-by: Alison Wang <alison.wang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agodriver: misc: debug server: Update Error message
Prabhakar Kushwaha [Mon, 10 Aug 2015 14:33:03 +0000 (20:03 +0530)] 
driver: misc: debug server: Update Error message

Append "debug server FW" in error message to make more informative.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8: ls2085qds: Add support of X-QSGMII-16PORT riser card
Prabhakar Kushwaha [Fri, 7 Aug 2015 12:31:51 +0000 (18:01 +0530)] 
armv8: ls2085qds: Add support of X-QSGMII-16PORT riser card

The X-QSGMII-16PORT is a 4xQSGMII/8xSGMII riser card with eighth SerDes
interfaces implemented in PCIe form factor board.
It supports followings
 - Card can operate with up to 4 QSGMII lane simultaneously
 - Card can operate with up to 8 SGMII lane simultaneously

Add support of X-QSGMII-16PORT riser card.
This patch also take care of back-ward compatiblity with old SGMII rise cards
used on LS2085QDS Platform.

Signed-off-by: King Chung Lo@freescale.com <KingChungLo@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agonet: phy/vitesse: Add support for VSC8584 phy
Prabhakar Kushwaha [Fri, 7 Aug 2015 12:31:39 +0000 (18:01 +0530)] 
net: phy/vitesse: Add support for VSC8584 phy

Add support of VSC8584 phy placed on new QSGMII/SGMII ethernet riser cards
used on LS2085QDS platforms.

Signed-off-by: King Chung Lo@freescale.com <KingChungLo@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8: fsl-lsch3: Initiaze 4 MACs per QSGMII in dpmac_info
Prabhakar Kushwaha [Fri, 7 Aug 2015 12:31:26 +0000 (18:01 +0530)] 
armv8: fsl-lsch3: Initiaze 4 MACs per QSGMII in dpmac_info

Every QSGMII SerDes Protocol usage 4 MACs.

So add/repeat QSGMII information for 4 MACs in dpmac_info strucuture.

Signed-off-by: King Chung Lo@freescale.com <KingChungLo@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8: ls2085a: Update serdes1_cfg_tbl for 0x33 & 0x35 protocol
Prabhakar Kushwaha [Fri, 7 Aug 2015 12:31:10 +0000 (18:01 +0530)] 
armv8: ls2085a: Update serdes1_cfg_tbl for 0x33 & 0x35 protocol

Update 0x33 and 0x35 serdes protocol as per updated SoC document
in array serdes1_cfg_tbl.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8: ls2085a: Add support of CONFIG_CMD_GREPENV
Prabhakar Kushwaha [Fri, 7 Aug 2015 04:54:30 +0000 (10:24 +0530)] 
armv8: ls2085a: Add support of CONFIG_CMD_GREPENV

Enable CONFIG_CMD_GREPENV to allow search in env variables

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8: ls2085a: Update bootargs as per default target console
Prabhakar Kushwaha [Sun, 2 Aug 2015 03:41:44 +0000 (09:11 +0530)] 
armv8: ls2085a: Update bootargs as per default target console

LS2085 targets supports following UART console
 LS2085AQDS UART0
 LS2085ARDB UART1
 LS2085ASim UART0
 LS2085AEmu UART0

So update the bootargs as per the default console present at the target

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoSECURE_BOOT: Disable IE Key feature for RAMBOOT
Aneesh Bansal [Fri, 31 Jul 2015 08:40:03 +0000 (14:10 +0530)] 
SECURE_BOOT: Disable IE Key feature for RAMBOOT

ISBC Key Extension feature is not applicable for RAMBOOT
as there is no way to retrieve the CSF Header and validated
IE Key table from SRAM once CPC has been disabled.
The feature is only applicable in case of NOR SECURE BOOT.
Code Cleanup:
The SECURE_BOOT specific defines have been moved from
arch-ls102xa/config.h to
arm/include/asm/fsl_secure_boot.h

Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8/ls2085a_simu: enable eSDHC
Yangbo Lu [Fri, 24 Jul 2015 09:37:29 +0000 (17:37 +0800)] 
armv8/ls2085a_simu: enable eSDHC

Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8: Add framework for CCN-504 interconnect configuration
Bhupesh Sharma [Wed, 1 Jul 2015 04:28:03 +0000 (09:58 +0530)] 
armv8: Add framework for CCN-504 interconnect configuration

This patch adds a minimal framework for Dickens CCN-504
interconnect configuration - mainly related to adding Clusters/cores
to snoop/DVM domain and setting QoS of the RN-I ports.

LS2085A platform makes use of these configurations to support
better network data performance and to boot a SMP Linux.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agoarmv8/ls2085aqds: enable 32KHz rtc output
Priyanka Jain [Mon, 29 Jun 2015 10:09:40 +0000 (15:39 +0530)] 
armv8/ls2085aqds: enable 32KHz rtc output

Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agortc:ds3232/ds3231: Add support to generate 32KHz output
Priyanka Jain [Mon, 29 Jun 2015 10:09:23 +0000 (15:39 +0530)] 
rtc:ds3232/ds3231: Add support to generate 32KHz output

RTC devices can generate 32KHz output if for
-DS3232 device, EN32KHz bit and BB32KHz bit are set
-DS3231 device, EN32KHz bit is set, BB32KHz bit is don't care

Patch adds rtc_enable_32khz_output() which when called
will enable 32KHz output on 32KHz pin

Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agopowerpc/t1023rdb: change default core frequency to 1200MHz
Shengzhou Liu [Fri, 21 Aug 2015 07:19:36 +0000 (15:19 +0800)] 
powerpc/t1023rdb: change default core frequency to 1200MHz

Per new requirement, change default core frequency
from previous 1400MHz to 1200MHz to save power.

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agopowerpc: convert selected boards to generic board structure
York Sun [Tue, 18 Aug 2015 19:35:52 +0000 (12:35 -0700)] 
powerpc: convert selected boards to generic board structure

Convert MPC8540ADS, MPC8541CDS, MPC8544CDS, MPC8548CDS, MPC8555CDS,
MPC8560ADS, MPC8568MDS, MPC8569MDS, MPC8610HPCD to use generic board
structure.

Signed-off-by: York Sun <yorksun@freescale.com>
8 years agonet/fman: Support both new and legacy FMan Compatibles
Igal Liberman [Tue, 18 Aug 2015 11:47:05 +0000 (14:47 +0300)] 
net/fman: Support both new and legacy FMan Compatibles

Recently  the FMan Port and MAC compatibles were changed.
This patch aligns the FMan Port and MAC compatibles
to the new FMan device tree binding document.
The FMan device tree binding document can be found in the Linux kernel:
./Documentation/devicetree/bindings/powerpc/fsl/fman.txt

This patch doesn't affect legacy compatibles support.

Signed-off-by: Igal Liberman <igal.liberman@freescale.com>
Tested-by: Xing Lei <xing.lei@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
8 years agopowerpc: e6500: Lock/unlock L2 cache instead of L1 as init_ram
York Sun [Mon, 17 Aug 2015 20:31:52 +0000 (13:31 -0700)] 
powerpc: e6500: Lock/unlock L2 cache instead of L1 as init_ram

MPC85xx has been using locked L1 cache as init_ram. L1 cache is a write
through cache on E6500. L2 cache is enabled to to hold the data. This
patch locks/unlocks L2 cache to ensure no data cast out from L2 cache.

Signed-off-by: York Sun <yorksun@freescale.com>
Reported-by: Jeffery Zhu <Jefferry.Zhu@freescale.com>
8 years agopowerpc: configs: Fix init_ram physical address for several boards
York Sun [Mon, 17 Aug 2015 20:31:51 +0000 (13:31 -0700)] 
powerpc: configs: Fix init_ram physical address for several boards

For e6500 and e5500 SoCs, it was intended to put init_ram address in
ccsr reserved space. It is no longer true since SerDes module took the
space. Move it to another reserved space at CCSR + 0x03c000.

Signed-off-by: York Sun <yorksun@freescale.com>
8 years agopowerpc/defconfig: Rename defconfig file for T1040QDS/T1024QDS DDR4 targets
York Sun [Thu, 13 Aug 2015 17:22:10 +0000 (10:22 -0700)] 
powerpc/defconfig: Rename defconfig file for T1040QDS/T1024QDS DDR4 targets

Previously the DDR4 targets were named with _D4. Rename them with
_DDR4 for easy identification.

Signed-off-by: York Sun <yorksun@freescale.com>
8 years agopowerpc/t1024qds: Add missing T1024QDS_DDR4_defconfig
York Sun [Fri, 7 Aug 2015 15:41:40 +0000 (08:41 -0700)] 
powerpc/t1024qds: Add missing T1024QDS_DDR4_defconfig

T1024QDS with DDR4 has been supported. Add the missing defconfig.

Signed-off-by: York Sun <yorksun@freescale.com>
CC: Shengzhou Liu <Shengzhou.Liu@freescale.com>
8 years agoMerge branch 'master' of http://git.denx.de/u-boot-sunxi
Tom Rini [Mon, 31 Aug 2015 16:12:27 +0000 (12:12 -0400)] 
Merge branch 'master' of http://git.denx.de/u-boot-sunxi

8 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Mon, 31 Aug 2015 15:43:47 +0000 (11:43 -0400)] 
Merge git://git.denx.de/u-boot-dm

8 years agosunxi: increase SYS_MONITOR_LEN
Boris Brezillon [Mon, 27 Jul 2015 14:21:26 +0000 (16:21 +0200)] 
sunxi: increase SYS_MONITOR_LEN

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agodts: fix dependency of OF_SPL_REMOVE_PROPS
Masahiro Yamada [Fri, 28 Aug 2015 11:28:42 +0000 (20:28 +0900)] 
dts: fix dependency of OF_SPL_REMOVE_PROPS

This should depend on SPL_OF_CONTROL (it is not equivalent to
SPL && OF_CONTROL).

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agopinctrl: sandbox: add sandbox pinctrl driver
Masahiro Yamada [Thu, 27 Aug 2015 03:44:30 +0000 (12:44 +0900)] 
pinctrl: sandbox: add sandbox pinctrl driver

This driver actually does nothing but test pinctrl uclass, and
demonstrate how things work.

To try this driver, uncomment /* #define DEBUG */ in the
drivers/pinctrl/pinctrl-sandbox.c, and debug messages will be
displayed.

  DRAM:  128 MiB
  sandbox pinmux: group = 1 (serial_a), function = 1 (serial)
  Using default environment

  In:    cros-ec-keyb
  Out:   lcd
  Err:   lcd
  Net:   Net Initialization Skipped
  eth0: eth@10002000, eth1: eth@80000000, eth5: eth@90000000
  => i2c dev 0
  Setting bus to 0
  sandbox pinmux: group = 0 (i2c), function = 0 (i2c)
  sandbox pinconf: group = 0 (i2c), param = 3, arg = 1

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agopinctrl: add pin control uclass support
Masahiro Yamada [Thu, 27 Aug 2015 03:44:29 +0000 (12:44 +0900)] 
pinctrl: add pin control uclass support

This creates a new framework for handling of pin control devices,
i.e. devices that control different aspects of package pins.

This uclass handles pinmuxing and pin configuration; pinmuxing
controls switching among silicon blocks that share certain physical
pins, pin configuration handles electronic properties such as pin-
biasing, load capacitance etc.

This framework can support the same device tree bindings, but if you
do not need full interface support, you can disable some features to
reduce memory foot print.  Typically around 1.5KB is necessary to
include full-featured uclass support on ARM board (CONFIG_PINCTRL +
CONFIG_PINCTRL_FULL + CONFIG_PINCTRL_GENERIC + CONFIG_PINCTRL_PINMUX),
for example.

We are often limited on code size for SPL.  Besides, we still have
many boards that do not support device tree configuration.  The full
pinctrl, which requires OF_CONTROL, does not make sense for those
boards.  So, this framework also has a Do-It-Yourself (let's say
simple pinctrl) interface.  With CONFIG_PINCTRL_FULL disabled, the
uclass itself provides no systematic mechanism for identifying the
peripheral device, applying pinctrl settings, etc.  They must be
done in each low-level driver.  In return, you can save much memory
footprint and it might be useful especially for SPL.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agodm: core: allow device_bind() to not return a device pointer
Masahiro Yamada [Thu, 27 Aug 2015 03:44:28 +0000 (12:44 +0900)] 
dm: core: allow device_bind() to not return a device pointer

This is useful when we want to bind a device, but do not need the
pointer to the device.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agotegra: nyan: Enable TPM command and driver
Simon Glass [Sun, 23 Aug 2015 00:31:44 +0000 (18:31 -0600)] 
tegra: nyan: Enable TPM command and driver

The TPM is listed in the device tree. Enable the driver and 'tpm' command
so that it can be used.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard <christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agotpm: Enable 'tpmtest' command for Chrome OS boards with TPMs
Simon Glass [Sun, 23 Aug 2015 00:31:43 +0000 (18:31 -0600)] 
tpm: Enable 'tpmtest' command for Chrome OS boards with TPMs

This command provides a few useful tests so enable it for common boards.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard<christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agodm: tpm: Add a 'tpmtest' command
Simon Glass [Sun, 23 Aug 2015 00:31:42 +0000 (18:31 -0600)] 
dm: tpm: Add a 'tpmtest' command

These tests come from Chrome OS code. They are not particularly tidy but can
be useful for checking that the TPM is behaving correctly. Some knowledge of
TPM operation is required to use these.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard<christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agotpm: Add functions to access flags and permissions
Simon Glass [Sun, 23 Aug 2015 00:31:41 +0000 (18:31 -0600)] 
tpm: Add functions to access flags and permissions

Add a few new functions which will be used by the test command in a future
patch.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard<christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agotpm: Add a 'tpm info' command
Simon Glass [Sun, 23 Aug 2015 00:31:40 +0000 (18:31 -0600)] 
tpm: Add a 'tpm info' command

Add a command to display basic information about a TPM such as the model and
open/close state. This can be useful for debugging.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard <christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agodm: tpm: Convert LPC driver to driver model
Simon Glass [Sun, 23 Aug 2015 00:31:39 +0000 (18:31 -0600)] 
dm: tpm: Convert LPC driver to driver model

Convert the tpm_tis_lpc driver to use driver model and update boards which
use it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard<christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agodm: tpm: Convert I2C driver to driver model
Simon Glass [Sun, 23 Aug 2015 00:31:38 +0000 (18:31 -0600)] 
dm: tpm: Convert I2C driver to driver model

Convert the tpm_tis_i2c driver to use driver model and update boards which
use it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard<christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agoexynos: x86: dts: Add tpm nodes to the device tree for Chrome OS devices
Simon Glass [Sun, 23 Aug 2015 00:31:37 +0000 (18:31 -0600)] 
exynos: x86: dts: Add tpm nodes to the device tree for Chrome OS devices

Add a TPM node to the various Chromebooks so that driver can be converted to
driver model.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard<christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agotpm: Check that parse_byte_string() has data to parse
Simon Glass [Sun, 23 Aug 2015 00:31:36 +0000 (18:31 -0600)] 
tpm: Check that parse_byte_string() has data to parse

Rather then crashing when there is no data, print an error. The error is
printed by the caller to parse_byte_string().

Acked-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agodm: tpm: sandbox: Convert TPM driver to driver model
Simon Glass [Sun, 23 Aug 2015 00:31:35 +0000 (18:31 -0600)] 
dm: tpm: sandbox: Convert TPM driver to driver model

Convert the sandbox TPM driver to use driver model. Add it to the device
tree so that it can be found on start-up.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard <christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agotpm: Report tpm errors on the command line
Simon Glass [Sun, 23 Aug 2015 00:31:34 +0000 (18:31 -0600)] 
tpm: Report tpm errors on the command line

When a 'tpm' command fails, we set the return code but give no indication
of failure. This can be confusing.

Add an error message when any tpm command fails.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard<christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agodm: i2c: Add a command to adjust the offset length
Simon Glass [Sun, 23 Aug 2015 00:31:33 +0000 (18:31 -0600)] 
dm: i2c: Add a command to adjust the offset length

I2C chips can support a register offset, with registers accessible by
sending this offset as the first part of any read or write transaction.
Most I2C chips have a single byte offset, thus the offset length is 1.
This provides access for up 256 registers.

However other offset lengths are supported, including 0.

Add a command to provide access to the offset length from the command
line. This allows the offset length to be read or written.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard<christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agodm: tpm: Convert the TPM command and library to driver model
Simon Glass [Sun, 23 Aug 2015 00:31:32 +0000 (18:31 -0600)] 
dm: tpm: Convert the TPM command and library to driver model

Add driver model support to the TPM command and the TPM library. Both
support only a single TPM at present.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard<christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
8 years agodm: tpm: Add a uclass for Trusted Platform Modules
Simon Glass [Sun, 23 Aug 2015 00:31:31 +0000 (18:31 -0600)] 
dm: tpm: Add a uclass for Trusted Platform Modules

Add a new uclass for TPMs which uses almost the same TIS (TPM Interface
Specification) as is currently implemented. Since init() is handled by the
normal driver model probe() method, we don't need to implement that. Also
rename the transfer method to xfer() which is a less clumbsy name.

Once all drivers and users are converted to driver model we can remove the
old code.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Christophe Ricard<christophe-h.ricard@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>