arm: pia-am335x: update EEPROM content description

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: add more generic board detection routines

- add support for ID EEPROM on expansion/base board
- add parsing function for revision strings
- add table of supported boards and configuration

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: add ids for new PM module and base board

- do board setup selection via new board id structs
- add stubs for PM and base board setup
- remove all references to old am33xx_piarev

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: remove am33xx_piaid

- switch the id selection code to the new board identification structs
  as well
- add support for board selection for mmc0_init() and gpio_init()
- allows initialization of parts from main board setup or expansion board
  setup routines

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: add second I2C bus to early init

- setup the second I2C bus in early init as well and assume an expansion
  board EEPROM there.
- add helper functions for registering additional I2C devices after the
  busses have been initialized.
- do dynamic I2C initialization for all devices expcept ID EEPROMs
- move LIS331 setup to MMI's I2C2 init routine

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: fix compiler warning about unused function

- use GPIO state debugging function only for PROTOTYPE kernels

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: add generic eeprom reader

- move id eeprom extraction to generic function allowing to get mainboard
  and expansion board data

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: add basic expansion board setup

- include workaround for PM boards without EEPROM

  Every expansion board has an EEPROM on I2C1 @0x50. In case there was
  no EEPROM on bus 0, pia335x_setup never gets called and the
  pm_setup_done flag never gets set. It's save to assume a PM board with
  a baseboard as expansion and call pm_setup() from expansion
  setup before doing anything else, in this particular case.

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x-e2: set correct ethernet PHY id

- according to the datasheet IP175 host port acting as a PHY
  has PHY ID 0x05. Ports 0x00-0x03 represent the physical switch ports.

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x-pm: add gpio board support

- add GPIOs used on processor module itself
- add support for status LED with heartbeat

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: rework pmic initialization

- add support for TPS65910 on PM board
- use generic initialization function
- fix IRQ setup (don't use GPIO number directly)
- add irq_base for tps65910-irq driver

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x-pm: add MMC support

- add support for eMMC on bus 1
- MMC0 must be initialized from baseboard setup. In case the baseboard
  doesn't have a device @MMC0, pia335x_mmc[0] must be deactivated!

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x-pm: add NOR flash support

- initialize SPI0
- use same layout as EMV. Make sure binary sizes don't exceed partition
  sizes, as the default kernel image and u-boot are bigger.

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: halt if board detection fails

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x-ebtft: add initial support for EB_TFT baseboard

- baseboards are handled as expansion boards to the PM module
- add support for µSD slot on MMC0
- add support for Ethernet port on MII2
- halt if expansion detection fails, the PM module isn't able to run
  on its own.

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: restructure ethernet config, add EB_TFT

- add Ethernet support for EB_TFT
- restructure ethernet config to avoid code duplication

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: restructure CAN config, add EB_TFT support

- add support for CAN0 on EB_TFT
- restructure CAN init like other devices, use single init with board id
  parameter, avoid code duplication

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x-ebtft: add support for CAN terminal resistor

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x: add USB support for EB_TFT

- also restructure USB0 init

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
arm: pia-am335x-ebtft: add support for CD on SD card

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>