The Qualcomm QCA7000 HomePlug GreenPHY supports two interfaces: UART and SPI. This patch series adds the missing support for UART.
This driver based on the Qualcomm code [1], but contains some changes: * use random MAC address per default * use net_device_stats from device * share frame decoding between SPI and UART driver * improve error handling * reimplement tty_wakeup with work queue (based on slcan) The patches 1 - 3 are just for clean up and are not related to the UART support. Patches 4 - 7 prepare the existing QCA7000 code for UART support. The last patch contains the new driver. In order to test the driver a modified slattach in userspace is also required. A prepared busybox (includes slattach) can be found here [2]. The code itself has been tested on a Freescale i.MX28 board. Changes in v3: * rebase to current net-next Changes in v2: * fix build issue by using netif_trans_update() and dev_trans_start() [1] - https://github.com/IoE/qca7000 [2] - https://github.com/lategoodbye/busybox/commits/qca7k_support_1_24 Stefan Wahren (8): net: qualcomm: remove unnecessary includes net: qca_debug: use net_device_ops instead of direct call net: qualcomm: move qcaspi_tx_cmd to qca_spi.c net: qualcomm: rename qca_framing.c to qca_common.c net: qualcomm: move MTU handling to qca_common net: qualcomm: prepare frame decoding for UART driver net: qualcomm: make qca_common a separate kernel module net: qualcomm: add QCA7000 UART driver drivers/net/ethernet/qualcomm/Kconfig | 20 +- drivers/net/ethernet/qualcomm/Makefile | 7 +- drivers/net/ethernet/qualcomm/qca_7k.c | 28 -- drivers/net/ethernet/qualcomm/qca_7k.h | 1 - drivers/net/ethernet/qualcomm/qca_common.c | 178 +++++++++++ drivers/net/ethernet/qualcomm/qca_common.h | 147 +++++++++ drivers/net/ethernet/qualcomm/qca_debug.c | 5 +- drivers/net/ethernet/qualcomm/qca_framing.c | 156 ---------- drivers/net/ethernet/qualcomm/qca_framing.h | 134 --------- drivers/net/ethernet/qualcomm/qca_spi.c | 41 ++- drivers/net/ethernet/qualcomm/qca_spi.h | 5 +- drivers/net/ethernet/qualcomm/qca_uart.c | 447 ++++++++++++++++++++++++++++ include/uapi/linux/tty.h | 1 + 13 files changed, 828 insertions(+), 342 deletions(-) create mode 100644 drivers/net/ethernet/qualcomm/qca_common.c create mode 100644 drivers/net/ethernet/qualcomm/qca_common.h delete mode 100644 drivers/net/ethernet/qualcomm/qca_framing.c delete mode 100644 drivers/net/ethernet/qualcomm/qca_framing.h create mode 100644 drivers/net/ethernet/qualcomm/qca_uart.c -- 2.1.4