PXA device tree support has almost grown to the level when it becomes
possible to add device support without code changes. Thanks to everyone
involved.

The only obstacle with this device is character device major index
conflict between pxa serial and 8250 serial drivers. The first patch
fixes the conflict rewriting pxa serial using 8250 serial driver.

Device support is now close to 95%, pluggable module support is
at around 20%. It should be possible to handle most unsupported modules
by already working get_DI/DO/AO set_DO/AO functions. I am not including
support, since I didn't actually test the hardware. The same is true
about RS232/485 pluggable port.

ICP DAS calls LP-8x4x 'programmable automation controller'. It is
an industrial computer based on PXA270 SoC. They ship it with a 2.6.19
kernel and proprietary kernel module and userspace library to access
its industrial IO.

This patch allows to boot the device with a modern kernel with device
tree. It adds support for:
* MMC card interface on PXA270
* USB 1.1 port on PXA270
* 2 NOR flash devices
* 2 onboard ethernet Davicom DM9000 devices
* 3 serial UART ports on PXA270
* front panel red LED
* 64bit 1-wire system ID chip
* 16 kiB EEPROM (reading)

Support for the following devices will be added in separate patches,
since they are not currently supported by the kernel:
* DS1302 RTC
* 512kiB SRAM
* FPGA irq chip
* 3 built-in 16550A serial UART ports
* industrial IO parallel bus
* 10 position rotary switch
* 8 pin DIP switch
* 16 kiB EEPROM (writing)
* serial interface for digital and analog industrial IO modules on
  parallel bus (all I-87xxx modules)
* digital and analog industrial IO modules for parallel bus:
  ** I-8024 4 port analog output
  ** I-8041 32 port digital output
  ** I-8042 16 port digital output/16 port digital input

Not supported for now:
* VGA interface on PXA270 for lack of dts binding
* the rest of parallel bus (I-8xxx) modules for lack of hardware
* GPIO reset for lack of relevance (watchdog reset is working)

Signed-off-by: Sergei Ianovich <[email protected]>
CC: Daniel Mack <[email protected]>
CC: Arnd Bergmann <[email protected]>
CC: Robert Jarzmik <[email protected]>
CC: Haojian Zhuang <[email protected]>

Sergei Ianovich (2):
  serial: rewrite pxa2xx-uart to use 8250_core
  arm: pxa27x: support for ICP DAS LP-8x4x w/ DT

 .../devicetree/bindings/vendor-prefixes.txt        |   1 +
 arch/arm/boot/dts/Makefile                         |   3 +
 arch/arm/boot/dts/pxa27x-lp8x4x-i105.dts           |  50 ++
 arch/arm/boot/dts/pxa27x-lp8x4x.dts                | 260 ++++++
 arch/arm/configs/am200epdkit_defconfig             |   5 +-
 arch/arm/configs/cm_x2xx_defconfig                 |   5 +-
 arch/arm/configs/cm_x300_defconfig                 |   5 +-
 arch/arm/configs/colibri_pxa270_defconfig          |   5 +-
 arch/arm/configs/colibri_pxa300_defconfig          |   5 +-
 arch/arm/configs/corgi_defconfig                   |   6 +-
 arch/arm/configs/em_x270_defconfig                 |   5 +-
 arch/arm/configs/ezx_defconfig                     |   5 +-
 arch/arm/configs/h5000_defconfig                   |   5 +-
 arch/arm/configs/imote2_defconfig                  |   5 +-
 arch/arm/configs/lp8x4x_defconfig                  | 176 ++++
 arch/arm/configs/lpd270_defconfig                  |   5 +-
 arch/arm/configs/lubbock_defconfig                 |   5 +-
 arch/arm/configs/mainstone_defconfig               |   5 +-
 arch/arm/configs/mmp2_defconfig                    |   5 +-
 arch/arm/configs/pcm027_defconfig                  |   5 +-
 arch/arm/configs/pxa168_defconfig                  |   5 +-
 arch/arm/configs/pxa255-idp_defconfig              |   5 +-
 arch/arm/configs/pxa3xx_defconfig                  |   5 +-
 arch/arm/configs/pxa910_defconfig                  |   5 +-
 arch/arm/configs/raumfeld_defconfig                |   5 +-
 arch/arm/configs/spitz_defconfig                   |   6 +-
 arch/arm/configs/trizeps4_defconfig                |   5 +-
 arch/arm/configs/viper_defconfig                   |   6 +-
 arch/arm/configs/xcep_defconfig                    |   5 +-
 drivers/tty/serial/8250/8250_pxa.c                 | 177 ++++
 drivers/tty/serial/8250/Kconfig                    |   9 +
 drivers/tty/serial/8250/Makefile                   |   1 +
 drivers/tty/serial/Kconfig                         |  23 -
 drivers/tty/serial/Makefile                        |   1 -
 drivers/tty/serial/pxa.c                           | 968 ---------------------
 35 files changed, 749 insertions(+), 1043 deletions(-)
 create mode 100644 arch/arm/boot/dts/pxa27x-lp8x4x-i105.dts
 create mode 100644 arch/arm/boot/dts/pxa27x-lp8x4x.dts
 create mode 100644 arch/arm/configs/lp8x4x_defconfig
 create mode 100644 drivers/tty/serial/8250/8250_pxa.c
 delete mode 100644 drivers/tty/serial/pxa.c

-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to