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
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 <[email protected]>
---
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
Add A95X Z2 description for a board with rk3318 processor.
Signed-off-by: Johan Jonker <[email protected]>
---
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
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
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"
///////////////////////////
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 <[email protected]>
> ---
> 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
>
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 <[email protected]>
>> ---
>> 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
>>
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 <[email protected]>
>>> ---
>>> 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
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>
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 <[email protected]>
>>>> ---
>>>> 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
>> [email protected]
>> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>>
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 <[email protected]>
>>>>> ---
>>>>> 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
>>> [email protected]
>>> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>>>
>