Spreadtrum is a rapid growing chip vendor providing smart phone total solutions. Sharkl64 Platform is nominated as a SoC infrastructure that supports 4G/3G/2G standards based on ARMv8 multiple core architecture. Now we have only one SoC(SC9836) based on this Platform in developing. This patchset adds Sharkl64 support in arm64 device tree and adds the serial driver of SC9836-UART. This patchset also has patches which address "sprd" prefix and DT compatible strings for nodes which appear un-documented. This version code was tesed on SC9836 mobile phone. Changes from v4: * Addressed review comments from last version: - Remove compitible string "arm,psci-0.2" - Add the properties of psci v0.1 - Remove the "clocks" container node * Addressed review comments from Shawn Guo, Lea Yan, Jorge Ramirez-Ortiz: - Turn the 'clocks' property of uart into a required property - Use GIC macro instead of the value - Update the CPU mask to match the number of described CPUs - Use the more explicit compatible string "arm,gic-400" for GIC - sprd_serial.c: Add a cpu_relax() in the busy loop of sprd_putc - sprd_serial.c: Add calling uart_suspend_port and uart_resume_port in the function sprd_suspend and sprd_resume respectively - sprd_serial.c: Use SIMPLE_DEV_PM_OPS to register sprd_suspend and sprd_resume Changes from v3: * Addressed review comments: - Added the description of clock property for sc9836-uart - Revised the size of GICC to be 8KiB - Added another compatible string for psci-0.1 - Removed the clock-frequency property of timer in DT - Removed ARCH_SHARKL64, just left ARCH_SPRD only - sprd_serial.c: Removed .owner of platform_driver.driver - sprd_serial.c: Removed all usages of unlikely - sprd_serial.c: Used the .port member of sprd_port instead of the cast - sprd_serial.c: sed dynamic allocation for major/minor device id - sprd_serial.c: Added a timeout and a cpu_relax for clearing rx/tx fifo - sprd_serial.c: clear CMSPAR in termios->c_cflag - sprd_serial.c: Set the resulting baud back into the termios - sprd_serial.c: Implemented a shared interrupt handler Changes from v2: * Addressed review comments: - Added a specific compitible string 'sc9836-uart' for the serial - Added a full serial driver - Added the property 'clock-frequency' for timer node in dtsi. - Replaceed the old macro prefix 'UART_' with 'SPRD_' in the Spreadtrum serial driver code. * Revised the name of SoC and board from 'sharkl3' to 'sc9836' * Used dual-license for DTS files * Added a menuconfig 'ARCH_SPRD' in arch/arm64/Kconfig Changes from v1: * Addressed review comments: - Added "sprd" prefix to vendor-prefixes.txt - Created serial/sprd-serial.txt and remove the properties for serial-sprd from of-serial.txt to it. - Renamed of-serial.txt to 8250.txt according to Arnd's review comments - Splited and revised .dts for Sharkl64 Platform - Changed to PSCI method for cpu power management - Revised Kconfig Makefile to match the alphabetical ordering - Renamed serial-sprd-earlycon.c to serial-sprd.c Chunyan Zhang (3): Documentation: DT: Renamed of-serial.txt to 8250.txt Documentation: DT: Add bindings for Spreadtrum SoC Platform tty/serial: Add Spreadtrum sc9836-uart driver support Zhizhou Zhang (2): arm64: dts: Add support for Spreadtrum SC9836 SoC in dts and Makefile arm64: Add support for Spreadtrum's Sharkl64 Platform in Kconfig and defconfig Documentation/devicetree/bindings/arm/sprd.txt | 11 + .../bindings/serial/{of-serial.txt => 8250.txt} | 0 .../devicetree/bindings/serial/sprd-uart.txt | 7 + .../devicetree/bindings/vendor-prefixes.txt | 1 + arch/arm64/Kconfig | 5 + arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/sprd/Makefile | 5 + arch/arm64/boot/dts/sprd/sc9836-openphone.dts | 49 ++ arch/arm64/boot/dts/sprd/sc9836.dtsi | 73 ++ arch/arm64/boot/dts/sprd/sharkl64.dtsi | 67 ++ arch/arm64/configs/defconfig | 1 + drivers/tty/serial/Kconfig | 18 + drivers/tty/serial/Makefile | 1 + drivers/tty/serial/sprd_serial.c | 772 ++++++++++++++++++++ include/uapi/linux/serial_core.h | 3 + 15 files changed, 1014 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/sprd.txt rename Documentation/devicetree/bindings/serial/{of-serial.txt => 8250.txt} (100%) create mode 100644 Documentation/devicetree/bindings/serial/sprd-uart.txt create mode 100644 arch/arm64/boot/dts/sprd/Makefile create mode 100644 arch/arm64/boot/dts/sprd/sc9836-openphone.dts create mode 100644 arch/arm64/boot/dts/sprd/sc9836.dtsi create mode 100644 arch/arm64/boot/dts/sprd/sharkl64.dtsi create mode 100644 drivers/tty/serial/sprd_serial.c -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html