Skip to contentSkip to conversation

Add Spreadtrum Sharkl64 Platform support

PATCH Superseded Chunyan Zhang 6 participants 13 messages Dec 4, 2014 – Jan 9, 2015 1 message not in the archive

Subsystems (6)

v4 of 8 Superseded Latest is v8 →

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): sc9836v4

#1 lore raw

v4 cover Add Spreadtrum Sharkl64 Platform support

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 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 both on Fast Mode and sc9836-fpga board. We use the latest boot-wrapper-aarch64 as the bootloader.

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: Used 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       |    9 +
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 arch/arm64/Kconfig                                 |    6 +
 arch/arm64/boot/dts/Makefile                       |    1 +
 arch/arm64/boot/dts/sprd-sc9836-openphone.dts      |   85 +++
 arch/arm64/boot/dts/sprd-sc9836.dtsi               |  102 +++
 arch/arm64/boot/dts/sprd-sharkl64.dtsi             |  105 +++
 arch/arm64/configs/defconfig                       |    1 +
 drivers/tty/serial/Kconfig                         |   18 +
 drivers/tty/serial/Makefile                        |    1 +
 drivers/tty/serial/sprd_serial.c                   |  761 ++++++++++++++++++++
 include/uapi/linux/serial_core.h                   |    3 +
 14 files changed, 1104 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-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
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH v4 1/5 Documentation: DT: Renamed of-serial.txt to 8250.txt

The file of-serial.txt was only for 8250 compatible UART implementations, so renamed it to 8250.txt to avoid confusing other persons. This is suggested by Arnd, see:
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-September/291455.html

---
 .../bindings/serial/{of-serial.txt => 8250.txt}    |    0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename Documentation/devicetree/bindings/serial/{of-serial.txt => 8250.txt} (100%)
Documentation/devicetree/bindings/serial/8250.txt renamed from Documentation/devicetree/bindings/serial/of-serial.txt +0 -0
similarity index 100%
rename from Documentation/devicetree/bindings/serial/of-serial.txt
rename to Documentation/devicetree/bindings/serial/8250.txt
Signature · 1 line
1.7.9.5
#3 lore raw

PATCH v4 2/5 Documentation: DT: Add bindings for Spreadtrum SoC Platform

In reply to Chunyan Zhang

Adds Spreadtrum's prefix "sprd" to vendor-prefixes file. Adds the devicetree binding documentations for Spreadtrum's sc9836-uart and SC9836 SoC based on the Sharkl64 Platform which is a 64-bit SoC Platform of Spreadtrum.

---
 Documentation/devicetree/bindings/arm/sprd.txt     |   11 +++++++++++
 .../devicetree/bindings/serial/sprd-uart.txt       |    9 +++++++++
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 3 files changed, 21 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/sprd.txt
 create mode 100644 Documentation/devicetree/bindings/serial/sprd-uart.txt
Documentation/devicetree/bindings/arm/sprd.txt new file +11 -0
new file mode 100644
index 0000000..31a629d
@@ -0,0 +1,11 @@
+Spreadtrum SoC Platforms Device Tree Bindings
+----------------------------------------------------
+
+Sharkl64 is a Spreadtrum's SoC Platform which is based
+on ARM 64-bit processor.
+
+SC9836 openphone board with SC9836 SoC based on the
+Sharkl64 Platform shall have the following properties.
+
+Required root node properties:
+        - compatible = "sprd,sc9836-openphone", "sprd,sc9836";
Documentation/devicetree/bindings/serial/sprd-uart.txt new file +9 -0
new file mode 100644
index 0000000..9000e2e
@@ -0,0 +1,9 @@
+* Spreadtrum serial UART
+
+Required properties:
+- compatible: must be "sprd,sc9836-uart"
+- reg: offset and length of the register set for the device
+- interrupts: exactly one interrupt specifier
+
+Optional properties:
+- clocks: phandles to input clocks.
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
index 723999d..ce99ecdfb 100644
@@ -142,6 +142,7 @@ snps 	Synopsys, Inc.
 solidrun	SolidRun
 sony	Sony Corporation
 spansion	Spansion Inc.
+sprd	Spreadtrum Communications Inc.
 st	STMicroelectronics
 ste	ST-Ericsson
 stericsson	ST-Ericsson
Signature · 1 line
1.7.9.5
#4 lore raw

PATCH v4 3/5 arm64: dts: Add support for Spreadtrum SC9836 SoC in dts and Makefile

In reply to Chunyan Zhang

From: Zhizhou Zhang <[email protected]>

Adds the device tree support for Spreadtrum SC9836 SoC which is based on Sharkl64 platform.

Sharkl64 platform contains the common nodes of Spreadtrum's arm64-based SoCs.

---
 arch/arm64/boot/dts/Makefile                  |    1 +
 arch/arm64/boot/dts/sprd-sc9836-openphone.dts |   85 ++++++++++++++++++++
 arch/arm64/boot/dts/sprd-sc9836.dtsi          |  102 ++++++++++++++++++++++++
 arch/arm64/boot/dts/sprd-sharkl64.dtsi        |  105 +++++++++++++++++++++++++
 4 files changed, 293 insertions(+)
 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
arch/arm64/boot/dts/Makefile +1 -0
index f8001a6..d0aff8a 100644
@@ -1,4 +1,5 @@
 dtb-$(CONFIG_ARCH_THUNDER) += thunder-88xx.dtb
+dtb-$(CONFIG_ARCH_SHARKL64) += sprd-sc9836-openphone.dtb
 dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb foundation-v8.dtb
 dtb-$(CONFIG_ARCH_XGENE) += apm-mustang.dtb
 
arch/arm64/boot/dts/sprd-sc9836-openphone.dts new file +85 -0

85 lines not on this page · raw message

arch/arm64/boot/dts/sprd-sc9836.dtsi new file +102 -0

102 lines not on this page · raw message

arch/arm64/boot/dts/sprd-sharkl64.dtsi new file +105 -0

105 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#5 lore raw

PATCH v4 4/5 arm64: Add support for Spreadtrum's Sharkl64 Platform in Kconfig and defconfig

In reply to Chunyan Zhang

From: Zhizhou Zhang <[email protected]>

Adds support for Spreadtrum's SoC Platform in the arm64 Kconfig and defconfig files.

---
 arch/arm64/Kconfig           |    6 ++++++
 arch/arm64/configs/defconfig |    1 +
 2 files changed, 7 insertions(+)
arch/arm64/Kconfig +6 -0
index ac9afde..abca2c4 100644
@@ -146,6 +146,12 @@ config ARCH_THUNDER
 	help
 	  This enables support for Cavium's Thunder Family of SoCs.
 
+config ARCH_SPRD
+	bool "Spreadtrum SoC platform"
+	depends on ARM64
+	help
+	  Support for Spreadtrum ARM based SoCs
+
 config ARCH_VEXPRESS
 	bool "ARMv8 software model (Versatile Express)"
 	select ARCH_REQUIRE_GPIOLIB
arch/arm64/configs/defconfig +1 -0
index 9cd37de..db39340 100644
@@ -33,6 +33,7 @@ CONFIG_MODULE_UNLOAD=y
 # CONFIG_BLK_DEV_BSG is not set
 # CONFIG_IOSCHED_DEADLINE is not set
 CONFIG_ARCH_THUNDER=y
+CONFIG_ARCH_SPRD=y
 CONFIG_ARCH_VEXPRESS=y
 CONFIG_ARCH_XGENE=y
 CONFIG_SMP=y
Signature · 1 line
1.7.9.5
#6 lore raw

PATCH v4 5/5 tty/serial: Add Spreadtrum sc9836-uart driver support

In reply to Chunyan Zhang

Add a full sc9836-uart driver for SC9836 SoC which is based on the spreadtrum sharkl64 platform.
This driver also support earlycon.
This patch also replaced the spaces between the macros and their values with the tabs in serial_core.h

---
 drivers/tty/serial/Kconfig       |   18 +
 drivers/tty/serial/Makefile      |    1 +
 drivers/tty/serial/sprd_serial.c |  761 ++++++++++++++++++++++++++++++++++++++
 include/uapi/linux/serial_core.h |    3 +
 4 files changed, 783 insertions(+)
 create mode 100644 drivers/tty/serial/sprd_serial.c
drivers/tty/serial/Kconfig +18 -0
index 649b784..7b9b0f4 100644
@@ -1573,6 +1573,24 @@ config SERIAL_MEN_Z135
 	  This driver can also be build as a module. If so, the module will be called
 	  men_z135_uart.ko
 
+config SERIAL_SPRD
+	tristate "Support for SPRD serial"
+	depends on ARCH_SPRD
+	select SERIAL_CORE
+	help
+	  This enables the driver for the Spreadtrum's serial.
+
+config SERIAL_SPRD_CONSOLE
+	bool "SPRD UART console support"
+	depends on SERIAL_SPRD=y
+	select SERIAL_CORE_CONSOLE
+	select SERIAL_EARLYCON
+	help
+	  Support for early debug console using Spreadtrum's serial. This enables
+	  the console before standard serial driver is probed. This is enabled
+	  with "earlycon" on the kernel command line. The console is
+	  enabled when early_param is processed.
+
 endmenu
 
 config SERIAL_MCTRL_GPIO
drivers/tty/serial/Makefile +1 -0
index 9a548ac..4801aca 100644
@@ -93,6 +93,7 @@ obj-$(CONFIG_SERIAL_ARC)	+= arc_uart.o
 obj-$(CONFIG_SERIAL_RP2)	+= rp2.o
 obj-$(CONFIG_SERIAL_FSL_LPUART)	+= fsl_lpuart.o
 obj-$(CONFIG_SERIAL_MEN_Z135)	+= men_z135_uart.o
+obj-$(CONFIG_SERIAL_SPRD) += sprd_serial.o
 
 # GPIOLIB helpers for modem control lines
 obj-$(CONFIG_SERIAL_MCTRL_GPIO)	+= serial_mctrl_gpio.o
drivers/tty/serial/sprd_serial.c new file +761 -0

761 lines not on this page · raw message

include/uapi/linux/serial_core.h +3 -0
index 16ad852..c0791d6 100644
@@ -247,4 +247,7 @@
 /* MESON */
 #define PORT_MESON	109
 
+/* SPRD SERIAL  */
+#define PORT_SPRD       110
+
 #endif /* _UAPILINUX_SERIAL_CORE_H */
Signature · 1 line
1.7.9.5
maintainer
#7 lore raw

Re: [PATCH v4 5/5] tty/serial: Add Spreadtrum sc9836-uart driver support

include/uapi/linux/serial_core.h line 251

Quoted 8 lines · Chunyan Zhang
include/uapi/linux/serial_core.h +2 -0
@@ -247,4 +247,7 @@
 /* MESON */
 #define PORT_MESON	109
 
+/* SPRD SERIAL  */
+#define PORT_SPRD       110

Please use a tab here, like all other entries have.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#8 lore raw
In reply to Chunyan Zhang
Quoted 6 lines · Chunyan Zhang

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.

Quoted 8 lines

This patchset adds Sharkl64 support in arm64 device tree and 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 both on Fast Mode and sc9836-fpga board. We use the latest boot-wrapper-aarch64 as the bootloader.

Hi,

We only got 3 of the 5 patches of this version (1, 2 and 4). Can you resend the dts patch to us (I'm guessing the serial one will go through Greg).

Thanks,

-Olof

reviewer
#9 lore raw
In reply to Chunyan Zhang

Hi,

Quoted 12 lines · Chunyan Zhang

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 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.

Quoted 8 lines

This version code was tesed both on Fast Mode and sc9836-fpga board. We use the latest boot-wrapper-aarch64 as the bootloader.

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

I had open questions on v3 regarding your PSCI imlpementation. You mentioned that you are using the aarch64 bootwrapper, but your DT describes PSCI 0.2, and the (upstream) bootwrapper does not implement PSCI 0.2. Adding the old PSCI compatible string is _not_ sufficient if you do not have a full PSCI 0.2 implementation.

Given that PSCI 0.2 requires more functionality to be implemented, I'd like to know that your implementation is spec-compliant (implementing the mandatory functions, nters the kernel in the correct state, etc), and that it has been tested.

Would you be able to look at my comments from the last posting please?

Thanks,
Mark.

reviewer
#10 lore raw
Quoted 35 lines · Mark Rutland

Hi,

Quoted 12 lines · Chunyan Zhang

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 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.

Quoted 8 lines

This version code was tesed both on Fast Mode and sc9836-fpga board. We use the latest boot-wrapper-aarch64 as the bootloader.

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

I had open questions on v3 regarding your PSCI imlpementation. You mentioned that you are using the aarch64 bootwrapper, but your DT describes PSCI 0.2, and the (upstream) bootwrapper does not implement PSCI 0.2. Adding the old PSCI compatible string is _not_ sufficient if you do not have a full PSCI 0.2 implementation.

Given that PSCI 0.2 requires more functionality to be implemented, I'd like to know that your implementation is spec-compliant (implementing the mandatory functions, nters the kernel in the correct state, etc), and that it has been tested.

Quoted 5 lines

Would you be able to look at my comments from the last posting please?

Thanks,
Mark.
--

Hi, Mark

Ok, I'll check it again with our related engineers.

Actually, I had read all of your comments carefully before sending each version of patches, and I replied you a few days early, I guess you may miss it :)

If we just implemented psci-0.1 until now, can we submit this path without "compatible = "arm,psci-0.2"", but only with " compatible = "arm,psci" ".

Thanks,
Chunyan

maintainer
#11 lore raw

Hi, Mark,

Quoted 31 lines · Lyra Zhang
Quoted 30 lines · Mark Rutland

Hi,

Quoted 12 lines · Chunyan Zhang

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 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.

Quoted 8 lines

This version code was tesed both on Fast Mode and sc9836-fpga board. We use the latest boot-wrapper-aarch64 as the bootloader.

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

I had open questions on v3 regarding your PSCI imlpementation. You mentioned that you are using the aarch64 bootwrapper, but your DT describes PSCI 0.2, and the (upstream) bootwrapper does not implement PSCI 0.2. Adding the old PSCI compatible string is _not_ sufficient if you do not have a full PSCI 0.2 implementation.

Quoted 6 lines
Quoted 6 lines

Given that PSCI 0.2 requires more functionality to be implemented, I'd like to know that your implementation is spec-compliant (implementing the mandatory functions, nters the kernel in the correct state, etc), and that it has been tested.

Would you be able to look at my comments from the last posting please?

I'd like to show you more technical details of our psci implementation.

Here the dt code is fresh from our engineering repository. As far as I know our engineers are testing on psci currently.

04b8b5a5 (zhiqiang.zhang 2014-12-04 15:27:17 +0800 98) psci {
04b8b5a5 (zhiqiang.zhang 2014-12-04 15:27:17 +0800 99)
compatible = "arm,psci";
04b8b5a5 (zhiqiang.zhang 2014-12-04 15:27:17 +0800 100)
method = "smc";
04b8b5a5 (zhiqiang.zhang 2014-12-04 15:27:17 +0800 101)
cpu_on = <0xc4000003>;
04b8b5a5 (zhiqiang.zhang 2014-12-04 15:27:17 +0800 102)
cpu_off = <0x84000002>;
04b8b5a5 (zhiqiang.zhang 2014-12-04 15:27:17 +0800 103)
cpu_suspend = <0xc4000001>;
04b8b5a5 (zhiqiang.zhang 2014-12-04 15:27:17 +0800 104) };

Does it reveal the information as you concern?
It's no doubt that we'll implement psci-v0.2 eventually. Considering that the code might be upstreamed in few weeks later, we submit a psci-v0.2 dts in advanced.

Thanks,
Orson

Quoted 21 lines
Quoted 4 lines

Thanks,
Mark.
--

Hi, Mark

Ok, I'll check it again with our related engineers.

Actually, I had read all of your comments carefully before sending each version of patches, and I replied you a few days early, I guess you may miss it :)

If we just implemented psci-0.1 until now, can we submit this path without "compatible = "arm,psci-0.2"", but only with " compatible = "arm,psci" ".

Thanks,
Chunyan

reviewer
#12 lore raw
In reply to Lyra Zhang
Quoted 46 lines · Lyra Zhang
Quoted 35 lines · Mark Rutland

Hi,

Quoted 12 lines · Chunyan Zhang

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 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.

Quoted 8 lines

This version code was tesed both on Fast Mode and sc9836-fpga board. We use the latest boot-wrapper-aarch64 as the bootloader.

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

I had open questions on v3 regarding your PSCI imlpementation. You mentioned that you are using the aarch64 bootwrapper, but your DT describes PSCI 0.2, and the (upstream) bootwrapper does not implement PSCI 0.2. Adding the old PSCI compatible string is _not_ sufficient if you do not have a full PSCI 0.2 implementation.

Given that PSCI 0.2 requires more functionality to be implemented, I'd like to know that your implementation is spec-compliant (implementing the mandatory functions, nters the kernel in the correct state, etc), and that it has been tested.

Quoted 5 lines

Would you be able to look at my comments from the last posting please?

Thanks,
Mark.
--

Hi, Mark

Ok, I'll check it again with our related engineers.

Quoted 7 lines

Actually, I had read all of your comments carefully before sending each version of patches, and I replied you a few days early, I guess you may miss it :)

If we just implemented psci-0.1 until now, can we submit this path without "compatible = "arm,psci-0.2"", but only with " compatible = "arm,psci" ".

Elsewhere I've recommended such things are placed in the DTB by the bootloader (at least for those cases where the bootlaoder is tied to the firmware), as it can fill in the appropriate enable-method (and add any other nodes as required).

Having compatible = "arm,psci", and a couple of other properties for now is certainly preferable to describing a not-yet-implemented PSCI 0.2.

Thanks,
Mark.

reviewer
#13 lore raw

Hi, Mark

Quoted 60 lines · Mark Rutland
Quoted 46 lines · Lyra Zhang
Quoted 35 lines · Mark Rutland

Hi,

Quoted 12 lines · Chunyan Zhang

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 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.

Quoted 8 lines

This version code was tesed both on Fast Mode and sc9836-fpga board. We use the latest boot-wrapper-aarch64 as the bootloader.

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

I had open questions on v3 regarding your PSCI imlpementation. You mentioned that you are using the aarch64 bootwrapper, but your DT describes PSCI 0.2, and the (upstream) bootwrapper does not implement PSCI 0.2. Adding the old PSCI compatible string is _not_ sufficient if you do not have a full PSCI 0.2 implementation.

Given that PSCI 0.2 requires more functionality to be implemented, I'd like to know that your implementation is spec-compliant (implementing the mandatory functions, nters the kernel in the correct state, etc), and that it has been tested.

Quoted 5 lines

Would you be able to look at my comments from the last posting please?

Thanks,
Mark.
--

Hi, Mark

Ok, I'll check it again with our related engineers.

Quoted 7 lines

Actually, I had read all of your comments carefully before sending each version of patches, and I replied you a few days early, I guess you may miss it :)

If we just implemented psci-0.1 until now, can we submit this path without "compatible = "arm,psci-0.2"", but only with " compatible = "arm,psci" ".

Elsewhere I've recommended such things are placed in the DTB by the bootloader (at least for those cases where the bootlaoder is tied to the firmware), as it can fill in the appropriate enable-method (and add any other nodes as required).

Quoted 6 lines

Having compatible = "arm,psci", and a couple of other properties for now is certainly preferable to describing a not-yet-implemented PSCI 0.2.

Thanks,
Mark.
--

Thank you for the replay.
I'll still ping my colleagues to implement PSCI 0.2, and test it. But it perhaps would not be finished soon, because our internal developing code right now is based on a little old version Linux kernel which doesn't support PSCI-0.2

Thanks again,
Chunyan