lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1449700088-28076-1-git-send-email-ynvich@gmail.com>
Date:	Thu, 10 Dec 2015 01:28:06 +0300
From:	Sergei Ianovich <ynvich@...il.com>
To:	linux-kernel@...r.kernel.org
Cc:	Sergei Ianovich <ynvich@...il.com>, Daniel Mack <zonque@...il.com>,
	Arnd Bergmann <arnd@...db.de>,
	Robert Jarzmik <robert.jarzmik@...e.fr>,
	Haojian Zhuang <haojian.zhuang@...il.com>
Subject: [PATCH v4 0/2] series to support for ICP DAS LP-8x4x (ARM PXA270)

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 <ynvich@...il.com>
CC: Daniel Mack <zonque@...il.com>
CC: Arnd Bergmann <arnd@...db.de>
CC: Robert Jarzmik <robert.jarzmik@...e.fr>
CC: Haojian Zhuang <haojian.zhuang@...il.com>

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 majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ