linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v1 0/2] rk3318 A95X Z2 board
@ 2020-06-20 13:46 Johan Jonker
  2020-06-20 13:46 ` [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description Johan Jonker
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Johan Jonker @ 2020-06-20 13:46 UTC (permalink / raw)
  To: heiko; +Cc: robh+dt, linux-arm-kernel, linux-rockchip, devicetree, linux-kernel

status: EXPERIMENTAL
Use on your own risk.

What works:
 uart2
 mmc
 emmc
 sd card
 usb2

What doesn't work:
 vop
 hdmi
 ethernet

Not tested:
 adc key
 av
 bt
 ir
 spdif
 wifi

No support in mainline:
 usb3
 front display

Problems:
 U-boot only starts on emmc, then loads kernel from sd card.
 Need pd_ignore_unused and clk_ignore_unused in command line
 to prevent a crash. Missing power domains?
 Hdmi hotplug detects DVI modes, but marks them all BAD.
 A fixed display mode in the command line also gives no penguins
 on the screen.
 Etc.

Johan Jonker (2):
  dt-bindings: arm: rockchip: add A95X Z2 description
  arm64: dts: rockchip: add rk3318 A95X Z2 board

 .../devicetree/bindings/arm/rockchip.yaml          |   5 +
 arch/arm64/boot/dts/rockchip/Makefile              |   1 +
 arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts    | 417 +++++++++++++++++++++
 3 files changed, 423 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts

--
2.11.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description
  2020-06-20 13:46 [RFC PATCH v1 0/2] rk3318 A95X Z2 board Johan Jonker
@ 2020-06-20 13:46 ` Johan Jonker
  2020-07-15 19:29   ` Rob Herring
  2020-06-20 13:46 ` [RFC PATCH v1 2/2] arm64: dts: rockchip: add rk3318 A95X Z2 board Johan Jonker
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Johan Jonker @ 2020-06-20 13:46 UTC (permalink / raw)
  To: heiko; +Cc: robh+dt, linux-arm-kernel, linux-rockchip, devicetree, linux-kernel

Add A95X Z2 description for a board with rk3318 processor.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
---
 Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
index d4a404509..3d44b3cf0 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.yaml
+++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
@@ -25,6 +25,11 @@ properties:
           - const: vamrs,rock960
           - const: rockchip,rk3399
 
+      - description: A95X Z2
+        items:
+          - const: a95x,z2
+          - const: rockchip,rk3318
+
       - description: Amarula Vyasa RK3288
         items:
           - const: amarula,vyasa-rk3288
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [RFC PATCH v1 2/2] arm64: dts: rockchip: add rk3318 A95X Z2 board
  2020-06-20 13:46 [RFC PATCH v1 0/2] rk3318 A95X Z2 board Johan Jonker
  2020-06-20 13:46 ` [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description Johan Jonker
@ 2020-06-20 13:46 ` Johan Jonker
  2020-06-22  8:01 ` [RFC PATCH v1 0/2] " Johan Jonker
  2020-06-25  8:38 ` Johan Jonker
  3 siblings, 0 replies; 10+ messages in thread
From: Johan Jonker @ 2020-06-20 13:46 UTC (permalink / raw)
  To: heiko; +Cc: robh+dt, linux-arm-kernel, linux-rockchip, devicetree, linux-kernel

The rk3318 A95X Z2 boards are sold as TV box.
No further documentation is given, but from the dts files
extracted it seems that the rk3318 processor is simulair
to the rk3328. This dts file contains only the basic nodes
that have support in the mainline kernel.

Features:

CPU: RK3318 Quad-Core Cortex-A53
GPU: Mali-450
RAM: 2/4GB DDR3
ROM: EMMC 16/32/64GB
HDMI: HDMI 2.0a for 4k@60Hz
Ethernet: 10/100M standard RJ-45
WiFi: 2.4G+5G WIFI, 802.11 b/g/n
Bluetooth: 4.0
1 x USB 3.0
1 x USB 2.0
1 x Micro SD card slot
1 x SPDIF
1 x AV
1 x DC IN

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
---
 arch/arm64/boot/dts/rockchip/Makefile           |   1 +
 arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts | 417 ++++++++++++++++++++++++
 2 files changed, 418 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts

diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index b87b1f773..aa508bc4a 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -2,6 +2,7 @@
 dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-roc-cc.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a95x-z2.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts b/arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts
new file mode 100644
index 000000000..939e08e67
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts
@@ -0,0 +1,417 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+#include <dt-bindings/input/input.h>
+#include "rk3328.dtsi"
+
+/ {
+	model = "A95X Z2";
+	compatible = "a95x,z2", "rockchip,rk3318";
+
+	chosen {
+		stdout-path = "serial2:1500000n8";
+	};
+
+	adc-keys {
+		compatible = "adc-keys";
+		io-channels = <&saradc 0>;
+		io-channel-names = "buttons";
+		keyup-threshold-microvolt = <1800000>;
+		poll-interval = <100>;
+
+		vol-up-key {
+			label = "volume up";
+			linux,code = <KEY_VOLUMEUP>;
+			press-threshold-microvolt = <17000>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		cyx_led: led-0 {
+			gpios = <&gpio2 RK_PC7 GPIO_ACTIVE_HIGH>;
+			label = "CYX_LED";
+			pinctrl-names = "default";
+			pinctrl-0 = <&cyx_led_pin>;
+		};
+	};
+
+	ir-receiver {
+		compatible = "gpio-ir-receiver";
+		gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
+		pinctrl-0 = <&ir_int>;
+		pinctrl-names = "default";
+	};
+
+	sdio_pwrseq: sdio-pwrseq {
+		compatible = "mmc-pwrseq-simple";
+		pinctrl-names = "default";
+		pinctrl-0 = <&wifi_enable_h>;
+		reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+	};
+
+	spdif-sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "spdif";
+
+		simple-audio-card,cpu {
+			sound-dai = <&spdif>;
+		};
+
+		simple-audio-card,codec {
+			sound-dai = <&spdif_out>;
+		};
+	};
+
+	spdif_out: spdif-out {
+		compatible = "linux,spdif-dit";
+		#sound-dai-cells = <0>;
+	};
+
+	/* Power tree */
+	regulators {
+		compatible = "simple-mfd";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		vccio_1v8_reg: regulator@0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "vccio_1v8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-always-on;
+		};
+
+		vccio_3v3_reg: regulator@1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "vccio_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+		};
+	};
+
+	/* In use with kernel/U-boot with rk3328 usb3 support */
+	vcc_host_vbus: host-vbus-regulator {
+		compatible = "regulator-fixed";
+		gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&host_vbus_drv>;
+		regulator-name = "vcc_host_vbus";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		enable-active-high;
+	};
+
+	vcc_otg_vbus: otg-vbus-regulator {
+		compatible = "regulator-fixed";
+		gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&otg_vbus_drv>;
+		regulator-name = "vcc_otg_vbus";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		enable-active-high;
+	};
+
+	vcc_phy: vcc-phy-regulator {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_phy";
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vcc_sd: sdmmc-regulator {
+		compatible = "regulator-fixed";
+		gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&sdmmc0m1_gpio>;
+		regulator-name = "vcc_sd";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vccio_3v3_reg>;
+	};
+
+	vdd_arm: vdd-arm {
+		compatible = "pwm-regulator";
+		pwms = <&pwm0 0 5000 1>;
+		regulator-name = "vdd_arm";
+		regulator-min-microvolt = <950000>;
+		regulator-max-microvolt = <1400000>;
+		regulator-settling-time-up-us = <250>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vdd_log: vdd-log {
+		compatible = "regulator-fixed";
+		regulator-name = "vdd_log";
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	/* Enable if the kernel has support for a gpu_opp_table */
+#if 0
+	vdd_log: vdd-log {
+		compatible = "pwm-regulator";
+		pwms = <&pwm1 0 5000 1>;
+		regulator-name = "vdd_log";
+		regulator-min-microvolt = <900000>;
+		regulator-max-microvolt = <1300000>;
+		regulator-settling-time-up-us = <250>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+#endif
+};
+
+&analog_sound {
+	status = "okay";
+};
+
+&codec {
+	status = "okay";
+};
+
+&cpu0 {
+	cpu-supply = <&vdd_arm>;
+};
+
+&cpu1 {
+	cpu-supply = <&vdd_arm>;
+};
+
+&cpu2 {
+	cpu-supply = <&vdd_arm>;
+};
+
+&cpu3 {
+	cpu-supply = <&vdd_arm>;
+};
+
+&cpu0_opp_table {
+	opp-1200000000 {
+		status = "disabled";
+	};
+
+	opp-1296000000 {
+		status = "disabled";
+	};
+};
+
+&emmc {
+	bus-width = <8>;
+	cap-mmc-highspeed;
+	non-removable;
+	pinctrl-names = "default";
+	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
+	status = "okay";
+};
+
+&gmac2phy {
+	assigned-clock-rate = <50000000>;
+	assigned-clocks = <&cru SCLK_MAC2PHY>;
+	assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
+	clock_in_out = "output";
+	phy-supply = <&vcc_phy>;
+	status = "okay";
+};
+
+&gpu {
+	mali-supply = <&vdd_log>;
+	status = "okay";
+};
+
+&hdmi {
+	ddc-i2c-scl-high-time-ns = <9625>;
+	ddc-i2c-scl-low-time-ns = <10000>;
+	status = "okay";
+};
+
+&hdmiphy {
+	status = "okay";
+};
+
+&hdmi_sound {
+	status = "okay";
+};
+
+&i2s0 {
+	status = "okay";
+};
+
+&i2s1 {
+	status = "okay";
+};
+
+&io_domains {
+	pmuio-supply = <&vccio_3v3_reg>;
+	vccio1-supply = <&vccio_3v3_reg>;
+	vccio2-supply = <&vccio_1v8_reg>;
+	vccio3-supply = <&vccio_3v3_reg>;
+	vccio4-supply = <&vccio_1v8_reg>;
+	vccio5-supply = <&vccio_3v3_reg>;
+	vccio6-supply = <&vccio_3v3_reg>;
+	status = "okay";
+};
+
+&pinctrl {
+	ir {
+		ir_int: ir-int {
+			rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
+	leds {
+		cyx_led_pin: cyx-led-pin {
+			rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
+	pwm0 {
+		pwm0_pin_pull_up: pwm0-pin-pull-up {
+			rockchip,pins = <2 RK_PA4 1 &pcfg_pull_up>;
+		};
+	};
+
+	pwm1 {
+		pwm1_pin_pull_up: pwm1-pin-pull-up {
+			rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up>;
+		};
+	};
+
+	sdio-pwrseq {
+		wifi_enable_h: wifi-enable-h {
+			rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
+	sdmmc1 {
+		clk_32k_out: clk-32k-out {
+			rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>;
+		};
+	};
+
+	usb {
+		host_vbus_drv: host-vbus-drv {
+			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+
+		otg_vbus_drv: otg-vbus-drv {
+			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+};
+
+&pwm0 {
+	pinctrl-names = "active";
+	pinctrl-0 = <&pwm0_pin_pull_up>;
+	status = "okay";
+};
+
+	/* Enable if the kernel has support for a gpu_opp_table */
+#if 0
+&pwm1 {
+	pinctrl-names = "active";
+	pinctrl-0 = <&pwm1_pin_pull_up>;
+	status = "okay";
+};
+#endif
+
+&saradc {
+	vref-supply = <&vccio_1v8_reg>;
+	status = "okay";
+};
+
+&sdio {
+	bus-width = <4>;
+	cap-sd-highspeed;
+	cap-sdio-irq;
+	keep-power-in-suspend;
+	max-frequency = <125000000>;
+	mmc-pwrseq = <&sdio_pwrseq>;
+	non-removable;
+	pinctrl-names = "default";
+	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &clk_32k_out>;
+	sd-uhs-sdr104;
+	status = "okay";
+};
+
+&sdmmc {
+	bus-width = <4>;
+	cap-sd-highspeed;
+	disable-wp;
+	pinctrl-names = "default";
+	pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
+	vmmc-supply = <&vcc_sd>;
+	status = "okay";
+};
+
+&spdif {
+	pinctrl-names = "default";
+	pinctrl-0 = <&spdifm0_tx>;
+	status = "okay";
+};
+
+&soc_crit {
+	temperature = <115000>; /* millicelsius */
+};
+
+&target {
+	temperature = <105000>; /* millicelsius */
+};
+
+&threshold {
+	temperature = <90000>; /* millicelsius */
+};
+
+&tsadc {
+	rockchip,hw-tshut-temp = <120000>;
+	status = "okay";
+};
+
+&u2phy {
+	status = "okay";
+
+	u2phy_host: host-port {
+		status = "okay";
+	};
+
+	u2phy_otg: otg-port {
+		phy-supply = <&vcc_otg_vbus>;
+		status = "okay";
+	};
+};
+
+&uart0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart0_xfer &uart0_cts>;
+	status = "okay";
+};
+
+&uart2 {
+	status = "okay";
+};
+
+&usb20_otg {
+	status = "okay";
+};
+
+&usb_host0_ehci {
+	status = "okay";
+};
+
+&usb_host0_ohci {
+	status = "okay";
+};
+
+&vop {
+	status = "okay";
+};
+
+&vop_mmu {
+	status = "okay";
+};
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [RFC PATCH v1 0/2] rk3318 A95X Z2 board
  2020-06-20 13:46 [RFC PATCH v1 0/2] rk3318 A95X Z2 board Johan Jonker
  2020-06-20 13:46 ` [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description Johan Jonker
  2020-06-20 13:46 ` [RFC PATCH v1 2/2] arm64: dts: rockchip: add rk3318 A95X Z2 board Johan Jonker
@ 2020-06-22  8:01 ` Johan Jonker
  2020-06-25  8:38 ` Johan Jonker
  3 siblings, 0 replies; 10+ messages in thread
From: Johan Jonker @ 2020-06-22  8:01 UTC (permalink / raw)
  To: heiko
  Cc: robh+dt, linux-arm-kernel, linux-rockchip, devicetree,
	linux-kernel, frank.wang

Hi,

BUG report 1:
About phy-rockchip-inno-usb2.c and rk3318.

Goal is to use ttyUSB0 as console in combination with agetty as long as
we don't have a working HDMI signal on a DVI monitor.
Boot with rk3318 starts normal on emmc with U-boot OK. It then loads the
kernel
and initrd on SD card. Log view on ttyS2 works.
At the end of the init process extcon0 sends 2 events sortly after each
other.
usb2 crashes if extcon0 event reports 'USB=0' and 'DCP=1'.
It looks like there's no consistant init (delay?) in the driver or hardware.

Boot only possible with busybox + initrd with no scripts that delay
event handling.
(Un)plug events are unrelayable. Getty only becomes active
if usb cable connected direct to the board(without usb hub).
With systemd only a kernel log scroll, but never able to use ttyUSB0 as
login.

mdev.conf line to catch the events:

extcon[0-9]+    root:root 666 */bin/cat /sys/class/extcon/extcon0/state
> /dev/kmsg

In extlinux.conf clk and pm must be ignored in the kernel command line
to prevent a crash.

label kernel
    kernel /Image
    fdt /rk3318-a95x-z2.dtb
    initrd /rootfs.cpio
    append console=ttyUSB0,115200n8
           console=ttyS2,1500000n8
           pd_ignore_unused
           clk_ignore_unused
           initcall_debug=1
           debug
           drm.debug=0xe
           video=HDMI-A-1:1280x720@60
           earlycon=uart8250,mmio32,0xff130000,keep
           swiotlb=1
           kpti=0
           no_console_suspend=1
           consoleblank=0
           rootwait

Question:
Does anyone have a solution for usb2 or
was there previous discussion/info about this?

Why has rk3328.dtsi incomplete (see TRM) power-domains and qos? Does
that work?
Was rk3318 VOP+HDMI, gmac2phy tested in Linux mainline before?

Kind regards,

Johan

Kernel log with usb2 OK:

[    0.959594] Run /init as init process
[    0.959937]   with arguments:
[    0.960210]     /init
[    0.960416]   with environment:
[    0.960703]     HOME=/
[    0.960917]     TERM=linux
[    0.961562] process '/bin/busybox' started with executable stack
[    0.967474] usb 1-1: new full-speed USB device number 2 using dwc2

[..]

[    6.785160] USB=1
[    6.785160] USB-HOST=0
[    6.785160] SDP=1
[    6.785160] CDP=0
[    6.785160] DCP=0
[    6.785160] SLOW-CHARGER=0
[    6.785165] USB=1
[    6.785165] USB-HOST=0
[    6.785165] SDP=1
[    6.785165] CDP=0
[    6.785165] DCP=0
[    6.785165] SLOW-CHARGER=0
[   13.729625] random: crng init done
[   31.715450] vcc_host_vbus: disabling

Kernel log with usb2 crash:

[    0.940666] Run /init as init process
[    0.941005]   with arguments:
[    0.941280]     /init
[    0.941490]   with environment:
[    0.941781]     HOME=/
[    0.941999]     TERM=linux
[    0.942536] process '/bin/busybox' started with executable stack
[    0.967442] usb 1-1: new full-speed USB device number 2 using dwc2

[..]

[    7.300792] USB=0
[    7.300792] USB-HOST=0
[    7.300792] SDP=0
[    7.300792] CDP=0
[    7.300792] DCP=1
[    7.300792] SLOW-CHARGER=0


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [RFC PATCH v1 0/2] rk3318 A95X Z2 board
  2020-06-20 13:46 [RFC PATCH v1 0/2] rk3318 A95X Z2 board Johan Jonker
                   ` (2 preceding siblings ...)
  2020-06-22  8:01 ` [RFC PATCH v1 0/2] " Johan Jonker
@ 2020-06-25  8:38 ` Johan Jonker
  3 siblings, 0 replies; 10+ messages in thread
From: Johan Jonker @ 2020-06-25  8:38 UTC (permalink / raw)
  To: heiko; +Cc: robh+dt, linux-arm-kernel, linux-rockchip, devicetree, linux-kernel

Hi,

Status update.

On 6/20/20 3:46 PM, Johan Jonker wrote:
> status: EXPERIMENTAL

> What works:
>  uart2
>  mmc
>  emmc
>  sd card
>  usb2

///////////////////////////

USB2:

The usb2 port only works reliable with:

	dr_mode = "host";

Question for Heiko:
Should we change that in rk3328.dtsi or in rk3318-a95x-z2.dts?

///////////////////////////

USB3:

The usb3 port does work with the drivers phy-rockchip-inno-usb3.c and
dwc3-rockchip-inno.c. This work around however still gives a warning for
storage devices..

Disconnect a ttyUSB device gives this log:

[   25.215260] cp210x 4-1:1.0: cp210x converter detected
[   25.219970] usb 4-1: cp210x converter now attached to ttyUSB1

[..]

[   27.413766] usb 4-1: USB disconnect, device number 2
[   27.415492] cp210x ttyUSB1: cp210x converter now disconnected from
ttyUSB1
[   27.416517] cp210x 4-1:1.0: device disconnected

When we disconnect a USB Mass Storage device it give a warning about the
cable.

[   61.597606] usb 5-1: new SuperSpeed Gen 1 USB device number 2 using
xhci-hcd
[   61.622267] usb-storage 5-1:1.0: USB Mass Storage device detected
[   61.624285] scsi host0: usb-storage 5-1:1.0

[..]

[   81.238511] usb 5-1: USB disconnect, device number 2

[..]

[   83.737413] usb usb5-port1: Cannot enable. Maybe the USB cable is bad?
[   86.370725] usb usb5-port1: attempt power cycle

///////////////////////////

adc-key test OK with:

./evtest

///////////////////////////

ir test OK with:

./insmod  gpio-ir-recv.ko
./ir-keytable -w /usr/etc/rc-keymaps/protocols/a95x_z2.toml
./evtest

The remote control has 2 buttons for KEY_VOLUMEDOWN and KEY_VOLUMEUP.
The linux definitions have only definitions for 1 key set.

Question:

How can I differentiate between them?

a95x_z2.toml:

[[protocols]]
name = "a95_z2"
protocol = "nec"
variant = "nec"
[protocols.scancodes]
0xdf1c = "KEY_POWER"
0xdff1 = "KEY_POWER2"
0xdff2 = "KEY_VIDEO_NEXT"
0xdff3 = "KEY_MUTE"
0xdff4 = "KEY_VOLUMEDOWN"
0xdff5 = "KEY_VOLUMEUP"
0xdf4b = "KEY_PROG1"
0xdf4f = "KEY_PROG2"
0xdf01 = "KEY_PLAY"
0xdf5f = "KEY_HELP"
0xdf5c = "KEY_VOLUMEDOWN"
0xdf5d = "KEY_VOLUMEUP"
0xdf42 = "KEY_HOME"
0xdf0a = "KEY_BACK"
0xdf1a = "KEY_UP"
0xdf47 = "KEY_LEFT"
0xdf07 = "KEY_RIGHT"
0xdf48 = "KEY_DOWN"
0xdf06 = "KEY_OK"
0xdf03 = "KEY_REPLY"
0xdf18 = "KEY_MENU"
0xdf54 = "KEY_1"
0xdf16 = "KEY_2"
0xdf15 = "KEY_3"
0xdf50 = "KEY_4"
0xdf12 = "KEY_5"
0xdf11 = "KEY_6"
0xdf4c = "KEY_7"
0xdf0e = "KEY_8"
0xdf0d = "KEY_9"
0xdf41 = "KEY_FN"
0xdf0c = "KEY_0"
0xdf10 = "KEY_DELETE"

///////////////////////////

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description
  2020-06-20 13:46 ` [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description Johan Jonker
@ 2020-07-15 19:29   ` Rob Herring
  2020-07-16 12:05     ` Johan Jonker
  0 siblings, 1 reply; 10+ messages in thread
From: Rob Herring @ 2020-07-15 19:29 UTC (permalink / raw)
  To: Johan Jonker
  Cc: heiko, linux-arm-kernel, linux-rockchip, devicetree, linux-kernel

On Sat, Jun 20, 2020 at 03:46:58PM +0200, Johan Jonker wrote:
> Add A95X Z2 description for a board with rk3318 processor.
> 
> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
> ---
>  Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
> index d4a404509..3d44b3cf0 100644
> --- a/Documentation/devicetree/bindings/arm/rockchip.yaml
> +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
> @@ -25,6 +25,11 @@ properties:
>            - const: vamrs,rock960
>            - const: rockchip,rk3399
>  
> +      - description: A95X Z2
> +        items:
> +          - const: a95x,z2

Need to document vendor prefix.

> +          - const: rockchip,rk3318
> +
>        - description: Amarula Vyasa RK3288
>          items:
>            - const: amarula,vyasa-rk3288
> -- 
> 2.11.0
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description
  2020-07-15 19:29   ` Rob Herring
@ 2020-07-16 12:05     ` Johan Jonker
  2020-07-16 13:34       ` Robin Murphy
  0 siblings, 1 reply; 10+ messages in thread
From: Johan Jonker @ 2020-07-16 12:05 UTC (permalink / raw)
  To: Rob Herring
  Cc: heiko, linux-arm-kernel, linux-rockchip, devicetree, linux-kernel

Hi Rob,

The A95X Z2 boxes are sold by various vendors/manufacturers/web shops.
The box it self only shows a label with a model name.
Determining the true vendor is a kind of tricky for a outsider of the
business.
Could you advise what would be a save choice to the rather rigid vendor
requirements.
Is for example this a option:

  "^a95x,.*":
    description: A95X

Is there someone who can give more info on this subject?

Kind regards,

Johan Jonker

On 7/15/20 9:29 PM, Rob Herring wrote:
> On Sat, Jun 20, 2020 at 03:46:58PM +0200, Johan Jonker wrote:
>> Add A95X Z2 description for a board with rk3318 processor.
>>
>> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
>> ---
>>  Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
>> index d4a404509..3d44b3cf0 100644
>> --- a/Documentation/devicetree/bindings/arm/rockchip.yaml
>> +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
>> @@ -25,6 +25,11 @@ properties:
>>            - const: vamrs,rock960
>>            - const: rockchip,rk3399
>>  
>> +      - description: A95X Z2
>> +        items:
>> +          - const: a95x,z2
> 
> Need to document vendor prefix.
> 
>> +          - const: rockchip,rk3318
>> +
>>        - description: Amarula Vyasa RK3288
>>          items:
>>            - const: amarula,vyasa-rk3288
>> -- 
>> 2.11.0
>>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description
  2020-07-16 12:05     ` Johan Jonker
@ 2020-07-16 13:34       ` Robin Murphy
  2020-07-16 16:11         ` Johan Jonker
  0 siblings, 1 reply; 10+ messages in thread
From: Robin Murphy @ 2020-07-16 13:34 UTC (permalink / raw)
  To: Johan Jonker, Rob Herring
  Cc: linux-rockchip, linux-kernel, heiko, linux-arm-kernel, devicetree

On 2020-07-16 13:05, Johan Jonker wrote:
> Hi Rob,
> 
> The A95X Z2 boxes are sold by various vendors/manufacturers/web shops.
> The box it self only shows a label with a model name.
> Determining the true vendor is a kind of tricky for a outsider of the
> business.
> Could you advise what would be a save choice to the rather rigid vendor
> requirements.
> Is for example this a option:
> 
>    "^a95x,.*":
>      description: A95X
> 
> Is there someone who can give more info on this subject?

FWIW we already have some "A95X" branded things attributed to Nexbox in 
upstream DTs, however, the evidence from scraping around the internet 
suggests that the closest thing to an original vendor for the "A95X Z2" 
model is probably these folks:

https://zkmagic.en.alibaba.com/

Robin.

> 
> Kind regards,
> 
> Johan Jonker
> 
> On 7/15/20 9:29 PM, Rob Herring wrote:
>> On Sat, Jun 20, 2020 at 03:46:58PM +0200, Johan Jonker wrote:
>>> Add A95X Z2 description for a board with rk3318 processor.
>>>
>>> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
>>> ---
>>>   Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
>>>   1 file changed, 5 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
>>> index d4a404509..3d44b3cf0 100644
>>> --- a/Documentation/devicetree/bindings/arm/rockchip.yaml
>>> +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
>>> @@ -25,6 +25,11 @@ properties:
>>>             - const: vamrs,rock960
>>>             - const: rockchip,rk3399
>>>   
>>> +      - description: A95X Z2
>>> +        items:
>>> +          - const: a95x,z2
>>
>> Need to document vendor prefix.
>>
>>> +          - const: rockchip,rk3318
>>> +
>>>         - description: Amarula Vyasa RK3288
>>>           items:
>>>             - const: amarula,vyasa-rk3288
>>> -- 
>>> 2.11.0
>>>
> 
> 
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description
  2020-07-16 13:34       ` Robin Murphy
@ 2020-07-16 16:11         ` Johan Jonker
  2020-07-16 19:18           ` Robin Murphy
  0 siblings, 1 reply; 10+ messages in thread
From: Johan Jonker @ 2020-07-16 16:11 UTC (permalink / raw)
  To: Robin Murphy, Rob Herring
  Cc: linux-rockchip, linux-kernel, heiko, linux-arm-kernel, devicetree

On 7/16/20 3:34 PM, Robin Murphy wrote:
> On 2020-07-16 13:05, Johan Jonker wrote:
>> Hi Rob,
>>
>> The A95X Z2 boxes are sold by various vendors/manufacturers/web shops.
>> The box it self only shows a label with a model name.
>> Determining the true vendor is a kind of tricky for a outsider of the
>> business.
>> Could you advise what would be a save choice to the rather rigid vendor
>> requirements.
>> Is for example this a option:
>>
>>    "^a95x,.*":
>>      description: A95X
>>
>> Is there someone who can give more info on this subject?
> 
> FWIW we already have some "A95X" branded things attributed to Nexbox in
> upstream DTs, however, the evidence from scraping around the internet
> suggests that the closest thing to an original vendor for the "A95X Z2"
> model is probably these folks:
> 
> https://zkmagic.en.alibaba.com/

That's where I got my update/backup img from.
A mail was sent, but what if they all claim to be a 'official' or
'direct' store?

option 1:

      - description: A95X Z2
        items:
          - const: a95x,z2

  "^a95x,.*":
    description: A95X

or option 2:

      - description: Zkmagic A95X Z2
        items:
          - const: zkmagic,a95x-z2

  "^zkmagic,.*":
    description: Shenzhen Zkmagic Technology Co., Ltd.

I'ld rather prefer a short neutral name like option 1 just to be save. ;)
For the completeness there seems to be:
a95x a2
a95x a3
a95x f1
a95x f2
a95x f3
a95x max
a95x max plus
a95x r1
a95x r2
a95x r3
a95x r5
a95x z2
a95x z2 +

Any advice welcome..

Johan

> 
> Robin.
> 
>>
>> Kind regards,
>>
>> Johan Jonker
>>
>> On 7/15/20 9:29 PM, Rob Herring wrote:
>>> On Sat, Jun 20, 2020 at 03:46:58PM +0200, Johan Jonker wrote:
>>>> Add A95X Z2 description for a board with rk3318 processor.
>>>>
>>>> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
>>>> ---
>>>>   Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
>>>>   1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml
>>>> b/Documentation/devicetree/bindings/arm/rockchip.yaml
>>>> index d4a404509..3d44b3cf0 100644
>>>> --- a/Documentation/devicetree/bindings/arm/rockchip.yaml
>>>> +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
>>>> @@ -25,6 +25,11 @@ properties:
>>>>             - const: vamrs,rock960
>>>>             - const: rockchip,rk3399
>>>>   +      - description: A95X Z2
>>>> +        items:
>>>> +          - const: a95x,z2
>>>
>>> Need to document vendor prefix.
>>>
>>>> +          - const: rockchip,rk3318
>>>> +
>>>>         - description: Amarula Vyasa RK3288
>>>>           items:
>>>>             - const: amarula,vyasa-rk3288
>>>> -- 
>>>> 2.11.0
>>>>
>>
>>
>> _______________________________________________
>> Linux-rockchip mailing list
>> Linux-rockchip@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description
  2020-07-16 16:11         ` Johan Jonker
@ 2020-07-16 19:18           ` Robin Murphy
  0 siblings, 0 replies; 10+ messages in thread
From: Robin Murphy @ 2020-07-16 19:18 UTC (permalink / raw)
  To: Johan Jonker, Rob Herring
  Cc: linux-rockchip, linux-kernel, heiko, linux-arm-kernel, devicetree

On 2020-07-16 17:11, Johan Jonker wrote:
> On 7/16/20 3:34 PM, Robin Murphy wrote:
>> On 2020-07-16 13:05, Johan Jonker wrote:
>>> Hi Rob,
>>>
>>> The A95X Z2 boxes are sold by various vendors/manufacturers/web shops.
>>> The box it self only shows a label with a model name.
>>> Determining the true vendor is a kind of tricky for a outsider of the
>>> business.
>>> Could you advise what would be a save choice to the rather rigid vendor
>>> requirements.
>>> Is for example this a option:
>>>
>>>     "^a95x,.*":
>>>       description: A95X
>>>
>>> Is there someone who can give more info on this subject?
>>
>> FWIW we already have some "A95X" branded things attributed to Nexbox in
>> upstream DTs, however, the evidence from scraping around the internet
>> suggests that the closest thing to an original vendor for the "A95X Z2"
>> model is probably these folks:
>>
>> https://zkmagic.en.alibaba.com/
> 
> That's where I got my update/backup img from.
> A mail was sent, but what if they all claim to be a 'official' or
> 'direct' store?

Well, at some point we have to make a judgement call if the facts aren't 
easy to come by, but it's already clear that "A95X" is not a vendor but 
some kind of generic model name apparently used by multiple vendors. We 
already have "nexbox,a95x" as a binding for another model, and a 
plausible idea of who's responsible for this one, so I think 
"zkmagic,a95x-z2" would be the appropriate binding here. It's hardly the 
end of the world if it's not 100% accurate, but that's no excuse not to 
at least try.

Robin.

> 
> option 1:
> 
>        - description: A95X Z2
>          items:
>            - const: a95x,z2
> 
>    "^a95x,.*":
>      description: A95X
> 
> or option 2:
> 
>        - description: Zkmagic A95X Z2
>          items:
>            - const: zkmagic,a95x-z2
> 
>    "^zkmagic,.*":
>      description: Shenzhen Zkmagic Technology Co., Ltd.
> 
> I'ld rather prefer a short neutral name like option 1 just to be save. ;)
> For the completeness there seems to be:
> a95x a2
> a95x a3
> a95x f1
> a95x f2
> a95x f3
> a95x max
> a95x max plus
> a95x r1
> a95x r2
> a95x r3
> a95x r5
> a95x z2
> a95x z2 +
> 
> Any advice welcome..
> 
> Johan
> 
>>
>> Robin.
>>
>>>
>>> Kind regards,
>>>
>>> Johan Jonker
>>>
>>> On 7/15/20 9:29 PM, Rob Herring wrote:
>>>> On Sat, Jun 20, 2020 at 03:46:58PM +0200, Johan Jonker wrote:
>>>>> Add A95X Z2 description for a board with rk3318 processor.
>>>>>
>>>>> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
>>>>> ---
>>>>>    Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
>>>>>    1 file changed, 5 insertions(+)
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml
>>>>> b/Documentation/devicetree/bindings/arm/rockchip.yaml
>>>>> index d4a404509..3d44b3cf0 100644
>>>>> --- a/Documentation/devicetree/bindings/arm/rockchip.yaml
>>>>> +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
>>>>> @@ -25,6 +25,11 @@ properties:
>>>>>              - const: vamrs,rock960
>>>>>              - const: rockchip,rk3399
>>>>>    +      - description: A95X Z2
>>>>> +        items:
>>>>> +          - const: a95x,z2
>>>>
>>>> Need to document vendor prefix.
>>>>
>>>>> +          - const: rockchip,rk3318
>>>>> +
>>>>>          - description: Amarula Vyasa RK3288
>>>>>            items:
>>>>>              - const: amarula,vyasa-rk3288
>>>>> -- 
>>>>> 2.11.0
>>>>>
>>>
>>>
>>> _______________________________________________
>>> Linux-rockchip mailing list
>>> Linux-rockchip@lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>>>
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-07-16 19:18 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-20 13:46 [RFC PATCH v1 0/2] rk3318 A95X Z2 board Johan Jonker
2020-06-20 13:46 ` [RFC PATCH v1 1/2] dt-bindings: arm: rockchip: add A95X Z2 description Johan Jonker
2020-07-15 19:29   ` Rob Herring
2020-07-16 12:05     ` Johan Jonker
2020-07-16 13:34       ` Robin Murphy
2020-07-16 16:11         ` Johan Jonker
2020-07-16 19:18           ` Robin Murphy
2020-06-20 13:46 ` [RFC PATCH v1 2/2] arm64: dts: rockchip: add rk3318 A95X Z2 board Johan Jonker
2020-06-22  8:01 ` [RFC PATCH v1 0/2] " Johan Jonker
2020-06-25  8:38 ` Johan Jonker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).