]> code.ossystems Code Review - bsp/u-boot.git/log
bsp/u-boot.git
12 years agopowerpc/mpc85xx: Add property 'fsl, sec-era' in device tree node 'crypto'
Vakul Garg [Wed, 23 Jan 2013 22:52:31 +0000 (22:52 +0000)]
powerpc/mpc85xx: Add property 'fsl, sec-era' in device tree node 'crypto'

If property 'fsl,sec-era' is already present, it is updated.
This property is required so that applications can ascertain which
descriptor commands are supported on a particular CAAM version.

Signed-off-by: Vakul Garg <vakul@freescale.com>
Cc: Andy Fleming <afleming@gmail.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agompc8xxx: fix DDR init value to use CONFIG_MEM_INIT_VALUE
Anatolij Gustschin [Mon, 21 Jan 2013 23:50:27 +0000 (23:50 +0000)]
mpc8xxx: fix DDR init value to use CONFIG_MEM_INIT_VALUE

Configuring custom memory init value using CONFIG_MEM_INIT_VALUE in
the board config file doesn't work and memory is always initialized
to the value 0xdeadbeef. Only use this default value if a board doesn't
define CONFIG_MEM_INIT_VALUE.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Andy Fleming <afleming@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/mpc85xx: add support for MMUv2 page sizes
Scott Wood [Fri, 18 Jan 2013 15:45:58 +0000 (15:45 +0000)]
powerpc/mpc85xx: add support for MMUv2 page sizes

e6500 implements MMUv2 and supports power-of-2 page sizes rather than
power-of-4.  Add support for such pages.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/85xx: Add BSC9132QDS support
Prabhakar Kushwaha [Mon, 14 Jan 2013 18:26:57 +0000 (18:26 +0000)]
powerpc/85xx: Add BSC9132QDS support

BSC9132QDS is a Freescale reference design board for BSC9132 SoC.
BSC9132 SOC is an integrated device that targets the evolving Microcell,
Picocell, and Enterprise-Femto base station market subsegments.
It combines Power Architecture e500v2 and DSP StarCore SC3850 core
technologies with MAPLE-B2F baseband acceleration processing elements.

BSC9132QDS Overview
 --------------------
  2Gbyte DDR3 (on board DDR), Dual Ranki
  32Mbyte 16bit NOR flash
  128Mbyte 2K page size NAND Flash
  256 Kbit M24256 I2C EEPROM
  128 Mbit SPI Flash memory
  SD slot
  USB-ULPI
  eTSEC1: Connected to SGMII PHY
  eTSEC2: Connected to SGMII PHY
  PCIe
  CPRI
  SerDes
  I2C RTC
  DUART interface: supports one UARTs up to 115200 bps for console display

Apart from the above it also consists various peripherals to support DSP
functionalities.

This patch adds support for mainly Power side functionalities and peripherals

Signed-off-by: Naveen Burmi <NaveenBurmi@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/mpc85xx: Add BSC9132/BSC9232 processor support
Prabhakar Kushwaha [Wed, 23 Jan 2013 17:59:57 +0000 (17:59 +0000)]
powerpc/mpc85xx: Add BSC9132/BSC9232 processor support

The BSC9132 is a highly integrated device that targets the evolving
 Microcell, Picocell, and Enterprise-Femto base station market subsegments.

 The BSC9132 device combines Power Architecture e500 and DSP StarCore SC3850
 core technologies with MAPLE-B2P baseband acceleration processing elements
 to address the need for a high performance, low cost, integrated solution
 that handles all required processing layers without the need for an
 external device except for an RF transceiver or, in a Micro base station
 configuration, a host device that handles the L3/L4 and handover between
 sectors.

 The BSC9132 SoC includes the following function and features:
    - Power Architecture subsystem including two e500 processors with
512-Kbyte shared L2 cache
    - Two StarCore SC3850 DSP subsystems, each with a 512-Kbyte private L2
cache
    - 32 Kbyte of shared M3 memory
    - The Multi Accelerator Platform Engine for Pico BaseStation Baseband
      Processing (MAPLE-B2P)
    - Two DDR3/3L memory interfaces with 32-bit data width (40 bits including
      ECC), up to 1333 MHz data rate
    - Dedicated security engine featuring trusted boot
    - Two DMA controllers
         - OCNDMA with four bidirectional channels
         - SysDMA with sixteen bidirectional channels
    - Interfaces
        - Four-lane SerDes PHY
    - PCI Express controller complies with the PEX Specification-Rev 2.0
        - Two Common Public Radio Interface (CPRI) controller lanes
    - High-speed USB 2.0 host and device controller with ULPI interface
        - Enhanced secure digital (SD/MMC) host controller (eSDHC)
    - Antenna interface controller (AIC), supporting four industry
standard JESD207/four custom ADI RF interfaces
       - ADI lanes support both full duplex FDD support & half duplex TDD
       - Universal Subscriber Identity Module (USIM) interface that
   facilitates communication to SIM cards or Eurochip pre-paid phone
   cards
       - Two DUART, two eSPI, and two I2C controllers
       - Integrated Flash memory controller (IFC)
       - GPIO
     - Sixteen 32-bit timers

Signed-off-by: Naveen Burmi <NaveenBurmi@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/mpc8xxxx: FSL DDR debugger auto run of stored commands
James Yang [Mon, 7 Jan 2013 14:01:03 +0000 (14:01 +0000)]
powerpc/mpc8xxxx: FSL DDR debugger auto run of stored commands

This patch adds the ability for the FSL DDR interactive debugger to
automatically run the sequence of commands stored in the ddr_interactive
environment variable.  Commands are separated using ';'.

ddr_interactive=compute; edit c0 d0 dimmparms caslat_X 0x3FC0; go

Signed-off-by: James Yang <James.Yang@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agoREADME.fsl-ddr typos and update to reflect hotkey
James Yang [Fri, 4 Jan 2013 08:14:03 +0000 (08:14 +0000)]
README.fsl-ddr typos and update to reflect hotkey

Documentation fix to README.fsl-ddr to fix typos and
to reflect use of 'd' hotkey to enter the FSL DDR debugger.

Signed-off-by: James Yang <James.Yang@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agoAdd copy command to FSL DDR interactive
James Yang [Fri, 4 Jan 2013 08:14:02 +0000 (08:14 +0000)]
Add copy command to FSL DDR interactive

Add copy command which allows copying of DIMM/controller settings.
This saves tedious retyping of parameters for each identical DIMM
or controller.

Signed-off-by: James Yang <James.Yang@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agoFix data stage name matching issue
James Yang [Fri, 4 Jan 2013 08:14:01 +0000 (08:14 +0000)]
Fix data stage name matching issue

This fix allows the name of the stage to be specifed after the
controler and DIMM is specified.  Prior to this fix, if the
data stage name is not the first entry on the command line,
the operation is applied to all controller and DIMMs.

Signed-off-by: James Yang <James.Yang@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agoMove DDR command parsing to separate function
James Yang [Fri, 4 Jan 2013 08:14:00 +0000 (08:14 +0000)]
Move DDR command parsing to separate function

Move the FSL DDR prompt command parsing to a separate function
so that it can be reused.

Signed-off-by: James Yang <James.Yang@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/mpc8xxx: Enable entering DDR debugging by key press
York Sun [Fri, 4 Jan 2013 08:13:59 +0000 (08:13 +0000)]
powerpc/mpc8xxx: Enable entering DDR debugging by key press

Using environmental variable "ddr_interactive" to activate interactive DDR
debugging seomtiems is not enough. For example, after updating SPD with a
valid but wrong image, u-boot won't come up due to wrong DDR configuration.
By enabling key press method, we can enter debug mode to have a chance to
boot without using other tools to recover the board.

CONFIG_FSL_DDR_INTERACTIVE needs to be defined in header file. To enter the
debug mode by key press, press key 'd' shortly after reset, like one would
do to abort auto booting. It is fixed to lower case 'd' at this moment.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/p2041: set RCW and PBI files for .pbl build or P2041RDB
Valentin Longchamp [Fri, 4 Jan 2013 04:06:17 +0000 (04:06 +0000)]
powerpc/p2041: set RCW and PBI files for .pbl build or P2041RDB

In order to be able to build a u-boot.pbl image, both the
CONFIG_PBLPBI_CONFIG and CONFIG_PBLRCW_CONFIG variables have to be
defined.

This patch sets these two files for the P2041RDB board.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/p2041: add RCW file for P2041RDB
Valentin Longchamp [Fri, 4 Jan 2013 04:06:16 +0000 (04:06 +0000)]
powerpc/p2041: add RCW file for P2041RDB

All the dev boards of Freescale's QorIQ family have a RCW that is
supported by the u-boot.pbl build target. This patch adds one for the
P2041 dev board.

This RCW is suitable for the RAMBOOT_PBL scenarios and was tested on the
P2041RDB booting from the eSPI NOR Flash (P2041RDB_SPIFLASH config).

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/t4240qds: Print FPGA detail version
Prabhakar Kushwaha [Sun, 23 Dec 2012 19:26:03 +0000 (19:26 +0000)]
powerpc/t4240qds: Print FPGA detail version

Qixis FPGA has tag data contains image name and build date.
It is helpful to identify the FPGA image precisely.

Signed-off-by: York Sun <yorksun@freescale.com>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/t4240qds: Add support to dump switch settings on t4240qds board
Shaveta Leekha [Sun, 23 Dec 2012 19:25:50 +0000 (19:25 +0000)]
powerpc/t4240qds: Add support to dump switch settings on t4240qds board

This function is called by "qixis_reset switch" command and
switch settings are calculated from qixis FPGA registers.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Shaveta Leekha <shaveta@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/b4860qds: Add support to dump switch settings on b4860qds board
Shaveta Leekha [Sun, 23 Dec 2012 19:25:42 +0000 (19:25 +0000)]
powerpc/b4860qds: Add support to dump switch settings on b4860qds board

This function is called by "qixis_reset switch" command
and switch settings are calculated from FPGA/qixis registers.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Shaveta Leekha <shaveta@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/qixis: enable qixis dump command and add switch dumping command
Shaveta Leekha [Sun, 23 Dec 2012 19:25:35 +0000 (19:25 +0000)]
powerpc/qixis: enable qixis dump command and add switch dumping command

Remove #ifdef so that "qixis dump" command is always available

Add "qixis_reset switch" command to dump switch settings
Qixis doesn't have 1:1 switch mapping. We need to reverse engineer from
registers to figure out switch settings. Not all bits are available.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Shaveta Leekha <shaveta@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/b4860qds: Added Support for B4860QDS
York Sun [Sun, 23 Dec 2012 19:25:27 +0000 (19:25 +0000)]
powerpc/b4860qds: Added Support for B4860QDS

B4860QDS is a high-performance computing evaluation, development and
test platform supporting the B4860 QorIQ Power Architecture processor.

B4860QDS Overview
------------------
- DDRC1: Ten separate DDR3 parts of 16-bit to support 72-bit (ECC) at 1866MT/s,
  ECC, 4 GB of memory in two ranks of 2 GB.
- DDRC2: Five separate DDR3 parts of 16-bit to support 72-bit (ECC) at 1866MT/s,  ECC, 2 GB of memory. Single rank.
- SerDes 1 multiplexing: Two Vitesse (transmit and receive path) cross-point
  16x16 switch VSC3316
- SerDes 2 multiplexing: Two Vitesse (transmit and receive path) cross-point
  8x8 switch VSC3308
- USB 2.0 ULPI PHY USB3315 by SMSC supports USB port in host mode.
- B4860 UART port is available over USB-to-UART translator USB2SER or over
  RS232 flat cable.
- A Vitesse dual SGMII phy VSC8662 links the B4860 SGMII lines to 2xRJ-45 copper
  connectors for Stand-alone mode and to the 1000Base-X over AMC MicroTCA
  connector ports 0 and 2 for AMC mode.
- The B4860 configuration may be loaded from nine bits coded reset
  configuration reset source. The RCW source is set by appropriate
  DIP-switches:
- 16-bit NOR Flash / PROMJet
- QIXIS 8-bit NOR Flash Emulator
- 8-bit NAND Flash
- 24-bit SPI Flash
- Long address I2C EEPROM
- Available debug interfaces are:
- On-board eCWTAP controller with ETH and USB I/F
- JTAG/COP 16-pin header for any external TAP controller
- External JTAG source over AMC to support B2B configuration
- 70-pin Aurora debug connector
- QIXIS (FPGA) logic:
- 2 KB internal memory space including
- IDT840NT4 clock synthesizer provides B4860 essential clocks : SYSCLK,
  DDRCLK1, 2 and RTCCLK.
- Two 8T49N222A SerDes ref clock devices support two SerDes port clocks
  - total four refclk, including CPRI clock scheme

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Shaveta Leekha <shaveta@freescale.com>
Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
Signed-off-by: Sandeep Singh <Sandeep@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/mpc85xx:Fix Core cluster configuration loop
Prabhakar Kushwaha [Sun, 23 Dec 2012 19:25:18 +0000 (19:25 +0000)]
powerpc/mpc85xx:Fix Core cluster configuration loop

Different personalities/derivatives of SoC may have reduced cluster. But it is
not necessary for last valid DCFG_CCSR_TP_CLUSTER register to have
DCFG_CCSR_TP_CLUSTER[EOC] bit set to represent "End of Clusters".

EOC bit can still be set in last DCFG_CCSR_TP_CLUSTER register of orignal SoC
which may not be valid for the personality.
So add initiator type check to find valid cluster.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agoboard/freescale/common:Add support of QTAG register
Prabhakar Kushwaha [Sun, 23 Dec 2012 19:24:47 +0000 (19:24 +0000)]
board/freescale/common:Add support of QTAG register

QIXIS FPGA's QIXIS Tag Access register (QTAG) defines TAG, VER, DATE, IMAGE
fields. These fields have FPGA build version, image name and build date
information.

Add support to parse these fields to have complete FPGA image information.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/mpc85xx:Add support of B4420 SoC
Poonam Aggrwal [Sun, 23 Dec 2012 19:24:16 +0000 (19:24 +0000)]
powerpc/mpc85xx:Add support of B4420 SoC

B4420 is a reduced personality of B4860 with fewer core/clusters(both SC3900
and e6500), fewer DDR controllers, fewer serdes lanes, fewer SGMII interfaces and
reduced target frequencies.

Key differences between B4860 and B4420
----------------------------------------
B4420 has:
1. Fewer e6500 cores: 1 cluster with 2 e6500 cores
2. Fewer SC3900 cores/clusters: 1 cluster with 2 SC3900 cores per cluster.
3. Single DDRC
4. 2X 4 lane serdes
5. 3 SGMII interfaces
6. no sRIO
7. no 10G

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/mpc85xx: Few updates for B4860 cpu changes
Poonam Aggrwal [Sun, 23 Dec 2012 19:22:33 +0000 (19:22 +0000)]
powerpc/mpc85xx: Few updates for B4860 cpu changes

- Added some more serdes1 and serdes2 combinations
  serdes1= 0x2c, 0x2d, 0x2e
  serdes2= 0x7a, 0x8d, 0x98
- Updated Number of DDR controllers to 2.
- Added FMAN file for B4860, drivers/net/fm/b4860.c

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Shaveta Leekha <shaveta@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Sandeep Singh <Sandeep@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/mpc8544ds: Add USB controller support for MPC8544DS
Hongtao Jia [Thu, 20 Dec 2012 19:39:53 +0000 (19:39 +0000)]
powerpc/mpc8544ds: Add USB controller support for MPC8544DS

USB controller in uboot is a required feature for MPC8544DS. Without this
support there is no 'usb' command in uboot.

Signed-off-by: Jia Hongtao <B38951@freescale.com>
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/mpc8572ds: Enable bank interleaving to cs0+cs1 for dual-rank DIMMs
Hongtao Jia [Thu, 20 Dec 2012 19:36:12 +0000 (19:36 +0000)]
powerpc/mpc8572ds: Enable bank interleaving to cs0+cs1 for dual-rank DIMMs

The controller interleaving only takes the usable memory mapped to cs0. In
the case of bank interleaving not enabled, only half of dual-rank DIMM will
be used.

For single-rank DIMM bank interleaving will be auto disabled.

Signed-off-by: Jia Hongtao <B38951@freescale.com>
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/t4240qds: Update IFC timing for NOR flash
York Sun [Wed, 19 Dec 2012 17:23:05 +0000 (17:23 +0000)]
powerpc/t4240qds: Update IFC timing for NOR flash

Relax parameters to give address latching more time to setup.
Tighten parameters to make it overall faster.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agoboards/T4240qds:Fix IFC AMASK init as per FPGA register space
Prabhakar Kushwaha [Tue, 18 Dec 2012 17:23:19 +0000 (17:23 +0000)]
boards/T4240qds:Fix IFC AMASK init as per FPGA register space

T4240QDS's QIXIS FPGA has 4k register space size and IFC controller's
Address Mask Registers is initialised 64K size.

So Fix the Address Mask Register initilisation as 4K

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agoboard/T4240qds:Fix TLB and LAW size of NAND flash
Prabhakar Kushwaha [Tue, 18 Dec 2012 00:15:45 +0000 (00:15 +0000)]
board/T4240qds:Fix TLB and LAW size of NAND flash

The internal SRAM of Freescale's IFC NAND machine is of 64K and controller's
Address Mask Registers is initialised with the same.

So Update TLB and LAW size of NAND flash accordingly.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/mpc85xx: Reserve default boot page
York Sun [Fri, 14 Dec 2012 06:21:58 +0000 (06:21 +0000)]
powerpc/mpc85xx: Reserve default boot page

The boot page in memory is already reserved so OS won't overwrite.
As long as the boot page translation is active, the default boot page
also needs to be reserved in case the memory is 4GB or more.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/t4qds: move VSC3316 config data from t4qds.h to t4qds.c
Timur Tabi [Wed, 12 Dec 2012 11:07:12 +0000 (11:07 +0000)]
powerpc/t4qds: move VSC3316 config data from t4qds.h to t4qds.c

Static variables should be defined in C files, not header files, because
otherwise every C file that #includes the header file will generate a
duplicate of the variables.  Since the vsc3316_xxx[] arrays are only
used by t4qds.c anyway, just put the variables there.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agopowerpc/p2041: move Lanes mux to board early init
Shaohui Xie [Mon, 3 Dec 2012 21:36:32 +0000 (21:36 +0000)]
powerpc/p2041: move Lanes mux to board early init

Lanes mux currently is configured in eth.c when initializing FMAN ethernet
ports, but SRIO and PCIe also need lanes mux, so we move the lanes mux to
p2041rdb.c which implements a board-specific initialization and will be
called at early stage.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot
Kim Phillips [Tue, 29 Jan 2013 23:30:39 +0000 (17:30 -0600)]
Merge branch 'master' of git://git.denx.de/u-boot

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-i2c
Tom Rini [Tue, 29 Jan 2013 20:36:27 +0000 (15:36 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-i2c

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc83xx
Tom Rini [Tue, 29 Jan 2013 20:36:23 +0000 (15:36 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx

12 years agoRemove unused CONFIG_SYS_I2C_BUS[_SELECT]
Michael Jones [Wed, 16 Jan 2013 00:44:29 +0000 (00:44 +0000)]
Remove unused CONFIG_SYS_I2C_BUS[_SELECT]

"CONFIG_SYS_I2C_BUS" and "CONFIG_SYS_I2C_BUS_SELECT" don't appear anywhere
outside of config files.

Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoi2c: mxs: Staticize the functions in the driver
Marek Vasut [Sun, 16 Dec 2012 02:48:16 +0000 (02:48 +0000)]
i2c: mxs: Staticize the functions in the driver

The local functions in the mxs i2c driver are not marked static, make it so.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
12 years agomx23evk: Add initial board support
Otavio Salvador [Wed, 23 Jan 2013 10:30:34 +0000 (10:30 +0000)]
mx23evk: Add initial board support

The following features are supported:
 * 128 MB DDR1 SDRAM
 * DUART
 * SD/MMC Card Socket

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
12 years agomx23_olinuxino: Add default environment
Otavio Salvador [Wed, 23 Jan 2013 10:30:33 +0000 (10:30 +0000)]
mx23_olinuxino: Add default environment

This adds a default environment with support for MMC booting.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
12 years agomxs: mmc: mx23_olinuxino: Add MMC support
Marek Vasut [Tue, 22 Jan 2013 15:01:05 +0000 (15:01 +0000)]
mxs: mmc: mx23_olinuxino: Add MMC support

Add support for the MMC attached to SSP1.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: mmc: Fix the MMC driver for MX23
Marek Vasut [Tue, 22 Jan 2013 15:01:04 +0000 (15:01 +0000)]
mxs: mmc: Fix the MMC driver for MX23

The MX23 has different layout of DMA channels. Fix the MMC
driver to support MX23.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: mmc: Allow overriding default card detect implementation
Marek Vasut [Tue, 22 Jan 2013 15:01:03 +0000 (15:01 +0000)]
mxs: mmc: Allow overriding default card detect implementation

Some MXS based boards do not implement the card-detect signal. Allow
user to specify alternate card-detect implementation.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: mmc: Fix MMC reset on iMX23
Otavio Salvador [Tue, 22 Jan 2013 15:01:02 +0000 (15:01 +0000)]
mxs: mmc: Fix MMC reset on iMX23

This does the same reset mask as done in v3.7 Linux kernel code.
The block is properly configured for MMC operation that way.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: ssp: Add SSP registers map for MX23
Marek Vasut [Tue, 22 Jan 2013 15:01:01 +0000 (15:01 +0000)]
mxs: ssp: Add SSP registers map for MX23

The MX23 SSP register layout differs from MX28 in certain bits,
adjust the register layout accordingly.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: dma: Fix APBH DMA driver for MX23
Marek Vasut [Tue, 22 Jan 2013 15:01:00 +0000 (15:01 +0000)]
mxs: dma: Fix APBH DMA driver for MX23

The MX23 has less channels for the APBH DMA, sligtly different register
layout and some bits in those registers are placed differently. Reflect
this in the driver. This patch fixes MMC/DMA issue on MX23.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx6qsabrelite: search mii phy address 4-7
Troy Kisky [Mon, 22 Oct 2012 16:40:47 +0000 (16:40 +0000)]
mx6qsabrelite: search mii phy address 4-7

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
12 years agonet: fec_mxc: get phydev before fec_probe
Troy Kisky [Mon, 22 Oct 2012 16:40:46 +0000 (16:40 +0000)]
net: fec_mxc: get phydev before fec_probe

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
12 years agonet: fec_mxc: only call phy_connect in fec_probe
Troy Kisky [Mon, 22 Oct 2012 16:40:45 +0000 (16:40 +0000)]
net: fec_mxc: only call phy_connect in fec_probe

This allows us to create the phydev before calling
fec_probe in later patch.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
12 years agonet: fec_mxc: use fec_set_dev_name to set name
Troy Kisky [Mon, 22 Oct 2012 16:40:44 +0000 (16:40 +0000)]
net: fec_mxc: use fec_set_dev_name to set name

This allows us to create the phydev before calling
fec_probe in later patch.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
12 years agophy: add phy_find_by_mask/phy_connect_dev
Troy Kisky [Mon, 22 Oct 2012 16:40:43 +0000 (16:40 +0000)]
phy: add phy_find_by_mask/phy_connect_dev

It is useful to be able to try a range of
possible phy addresses to connect.

Also, an ethernet device is not required
to use phy_find_by_mask leading to better
separation of mii vs ethernet, as suggested
by Andy Fleming.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
12 years agonet: fec_mxc: have fecmxc_initialize call fecmxc_initialize_multi
Troy Kisky [Mon, 22 Oct 2012 16:40:42 +0000 (16:40 +0000)]
net: fec_mxc: have fecmxc_initialize call fecmxc_initialize_multi

Having only one call to fec_probe will ease the changing of its
parameters.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
12 years agonet: fec_mxc: change fec_mii_setspeed parameter
Troy Kisky [Mon, 22 Oct 2012 16:40:41 +0000 (16:40 +0000)]
net: fec_mxc: change fec_mii_setspeed parameter

Only the hardware ethernet registers are needed
for this function, so don't pass the more general
structure. I'm trying to separate MII and fec.

This also fixes MX28 fec_mii_setspeed use on secondary ethernet port

This was found by inspection of the code and should be
checked on real hardware.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
12 years agonet: fec_mxc: delete CONFIG_FEC_MXC_MULTI
Troy Kisky [Mon, 22 Oct 2012 16:40:40 +0000 (16:40 +0000)]
net: fec_mxc: delete CONFIG_FEC_MXC_MULTI

It is more logical to test for CONFIG_FEC_MXC_PHYADDR
to determine whether to define the function fecmxc_initialize.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
12 years agodoc/README.fec_mxc: add documentation
Troy Kisky [Mon, 22 Oct 2012 16:40:39 +0000 (16:40 +0000)]
doc/README.fec_mxc: add documentation

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
12 years agomxs: Use __weak annotation to simplify code
Fabio Estevam [Tue, 8 Jan 2013 05:21:45 +0000 (05:21 +0000)]
mxs: Use __weak annotation to simplify code

Using the __weak annotation can make the code cleaner.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
12 years agotools: imximage: Let .name field be more generic
Fabio Estevam [Wed, 2 Jan 2013 08:48:34 +0000 (08:48 +0000)]
tools: imximage: Let .name field be more generic

Since this structure is not i.MX5x specific, remove the '5x' to make it more
generic.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
12 years agomx6qsabre_common: Let mmc partition be board specific
Fabio Estevam [Mon, 14 Jan 2013 08:59:24 +0000 (08:59 +0000)]
mx6qsabre_common: Let mmc partition be board specific

commit 49ea0ff5 (49ea0ff5) introduced CONFIG_SYS_MMC_ENV_PART into mx6qsabresd.h
to store the mmc partition, but in order for it to have effect we should place
it into 'mmcpart' variable.

Also add CONFIG_SYS_MMC_ENV_PART into mx6qsabreauto.h.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
12 years agomx6qsabreauto: enable USB host interface
Knut Wohlrab [Mon, 21 Jan 2013 23:11:21 +0000 (23:11 +0000)]
mx6qsabreauto: enable USB host interface

The USB host interface is routed to plug USB1/J30 on the mother board.

Signed-off-by: Knut Wohlrab <knut.wohlrab@de.bosch.com>
12 years agomxs: Boost the memory power supply
Marek Vasut [Mon, 21 Jan 2013 14:57:03 +0000 (14:57 +0000)]
mxs: Boost the memory power supply

The memory power supply on MX23 didn't pump out enough juice into
the DRAM chip, thus caused occasional memory corruption. Fix this.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
12 years agoMIPS: start.S: don't save flush_cache parameters in advance
Gabor Juhos [Thu, 24 Jan 2013 06:27:55 +0000 (06:27 +0000)]
MIPS: start.S: don't save flush_cache parameters in advance

Saving the parameters in advance unnecessarily complicates
the code. The destination address is already saved in the
's2' register, and that register is not clobbered by the
copy loop. The size of the copied data can be computed
after the copy loop is done.

Change the code to compute the size parameter right
before calling flush_cache, and set the destination
address parameter in the delay slot of the actuall
call.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agoMIPS: start.S: simplify relocation offset calculation
Gabor Juhos [Thu, 24 Jan 2013 06:27:54 +0000 (06:27 +0000)]
MIPS: start.S: simplify relocation offset calculation

The current code uses four instructions and a
temporary register to calculate the relocation
offset and to adjust the gp register.

The relocation offset can be calculated directly
from the CONFIG_SYS_MONITOR_BASE constant and from
the destination address. The resulting offset can
be used to adjust the gp pointer.

This approach makes the code a bit simpler because
it needs two instructions only.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agoMIPS: start.S: save reused arguments earlier in relocate_code
Gabor Juhos [Thu, 24 Jan 2013 06:27:53 +0000 (06:27 +0000)]
MIPS: start.S: save reused arguments earlier in relocate_code

Save the reused parameters at the beginning
of the 'relocate_code' function. This makes
the function a bit more readable.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agoMIPS: start.S: set sp register directly
Gabor Juhos [Thu, 24 Jan 2013 06:27:52 +0000 (06:27 +0000)]
MIPS: start.S: set sp register directly

The current code uses two instructions to load
the stack pointer into the 'sp' register.

This results in the following assembly code:

    468:   3c088040        lui     t0,0x8040
    46c:   251d0000        addiu   sp,t0,0

The first instuction loads the stack pointer into
the 't0' register then the value of the 'sp' register
is computed by adding zero to the value of the 't0'
register. The same issue present on the 64-bit version
as well:

    56c:   3c0c8040        lui     t0,0x8040
    570:   659d0000        daddiu  sp,t0,0

Change the code to load the stack pointer directly
into the 'sp' register. The generated code is functionally
equivalent to the previous version but it is simpler.

  32-bit:
    468:   3c1d8040        lui     sp,0x8040

  64-bit:
    56c:   3c1d8040        lui     sp,0x8040

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agoMIPS: start.S: fix boundary check in relocate_code
Gabor Juhos [Thu, 24 Jan 2013 06:27:51 +0000 (06:27 +0000)]
MIPS: start.S: fix boundary check in relocate_code

The loop code copies more data with one than
necessary due to the 'ble' instuction. Use the
'blt' instruction instead to fix that.

Due to the lack of suitable hardware the Xburst
specific code is compile tested only. However the
change is quite obvious.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot
Kim Phillips [Fri, 25 Jan 2013 17:22:16 +0000 (11:22 -0600)]
Merge branch 'master' of git://git.denx.de/u-boot

12 years agoMIPS: start{, 64}.S: fill branch delay slots with NOP instructions
Gabor Juhos [Wed, 16 Jan 2013 03:05:01 +0000 (03:05 +0000)]
MIPS: start{, 64}.S: fill branch delay slots with NOP instructions

The romReserved and romExcHandle handlers are
accessed by a branch instruction however the
delay slots of those instructions are not filled.

Because the start.S uses the 'noreorder' directive,
the assembler will not fill the delay slots either,
and leads to the following assembly code:

  0000056c <romReserved>:
   56c:   1000ffff        b       56c <romReserved>

  00000570 <romExcHandle>:
   570:   1000ffff        b       570 <romExcHandle>

In the resulting code, the second branch instruction
is placed into the delay slot of the first branch
instruction, which is not allowed on the MIPS
architecture.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agoMIPS: convert IO port accessor functions to 'static inline'
Gabor Juhos [Wed, 16 Jan 2013 02:39:23 +0000 (02:39 +0000)]
MIPS: convert IO port accessor functions to 'static inline'

The currently used 'extern inline' directive causes
the following compiler warnings if CONFIG_SWAP_IO_SPACE
is defined:

  <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outlc_p' which is not static [enabled by default]
  <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outl_p' which is not static [enabled by default]
  <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outlc' which is not static [enabled by default]
  <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outl' which is not static [enabled by default]
  <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outwc_p' which is not static [enabled by default]
  <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outw_p' which is not static [enabled by default]
  <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outwc' which is not static [enabled by default]
  <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outw' which is not static [enabled by default]
  <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inlc_p' which is not static [enabled by default]
  <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inl_p' which is not static [enabled by default]
  <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inlc' which is not static [enabled by default]
  <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inl' which is not static [enabled by default]
  <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inwc_p' which is not static [enabled by default]
  <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inw_p' which is not static [enabled by default]
  <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inwc' which is not static [enabled by default]
  <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inw' which is not static [enabled by default]

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agoMIPS: use inline directive for __in*s functions
Gabor Juhos [Wed, 16 Jan 2013 02:39:22 +0000 (02:39 +0000)]
MIPS: use inline directive for __in*s functions

All other IO accessor functions are using the
'inline' directive. Use that also for the __in*s
to make it consistent with the other variants.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agoimximage.cfg: run files through C preprocessor
Troy Kisky [Fri, 18 Jan 2013 16:14:24 +0000 (16:14 +0000)]
imximage.cfg: run files through C preprocessor

The '#' used as comments in the files cause the preprocessor
trouble, so change to /* */.

The mkimage command which uses this preprocessor output
was moved to arch/arm/imx-common/Makefile

.gitignore was updated to ignore .cfgtmp files.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
12 years agomxs: Add MX23 quirks into the clock code
Otavio Salvador [Sat, 19 Jan 2013 16:02:49 +0000 (16:02 +0000)]
mxs: Add MX23 quirks into the clock code

The MX23 has different handling of the SSP clock and GPMI NAND clock sources,
add necessary quirks into the clock code to properly handle these.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agowoodburn: Set Write Protection GPIO as input
Fabio Estevam [Fri, 18 Jan 2013 23:57:45 +0000 (23:57 +0000)]
woodburn: Set Write Protection GPIO as input

Set Write Protection GPIO as input.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
12 years agomxs: Add MX23 olinuxino board support
Marek Vasut [Sat, 12 Jan 2013 07:11:11 +0000 (07:11 +0000)]
mxs: Add MX23 olinuxino board support

This patch adds support for MX23-based Olinuxino board.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: Linux uses ttyAMA0 as DUART
Marek Vasut [Fri, 11 Jan 2013 13:29:42 +0000 (13:29 +0000)]
mxs: Linux uses ttyAMA0 as DUART

Replace use of ttyAM0 with ttyAMA0 as default serial console.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: Fix the memory init for MX23
Otavio Salvador [Fri, 11 Jan 2013 03:19:18 +0000 (03:19 +0000)]
mxs: Fix the memory init for MX23

The memory init is slightly different on MX23, thus split the memory
init for mx23 and mx28 into different functions.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: Add function to ungate the power block on MX23
Marek Vasut [Fri, 11 Jan 2013 03:19:17 +0000 (03:19 +0000)]
mxs: Add function to ungate the power block on MX23

The power block on MX23 must first be ungated before it can be operated.
Add function to MXS power init that ungates it.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
12 years agommc: Limit the number of used SSP ports on MX23
Marek Vasut [Fri, 11 Jan 2013 03:19:14 +0000 (03:19 +0000)]
mmc: Limit the number of used SSP ports on MX23

The MX23 can only use two SSP ports.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Andy Fleming <afleming@freescale.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx23: config: Enable mxsboot tool for i.MX23 based boards
Otavio Salvador [Fri, 11 Jan 2013 03:19:13 +0000 (03:19 +0000)]
mx23: config: Enable mxsboot tool for i.MX23 based boards

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx23: config: Enable building of u-boot.sb binary
Otavio Salvador [Fri, 11 Jan 2013 03:19:12 +0000 (03:19 +0000)]
mx23: config: Enable building of u-boot.sb binary

For i.MX23 we need to pass imx23 as elftosb param.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx23: SPL: Initialize DDR at 133MHz
Otavio Salvador [Fri, 11 Jan 2013 03:19:11 +0000 (03:19 +0000)]
mx23: SPL: Initialize DDR at 133MHz

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx23: SPL: Add boot mode support
Otavio Salvador [Fri, 11 Jan 2013 03:19:10 +0000 (03:19 +0000)]
mx23: SPL: Add boot mode support

This adds the boot mode support for i.MX23 processors.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx23: Add boot mode description
Otavio Salvador [Fri, 11 Jan 2013 03:19:09 +0000 (03:19 +0000)]
mx23: Add boot mode description

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx23: Add support on print_cpuinfo()
Otavio Salvador [Fri, 11 Jan 2013 03:19:08 +0000 (03:19 +0000)]
mx23: Add support on print_cpuinfo()

Add information to identify i.MX23 chips and its known revisions.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx23: ssp: Fix ssp-regs.h for MX23
Marek Vasut [Fri, 11 Jan 2013 03:19:07 +0000 (03:19 +0000)]
mx23: ssp: Fix ssp-regs.h for MX23

Disable SSP2 and SSP3 ports on MX23.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx23: Add POWER and CLKCTRL register definitions
Marek Vasut [Fri, 11 Jan 2013 03:19:06 +0000 (03:19 +0000)]
mx23: Add POWER and CLKCTRL register definitions

Add register definitions for the i.MX23 power control block and
clock control block. These are essential for the basic bootstrap
of the i.MX23. Also, properly include them in imx-regs.h .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx23: Add iomux-mx23.h
Otavio Salvador [Fri, 11 Jan 2013 03:19:05 +0000 (03:19 +0000)]
mx23: Add iomux-mx23.h

This has been copied from Linux source at revision 786f02b719f.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomx23: Add register base addresses
Otavio Salvador [Fri, 11 Jan 2013 03:19:04 +0000 (03:19 +0000)]
mx23: Add register base addresses

This adds the base addresses of i.MX23 and easy the detection of wrong
order in board setup, in case no SoC has been set, an error is raised
during build.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: clock: Use 'mxs' prefix for methods
Otavio Salvador [Fri, 11 Jan 2013 03:19:03 +0000 (03:19 +0000)]
mxs: clock: Use 'mxs' prefix for methods

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: ssp: Pull out the SSP bus to regs conversion
Marek Vasut [Fri, 11 Jan 2013 03:19:02 +0000 (03:19 +0000)]
mxs: ssp: Pull out the SSP bus to regs conversion

Create function which converts SSP bus number to SSP register pointer.
This functionality is reimplemented multiple times in the code, thus
make one common implementation. Moreover, make it a switch(), since the
SSP ports are not mapped in such nice linear fashion on MX23, therefore
having it a switch will simplify things there.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Andy Fleming <afleming@freescale.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agomxs: mmc: Drop unused members from struct mxsmmc_priv
Marek Vasut [Fri, 11 Jan 2013 03:19:01 +0000 (03:19 +0000)]
mxs: mmc: Drop unused members from struct mxsmmc_priv

The clock data are not used by the driver, drop them.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Andy Fleming <afleming@freescale.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
12 years agofdt: fix dts preprocessor options
Allen Martin [Tue, 8 Jan 2013 16:07:54 +0000 (16:07 +0000)]
fdt: fix dts preprocessor options

Using "-ansi" preprocessor option will cause dts lines that begin with
'#' to choke the preprocessor.  Change to "-x assembler-with-cpp"
instead which is what the kernel uses to preprocess dts files.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: fdt: add apbdma node
Allen Martin [Fri, 11 Jan 2013 23:07:04 +0000 (23:07 +0000)]
tegra: fdt: add apbdma node

Add apbdma node for tegra20 and tegra30, copied directly from tegra
Linux dtsi files.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: fdt: sort dts files
Allen Martin [Wed, 16 Jan 2013 13:12:24 +0000 (13:12 +0000)]
tegra: fdt: sort dts files

Sort nodes in dts files according the the following rules:

1) Any nodes that already exist in any /include/d file, in the order
they appear in the /include/d file.

2) Any nodes with a reg property, in order of their address.

3) Any nodes without a reg property, alphabetically by node name.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: fdt: remove clocks nodes
Allen Martin [Wed, 16 Jan 2013 13:11:21 +0000 (13:11 +0000)]
tegra: fdt: remove clocks nodes

These nodes are unused.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoMerge remote-tracking branch 'mpc83xx/next'
Kim Phillips [Thu, 17 Jan 2013 00:34:09 +0000 (18:34 -0600)]
Merge remote-tracking branch 'mpc83xx/next'

12 years agotegra: remove IRDA pinmux synonym
Allen Martin [Wed, 9 Jan 2013 10:52:23 +0000 (10:52 +0000)]
tegra: remove IRDA pinmux synonym

IRDA is a synonym for UARTB in tegra pinmux, remove all usage of this
synonym and replace with UARTB to disambiguate.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoTegra30: I2C: Enable I2C driver on Cardhu
Tom Warren [Fri, 21 Dec 2012 23:09:52 +0000 (16:09 -0700)]
Tegra30: I2C: Enable I2C driver on Cardhu

Tested all 5 'buses', i2c probe enumerates device addresses on all
but dev 4 (I2C4) [no devices on that bus on my Cardhu].

Note that this uses the extant tegra_i2c.c driver w/o modification.

Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoTegra30: fdt: Update DT files with I2C info for T30/Cardhu
Tom Warren [Fri, 21 Dec 2012 22:59:15 +0000 (15:59 -0700)]
Tegra30: fdt: Update DT files with I2C info for T30/Cardhu

Note that T30 does not have a separate/different DVC (power I2C)
controller like T20 - all 5 I2C controllers are identical, but
DVC_I2C is still used to designate the controller intended for
power control (PWR_I2C in the schematics). On Cardhu, it's used
to access the PMU and EEPROM, as well as the audio codec, temp
sensor, and fuel gauge devices from the OS.

Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoTegra30: clocks: Fix clock tables for I2C and other periphs
Tom Warren [Fri, 21 Dec 2012 22:02:45 +0000 (15:02 -0700)]
Tegra30: clocks: Fix clock tables for I2C and other periphs

Add 16-bit divider support (I2C) to periph table, annotate and
correct some entries, and fix clk_id lookup function.

Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoTegra30: Add/enable Cardhu build (T30 reference board)
Tom Warren [Tue, 11 Dec 2012 13:34:18 +0000 (13:34 +0000)]
Tegra30: Add/enable Cardhu build (T30 reference board)

This build is stripped down. It boots to the command prompt.
GPIO is the only peripheral supported. Others TBD.

include/configs/tegra-common.h now holds common config options
for Tegra SoCs.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
12 years agoTegra30: Add generic Tegra30 build support
Tom Warren [Tue, 11 Dec 2012 13:34:17 +0000 (13:34 +0000)]
Tegra30: Add generic Tegra30 build support

This patch adds basic Tegra30 (T30) build support - no specific
board is targeted.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
12 years agoTegra30: Cardhu: Add DT files
Tom Warren [Tue, 11 Dec 2012 13:34:16 +0000 (13:34 +0000)]
Tegra30: Cardhu: Add DT files

These are stripped down for bringup, They'll be filled out later
to match-up with the kernel DT contents, and/or as devices are
brought up (mmc, usb, spi, etc.).

Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
12 years agoTegra30: Add common CPU (shared) files
Tom Warren [Tue, 11 Dec 2012 13:34:15 +0000 (13:34 +0000)]
Tegra30: Add common CPU (shared) files

These files are used by both SPL and main U-Boot.
Also made minor changes to shared Tegra code to support
T30 differences.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>