* [PATCH 11/12] MAINTAINERS: add myself as Nuclei SoCs/CPUs supporter
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
Currently I am working on mainlining Nuclei SoCs/CPUs Linux support.
Add myself as a supporter of this.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
MAINTAINERS | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index ea3e6c914384..499450d14625 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13733,6 +13733,13 @@ F: drivers/nubus/
F: include/linux/nubus.h
F: include/uapi/linux/nubus.h
+NUCLEI RISCV CORES AND SOCS
+M: Icenowy Zheng <icenowy@nucleisys.com>
+L: linux-riscv@lists.infradead.org
+S: Supported
+N: nuclei
+K: [^@]nuclei
+
NVIDIA (rivafb and nvidiafb) FRAMEBUFFER DRIVER
M: Antonino Daplas <adaplas@gmail.com>
L: linux-fbdev@vger.kernel.org
--
2.30.2
^ permalink raw reply related
* [PATCH 12/12] mailmap: add Icenowy Zheng's Nuclei mail addresses
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
A mail address is assigned to Icenowy under @nucleisys.com for
supporting Nuclei SoCs/CPUs in Linux (and other open source projects).
Add it to the .mailmap file.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
.mailmap | 1 +
1 file changed, 1 insertion(+)
diff --git a/.mailmap b/.mailmap
index b157f88ce26a..4bacaef7b06d 100644
--- a/.mailmap
+++ b/.mailmap
@@ -144,6 +144,7 @@ Henrik Rydberg <rydberg@bitmath.org>
Herbert Xu <herbert@gondor.apana.org.au>
Huacai Chen <chenhuacai@kernel.org> <chenhc@lemote.com>
Huacai Chen <chenhuacai@kernel.org> <chenhuacai@loongson.cn>
+Icenowy Zheng <icenowy@aosc.io> <icenowy@nucleisys.com>
Jacob Shin <Jacob.Shin@amd.com>
Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk@google.com>
Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk.kim@samsung.com>
--
2.30.2
^ permalink raw reply related
* [PATCH 10/12] RISC-V: workaround Nuclei UX600 cores with broken SATP CSR
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
Current release of Nuclei UX600 CPU cores have two errata against RISC-V
Privledged Specification 1.10: one is left over mvendorid value (not the
JEDEC ID), the other, which is a more breaking one that needs to be
workaround in software, is that satp will accept written value with
MODE=9 (Sv48, which is not supported by UX600), and silently change it
to MODE=8 (Sv39). As current kernel MMU initialization code relies on
the behavior defined on the spec (reject write request with unsupported
MODE value and do not change the CSR's value at all) to detect the
existence of Sv48, the erratum breaks the Sv48 detection code.
As both two errata are to be fixed in the next revision, use the first
to detect the existence of the second at runtime, and force Sv39 when
these errata are detected.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
arch/riscv/include/asm/vendorid_list.h | 1 +
arch/riscv/mm/init.c | 17 +++++++++++++++++
2 files changed, 18 insertions(+)
diff --git a/arch/riscv/include/asm/vendorid_list.h b/arch/riscv/include/asm/vendorid_list.h
index 9d934215b3c8..47ff43795d70 100644
--- a/arch/riscv/include/asm/vendorid_list.h
+++ b/arch/riscv/include/asm/vendorid_list.h
@@ -6,5 +6,6 @@
#define ASM_VENDOR_LIST_H
#define SIFIVE_VENDOR_ID 0x489
+#define NUCLEI_OLD_VENDOR_ID 0x2d33
#endif
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index cf4d018b7d66..0085b14ae265 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -28,6 +28,8 @@
#include <asm/io.h>
#include <asm/ptdump.h>
#include <asm/numa.h>
+#include <asm/sbi.h>
+#include <asm/vendorid_list.h>
#include "../kernel/head.h"
@@ -591,6 +593,21 @@ static __init void set_satp_mode(void)
u64 identity_satp, hw_satp;
uintptr_t set_satp_mode_pmd;
+ if (sbi_get_mvendorid() == NUCLEI_OLD_VENDOR_ID) {
+ /*
+ * Old Nuclei UX600 processor releases have broken
+ * implementation of SATP register which prevents
+ * proper runtime detection of Sv48 existence. In
+ * addition these processor releases have an old
+ * vendor id instead of proper JEDEC ID.
+ *
+ * As these releases do not support Sv48 at all,
+ * force Sv39 on them.
+ */
+ disable_pgtable_l4();
+ return;
+ }
+
set_satp_mode_pmd = ((unsigned long)set_satp_mode) & PMD_MASK;
create_pgd_mapping(early_pg_dir,
set_satp_mode_pmd, (uintptr_t)early_pud,
--
2.30.2
^ permalink raw reply related
* [PATCH 09/12] riscv: dts: add device tree for Nuclei DemoSoC w/ UX600 on DDR200T
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
As we're supporting Nuclei DemoSoC for UX600 CPU cores on DDR200T FPGA
prototyping board, add device tree files for it, including DTSI files
for basic DemoSoC structure, DemoSoC with UX600 and DemoSoC running on
DDR200T for further reusing.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
arch/riscv/boot/dts/Makefile | 1 +
arch/riscv/boot/dts/nuclei/Makefile | 2 +
.../dts/nuclei/nuclei-demosoc-ddr200t.dtsi | 41 ++++++++++++
.../nuclei/nuclei-demosoc-ux600-ddr200t.dts | 13 ++++
.../boot/dts/nuclei/nuclei-demosoc-ux600.dtsi | 49 ++++++++++++++
.../riscv/boot/dts/nuclei/nuclei-demosoc.dtsi | 67 +++++++++++++++++++
6 files changed, 173 insertions(+)
create mode 100644 arch/riscv/boot/dts/nuclei/Makefile
create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc-ddr200t.dtsi
create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600-ddr200t.dts
create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600.dtsi
create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc.dtsi
diff --git a/arch/riscv/boot/dts/Makefile b/arch/riscv/boot/dts/Makefile
index ff174996cdfd..fd31084986da 100644
--- a/arch/riscv/boot/dts/Makefile
+++ b/arch/riscv/boot/dts/Makefile
@@ -3,5 +3,6 @@ subdir-y += sifive
subdir-y += starfive
subdir-$(CONFIG_SOC_CANAAN_K210_DTB_BUILTIN) += canaan
subdir-y += microchip
+subdir-y += nuclei
obj-$(CONFIG_BUILTIN_DTB) := $(addsuffix /, $(subdir-y))
diff --git a/arch/riscv/boot/dts/nuclei/Makefile b/arch/riscv/boot/dts/nuclei/Makefile
new file mode 100644
index 000000000000..57970aabf01d
--- /dev/null
+++ b/arch/riscv/boot/dts/nuclei/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_SOC_NUCLEI) += nuclei-demosoc-ux600-ddr200t.dtb
diff --git a/arch/riscv/boot/dts/nuclei/nuclei-demosoc-ddr200t.dtsi b/arch/riscv/boot/dts/nuclei/nuclei-demosoc-ddr200t.dtsi
new file mode 100644
index 000000000000..4f44c6b564bb
--- /dev/null
+++ b/arch/riscv/boot/dts/nuclei/nuclei-demosoc-ddr200t.dtsi
@@ -0,0 +1,41 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/* Copyright (c) 2022 Nuclei System Technology */
+
+/ {
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ memory@a0000000 {
+ device_type = "memory";
+ reg = <0xa0000000 0xe000000>;
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&qspi0 {
+ status = "okay";
+
+ spi_nor: flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <8000000>;
+ };
+};
+
+&qspi2 {
+ status = "okay";
+
+ spi_mmc: mmc@0 {
+ compatible = "mmc-spi-slot";
+ reg = <0>;
+ spi-max-frequency = <8000000>;
+ };
+};
diff --git a/arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600-ddr200t.dts b/arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600-ddr200t.dts
new file mode 100644
index 000000000000..cd15ec2c1376
--- /dev/null
+++ b/arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600-ddr200t.dts
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/* Copyright (c) 2022 Nuclei System Technology */
+
+/dts-v1/;
+
+#include "nuclei-demosoc-ux600.dtsi"
+#include "nuclei-demosoc-ddr200t.dtsi"
+
+/ {
+ model = "Nuclei DemoSoC with UX600 on DDR200T";
+ compatible = "nuclei,demosoc-ux600-ddr200t",
+ "nuclei,demosoc-ux600", "nuclei,demosoc";
+};
diff --git a/arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600.dtsi b/arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600.dtsi
new file mode 100644
index 000000000000..f3588907ce3f
--- /dev/null
+++ b/arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600.dtsi
@@ -0,0 +1,49 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/* Copyright (c) 2022 Nuclei System Technology */
+
+#include "nuclei-demosoc.dtsi"
+
+/ {
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ /* The counting clock of the timer is the LF clock */
+ timebase-frequency = <32768>;
+
+ cpu0: cpu@0 {
+ compatible = "nuclei,ux607", "nuclei,ux600", "riscv";
+ device_type = "cpu";
+ reg = <0>;
+ riscv,isa = "rv64imafdc";
+ mmu-type = "riscv,sv39";
+ clock-frequency = <16000000>;
+
+ cpu0_intc: interrupt-controller {
+ #interrupt-cells = <1>;
+ compatible = "riscv,cpu-intc";
+ interrupt-controller;
+ };
+ };
+ };
+
+ clint: clint@2001000 {
+ compatible = "nuclei,ux600-clint", "sifive,clint0";
+ reg = <0x02001000 0xc000>;
+ interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>;
+ };
+
+ plic: plic@8000000 {
+ compatible = "nuclei,ux600-plic", "sifive,plic-1.0.0";
+ reg = <0x08000000 0x4000000>;
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupts-extended =
+ <&cpu0_intc 11>, <&cpu0_intc 9>;
+ riscv,ndev = <52>;
+ };
+};
+
+&ppi {
+ interrupt-parent = <&plic>;
+};
diff --git a/arch/riscv/boot/dts/nuclei/nuclei-demosoc.dtsi b/arch/riscv/boot/dts/nuclei/nuclei-demosoc.dtsi
new file mode 100644
index 000000000000..85a4f713d3d9
--- /dev/null
+++ b/arch/riscv/boot/dts/nuclei/nuclei-demosoc.dtsi
@@ -0,0 +1,67 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/* Copyright (c) 2022 Nuclei System Technology */
+
+/ {
+ /*
+ * Nuclei DemoSoC is a 32-bit design even if 64-bit CPU core is
+ * integrated into it.
+ */
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ clocks {
+ /* For most of the SoC */
+ hfclk: hfclk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <16000000>;
+ };
+
+ /* For always-on zone */
+ lfclk: lfclk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ };
+ };
+
+ /*
+ * The interrupt controller and all peripherals' interrupt parent
+ * are to be defined in individual CPU cores' DemoSoC DT.
+ */
+ ppi: ppi {
+ compatible = "simple-bus";
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ uart0: serial@10010000 {
+ compatible = "nuclei,demosoc-uart", "sifive,uart0";
+ reg = <0x10013000 0x1000>;
+ clocks = <&hfclk>;
+ interrupts = <33>;
+ status = "disabled";
+ };
+
+ qspi0: spi@10014000 {
+ compatible = "nuclei,demosoc-spi", "sifive,spi0";
+ reg = <0x10014000 0x1000>,
+ <0x20000000 0x20000000>;
+ interrupts = <35>;
+ clocks = <&hfclk>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ qspi2: spi@10034000 {
+ compatible = "nuclei,demosoc-spi", "sifive,spi0";
+ reg = <0x10034000 0x1000>;
+ interrupts = <37>;
+ clocks = <&hfclk>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+ };
+};
--
2.30.2
^ permalink raw reply related
* Re: [PATCH v6 2/2] dt-bindings:spi: Add Sunplus SP7021 schema
From: Rob Herring @ 2022-01-27 15:16 UTC (permalink / raw)
To: Li-hao Kuo
Cc: Philipp Zabel, Mark Brown, andyshevchenko, linux-spi, devicetree,
linux-kernel@vger.kernel.org, Wells Lu 呂芳騰,
LH.Kuo
In-Reply-To: <ef6d893b10afb7f76a910da031a0040c4596cd76.1642494310.git.lhjeff911@gmail.com>
On Tue, Jan 18, 2022 at 2:42 AM Li-hao Kuo <lhjeff911@gmail.com> wrote:
>
> Add bindings for Sunplus SP7021 spi driver
>
> Signed-off-by: Li-hao Kuo <lhjeff911@gmail.com>
> ---
> Changes in v6:
> - Change the interrupt-names
> mas_risc to master_risc
> - Addressed comments from Mr. Andy Shevchenko
> Change the function name: mas is master and sla is slave.
> Add temporary varilable (as suggested by Mr. Andy Shevchenko)
> Modify clk setting
> Modify the master-slave detection of the probe function.(as suggested by Mr. Andy Shevchenko)
> Modify the return value of the probe function.(as suggested by Mr. Andy Shevchenko)
> Change GPL version(as suggested by Mr. Andy Shevchenko)
>
> .../bindings/spi/spi-sunplus-sp7021.yaml | 81 ++++++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 82 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/spi/spi-sunplus-sp7021.yaml
This is now failing in linux-next, please fix:
/builds/robherring/linux-dt/Documentation/devicetree/bindings/spi/spi-sunplus-sp7021.yaml:
properties:reg:items: 'anyOf' conditional failed, one must be fixed:
['the SPI master registers', 'the SPI slave registers'] is not of
type 'object', 'boolean'
'the SPI master registers' is not of type 'object', 'boolean'
'the SPI slave registers' is not of type 'object', 'boolean'
from schema $id: http://json-schema.org/draft-07/schema#
/builds/robherring/linux-dt/Documentation/devicetree/bindings/spi/spi-sunplus-sp7021.yaml:
ignoring, error in schema: properties: reg: items
Documentation/devicetree/bindings/spi/spi-sunplus-sp7021.example.dts:19:18:
fatal error: dt-bindings/clock/sp-sp7021.h: No such file or directory
19 | #include <dt-bindings/clock/sp-sp7021.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [scripts/Makefile.lib:390:
Documentation/devicetree/bindings/spi/spi-sunplus-sp7021.example.dt.yaml]
Error 1
^ permalink raw reply
* [PATCH 08/12] dt-bindings: riscv: add binding for Nuclei platform boards
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
As we added support for RISC-V SoCs from Nuclei, add device tree binding
for the currently supported board-bitstream combo (DemoSoC with UX600 on
DDR200T board).
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
.../devicetree/bindings/riscv/nuclei.yaml | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 Documentation/devicetree/bindings/riscv/nuclei.yaml
diff --git a/Documentation/devicetree/bindings/riscv/nuclei.yaml b/Documentation/devicetree/bindings/riscv/nuclei.yaml
new file mode 100644
index 000000000000..4760568c7bde
--- /dev/null
+++ b/Documentation/devicetree/bindings/riscv/nuclei.yaml
@@ -0,0 +1,27 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/riscv/nuclei.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Nuclei SoC-based boards
+
+maintainers:
+ - Icenowy Zheng <icenowy@nucleisys.com>
+
+description:
+ Nuclei SoC-based boards
+
+properties:
+ $nodename:
+ const: '/'
+ compatible:
+ oneOf:
+ - items:
+ - const: nuclei,demosoc-ux600-ddr200t
+ - const: nuclei,demosoc-ux600
+ - const: nuclei,demosoc
+
+additionalProperties: true
+
+...
--
2.30.2
^ permalink raw reply related
* [PATCH 07/12] dt-bindings: spi: add compatible string for Nuclei DemoSoC SPI
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
Nuclei DemoSoC design integrates SPI controllers from SiFive.
Add a compatible string for these SPI controllers.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
Documentation/devicetree/bindings/spi/spi-sifive.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/spi/spi-sifive.yaml b/Documentation/devicetree/bindings/spi/spi-sifive.yaml
index 6e7e394fc1e4..60a24f31a928 100644
--- a/Documentation/devicetree/bindings/spi/spi-sifive.yaml
+++ b/Documentation/devicetree/bindings/spi/spi-sifive.yaml
@@ -20,6 +20,7 @@ properties:
- enum:
- sifive,fu540-c000-spi
- sifive,fu740-c000-spi
+ - nuclei,demosoc-spi
- const: sifive,spi0
description:
--
2.30.2
^ permalink raw reply related
* [PATCH 06/12] dt-bindings: serial: add compatible string for Nuclei DemoSoC UART
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
Nuclei DemoSoC design integrates the UART controller from SiFive.
Add a compatible string for it.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
Documentation/devicetree/bindings/serial/sifive-serial.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/serial/sifive-serial.yaml b/Documentation/devicetree/bindings/serial/sifive-serial.yaml
index 09aae43f65a7..329341a3648f 100644
--- a/Documentation/devicetree/bindings/serial/sifive-serial.yaml
+++ b/Documentation/devicetree/bindings/serial/sifive-serial.yaml
@@ -21,6 +21,7 @@ properties:
- sifive,fu540-c000-uart
- sifive,fu740-c000-uart
- canaan,k210-uarths
+ - nuclei,demosoc-uart
- const: sifive,uart0
description:
--
2.30.2
^ permalink raw reply related
* [PATCH 05/12] dt-bindings: interrupt-controller: add compatible string for UX600 PLIC
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
Nuclei UX600 series CPU has an optional PLIC (recommended when running
Linux).
Add a compatible string for it.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
.../bindings/interrupt-controller/sifive,plic-1.0.0.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
index 28b6b17fe4b2..70f5bd6cb879 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
@@ -47,6 +47,7 @@ properties:
- sifive,fu540-c000-plic
- starfive,jh7100-plic
- canaan,k210-plic
+ - nuclei,ux600-plic
- const: sifive,plic-1.0.0
reg:
--
2.30.2
^ permalink raw reply related
* [PATCH 04/12] dt-bindings: timer: add compatible for Nuclei UX600 CLINT-compat timer
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
Nuclei UX600's timer has a part which is compatible with CLINT.
Add a DT compatible string for it.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
Documentation/devicetree/bindings/timer/sifive,clint.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/timer/sifive,clint.yaml b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
index 8d5f4687add9..61a8bd8bde91 100644
--- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml
+++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
@@ -27,6 +27,7 @@ properties:
- sifive,fu540-c000-clint
- starfive,jh7100-clint
- canaan,k210-clint
+ - nuclei,ux600-clint
- const: sifive,clint0
description:
--
2.30.2
^ permalink raw reply related
* [PATCH 03/12] dt-bindings: riscv: add compatible strings for Nuclei UX600 series
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
Nuclei UX600 series are 64-bit, MMU-equipped CPUs, which can run Linux.
Add compatible strings for these CPU cores.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
Documentation/devicetree/bindings/riscv/cpus.yaml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Documentation/devicetree/bindings/riscv/cpus.yaml b/Documentation/devicetree/bindings/riscv/cpus.yaml
index aa5fb64d57eb..f50f5c3dcc06 100644
--- a/Documentation/devicetree/bindings/riscv/cpus.yaml
+++ b/Documentation/devicetree/bindings/riscv/cpus.yaml
@@ -45,6 +45,13 @@ properties:
- sifive,u54-mc
- const: sifive,rocket0
- const: riscv
+ - items:
+ - enum:
+ - nuclei,ux605
+ - nuclei,ux607
+ - nuclei,ux608
+ - const: nuclei,ux600
+ - const: riscv
- const: riscv # Simulator only
description:
Identifies that the hart uses the RISC-V instruction set
--
2.30.2
^ permalink raw reply related
* [PATCH] arm64: dts: meson-sm1-bananapi-m5: fix wrong GPIO domain for GPIOE_2
From: Dongjin Kim @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Neil Armstrong, Kevin Hilman, Jerome Brunet,
Martin Blumenstingl, devicetree, linux-arm-kernel, linux-amlogic,
linux-kernel
GPIOE_2 is in AO domain and "<&gpio GPIOE_2 ...>" changes the state of
TF_PWR_EN of 'FC8731' on BPI-M5
Fixes: 976e920183e4 ("arm64: dts: meson-sm1: add Banana PI BPI-M5 board dts")
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
---
arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
index 212c6aa5a3b8..5751c48620ed 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
@@ -123,7 +123,7 @@ vddio_c: regulator-vddio_c {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
- enable-gpio = <&gpio GPIOE_2 GPIO_ACTIVE_HIGH>;
+ enable-gpio = <&gpio_ao GPIOE_2 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
--
2.25.1
^ permalink raw reply related
* [PATCH 02/12] RISC-V: add Nuclei SoC Kconfig option
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
As a CPU core vendor, Nuclei has some "DemoSoCs" that uses Nuclei CPU
cores and modified peripherals from Hummingbird E203.
Add a Kconfig option for this.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
arch/riscv/Kconfig.socs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs
index 6ec44a22278a..e4488ac8c72b 100644
--- a/arch/riscv/Kconfig.socs
+++ b/arch/riscv/Kconfig.socs
@@ -7,6 +7,12 @@ config SOC_MICROCHIP_POLARFIRE
help
This enables support for Microchip PolarFire SoC platforms.
+config SOC_NUCLEI
+ bool "Nuclei SoCs"
+ select SIFIVE_PLIC
+ help
+ This enables support for Nuclei SoC platform hardware.
+
config SOC_SIFIVE
bool "SiFive SoCs"
select SERIAL_SIFIVE if TTY
--
2.30.2
^ permalink raw reply related
* [PATCH 01/12] dt-bindings: vendor-prefixes: add Nuclei
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
In-Reply-To: <20220127151647.2375449-1-icenowy@nucleisys.com>
Nuclei System Technology is a RISC-V CPU IP core vendor.
Add vendor prefix for it.
Signed-off-by: Icenowy Zheng <icenowy@nucleisys.com>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 294093d45a23..8d786367b093 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -842,6 +842,8 @@ patternProperties:
description: Nordic Semiconductor
"^novtech,.*":
description: NovTech, Inc.
+ "^nuclei,.*":
+ description: Nuclei System Technology
"^nutsboard,.*":
description: NutsBoard
"^nuvoton,.*":
--
2.30.2
^ permalink raw reply related
* [PATCH 00/12] Initial support for Nuclei DemoSoC w/ UX600
From: Icenowy Zheng @ 2022-01-27 15:16 UTC (permalink / raw)
To: Rob Herring, Palmer Dabbelt, Paul Walmsley, Albert Ou
Cc: linux-kernel, devicetree, linux-riscv, linux-serial, linux-spi,
Icenowy Zheng
This patchset adds support for Nuclei DemoSoC (which is an evaluation
platform made with Nuclei CPU cores and mainly peripherals in original
Hummingbird E203 project, running on FPGA) with UX600 CPU cores.
Most patches are for DT bindings, the remaining ones are adding a
Kconfig option and some DTS/DTSI files. The last one is a workaround for
a severe bug in currently released versions of UX600, which is found
in 5.17 kernel, in which Sv48 support is added to Linux.
Two non-technical patches are in this patchset too, for MAINTAINERS
and .mailmap items.
Icenowy Zheng (12):
dt-bindings: vendor-prefixes: add Nuclei
RISC-V: add Nuclei SoC Kconfig option
dt-bindings: riscv: add compatible strings for Nuclei UX600 series
dt-bindings: timer: add compatible for Nuclei UX600 CLINT-compat timer
dt-bindings: interrupt-controller: add compatible string for UX600
PLIC
dt-bindings: serial: add compatible string for Nuclei DemoSoC UART
dt-bindings: spi: add compatible string for Nuclei DemoSoC SPI
dt-bindings: riscv: add binding for Nuclei platform boards
riscv: dts: add device tree for Nuclei DemoSoC w/ UX600 on DDR200T
RISC-V: workaround Nuclei UX600 cores with broken SATP CSR
MAINTAINERS: add myself as Nuclei SoCs/CPUs supporter
mailmap: add Icenowy Zheng's Nuclei mail addresses
.mailmap | 1 +
.../sifive,plic-1.0.0.yaml | 1 +
.../devicetree/bindings/riscv/cpus.yaml | 7 ++
.../devicetree/bindings/riscv/nuclei.yaml | 27 ++++++++
.../bindings/serial/sifive-serial.yaml | 1 +
.../devicetree/bindings/spi/spi-sifive.yaml | 1 +
.../bindings/timer/sifive,clint.yaml | 1 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 7 ++
arch/riscv/Kconfig.socs | 6 ++
arch/riscv/boot/dts/Makefile | 1 +
arch/riscv/boot/dts/nuclei/Makefile | 2 +
.../dts/nuclei/nuclei-demosoc-ddr200t.dtsi | 41 ++++++++++++
.../nuclei/nuclei-demosoc-ux600-ddr200t.dts | 13 ++++
.../boot/dts/nuclei/nuclei-demosoc-ux600.dtsi | 49 ++++++++++++++
.../riscv/boot/dts/nuclei/nuclei-demosoc.dtsi | 67 +++++++++++++++++++
arch/riscv/include/asm/vendorid_list.h | 1 +
arch/riscv/mm/init.c | 17 +++++
18 files changed, 245 insertions(+)
create mode 100644 Documentation/devicetree/bindings/riscv/nuclei.yaml
create mode 100644 arch/riscv/boot/dts/nuclei/Makefile
create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc-ddr200t.dtsi
create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600-ddr200t.dts
create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600.dtsi
create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc.dtsi
--
2.30.2
^ permalink raw reply
* Re: [PATCH] arm64: dts: meson-sm1: fix wrong GPIO domain for GPIOE_2
From: Neil Armstrong @ 2022-01-27 15:04 UTC (permalink / raw)
To: Dongjin Kim
Cc: Rob Herring, Kevin Hilman, Jerome Brunet, Martin Blumenstingl,
devicetree, linux-arm-kernel, linux-amlogic, linux-kernel
In-Reply-To: <20220127145338.GB2417963@paju>
Hi,
On 27/01/2022 15:53, Dongjin Kim wrote:
> On Thu, Jan 27, 2022 at 02:00:11PM +0100, Neil Armstrong wrote:
>> Hi,
>>
>> On 27/01/2022 13:25, Dongjin Kim wrote:
>>> GPIOE_2 is in AO domain and "<&gpio GPIOE_2 ...>" changes the state of
>>> GPIOZ_14 connected to INTR of 'RTL8211F' on ODROID-HC and TF_PWR_EN of
>>> 'FC8731' on BPI-M5
>>>
>>> Fixes: 1f80a5cf74a6 ("arm64: dts: meson-sm1-odroid: add missing enable gpio and supply for tf_io regulator")
>>> Fixes: 976e920183e4 ("arm64: dts: meson-sm1: add Banana PI BPI-M5 board dts")
>>>
>>> Signed-off-by: Dongjin Kim <tobetter@gmail.com>
>>> ---
>>> arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts | 2 +-
>>> arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi | 2 +-
>>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
>>> index 212c6aa5a3b8..5751c48620ed 100644
>>> --- a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
>>> +++ b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
>>> @@ -123,7 +123,7 @@ vddio_c: regulator-vddio_c {
>>> regulator-min-microvolt = <1800000>;
>>> regulator-max-microvolt = <3300000>;
>>>
>>> - enable-gpio = <&gpio GPIOE_2 GPIO_ACTIVE_HIGH>;
>>> + enable-gpio = <&gpio_ao GPIOE_2 GPIO_ACTIVE_HIGH>;
>>> enable-active-high;
>>> regulator-always-on;
>>>
>>> diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
>>> index bf29afac645f..d4349b355e4a 100644
>>> --- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
>>> +++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
>>> @@ -52,7 +52,7 @@ tf_io: gpio-regulator-tf_io {
>>> regulator-max-microvolt = <3300000>;
>>> vin-supply = <&vcc_5v>;
>>>
>>> - enable-gpio = <&gpio GPIOE_2 GPIO_ACTIVE_HIGH>;
>>> + enable-gpio = <&gpio_ao GPIOE_2 GPIO_ACTIVE_HIGH>;
>>> enable-active-high;
>>> regulator-always-on;
>>>
>>>
>> Thanks for the fixes,
>> can you send 2 patches fixing each files instead ?
>>
>> Thanks,
>> Neil
>
> Sure.
> By the way, I would drop a fix for 'meson-sm1-odroid.dtsi' since I found a
> patch just now.
> https://patchwork.kernel.org/project/linux-amlogic/patch/20220127130537.GA187347@odroid-VirtualBox/
Sure, you sent the v1 at the same time, and he just resend a new version.
Neil
>
> Thanks,
> Dongjin.
>
^ permalink raw reply
* Re: [PATCH v1 06/14] media: platform: mtk-mdp3: Modify mtk-img-ipi.h for MT8195 SCP
From: AngeloGioacchino Del Regno @ 2022-01-27 15:02 UTC (permalink / raw)
To: roy-cw.yeh, Rob Herring, Matthias Brugger, Chun-Kuang Hu
Cc: Mauro Carvalho Chehab, Fabien Parent, jason-jh . lin,
daoyuan huang, Ping-Hsun Wu, Moudy Ho, river . cheng,
Yongqiang Niu, devicetree, linux-kernel, linux-media,
linux-arm-kernel, linux-mediatek
In-Reply-To: <20220117055254.9777-7-roy-cw.yeh@mediatek.com>
Il 17/01/22 06:52, roy-cw.yeh ha scritto:
> From: "Roy-CW.Yeh" <roy-cw.yeh@mediatek.com>
>
> 1. Modify struct member to 4 byte-alignment for MT8195 SCP limitation
> 2. Add new struct for hw engine adding in MT8195
>
> Signed-off-by: Roy-CW.Yeh <roy-cw.yeh@mediatek.com>
This will break MT8183; is there any new firmware for that SoC that will
synchronize these structures?
Alternatively, you should add a new version of these structures and select
them with a wrapper function on a per-SoC basis, or per firmware version.
^ permalink raw reply
* Re: [PATCH] arm64: dts: meson-sm1: fix wrong GPIO domain for GPIOE_2
From: Dongjin Kim @ 2022-01-27 14:53 UTC (permalink / raw)
To: Neil Armstrong
Cc: Rob Herring, Kevin Hilman, Jerome Brunet, Martin Blumenstingl,
devicetree, linux-arm-kernel, linux-amlogic, linux-kernel
In-Reply-To: <dcb67b4e-6a46-86a6-b21f-99263cc9ff05@baylibre.com>
On Thu, Jan 27, 2022 at 02:00:11PM +0100, Neil Armstrong wrote:
> Hi,
>
> On 27/01/2022 13:25, Dongjin Kim wrote:
> > GPIOE_2 is in AO domain and "<&gpio GPIOE_2 ...>" changes the state of
> > GPIOZ_14 connected to INTR of 'RTL8211F' on ODROID-HC and TF_PWR_EN of
> > 'FC8731' on BPI-M5
> >
> > Fixes: 1f80a5cf74a6 ("arm64: dts: meson-sm1-odroid: add missing enable gpio and supply for tf_io regulator")
> > Fixes: 976e920183e4 ("arm64: dts: meson-sm1: add Banana PI BPI-M5 board dts")
> >
> > Signed-off-by: Dongjin Kim <tobetter@gmail.com>
> > ---
> > arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts | 2 +-
> > arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi | 2 +-
> > 2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
> > index 212c6aa5a3b8..5751c48620ed 100644
> > --- a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
> > +++ b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
> > @@ -123,7 +123,7 @@ vddio_c: regulator-vddio_c {
> > regulator-min-microvolt = <1800000>;
> > regulator-max-microvolt = <3300000>;
> >
> > - enable-gpio = <&gpio GPIOE_2 GPIO_ACTIVE_HIGH>;
> > + enable-gpio = <&gpio_ao GPIOE_2 GPIO_ACTIVE_HIGH>;
> > enable-active-high;
> > regulator-always-on;
> >
> > diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
> > index bf29afac645f..d4349b355e4a 100644
> > --- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
> > +++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
> > @@ -52,7 +52,7 @@ tf_io: gpio-regulator-tf_io {
> > regulator-max-microvolt = <3300000>;
> > vin-supply = <&vcc_5v>;
> >
> > - enable-gpio = <&gpio GPIOE_2 GPIO_ACTIVE_HIGH>;
> > + enable-gpio = <&gpio_ao GPIOE_2 GPIO_ACTIVE_HIGH>;
> > enable-active-high;
> > regulator-always-on;
> >
> >
> Thanks for the fixes,
> can you send 2 patches fixing each files instead ?
>
> Thanks,
> Neil
Sure.
By the way, I would drop a fix for 'meson-sm1-odroid.dtsi' since I found a
patch just now.
https://patchwork.kernel.org/project/linux-amlogic/patch/20220127130537.GA187347@odroid-VirtualBox/
Thanks,
Dongjin.
^ permalink raw reply
* Re: [PATCH v3 3/4] dt-bindings: hwmon: Add binding for max6639
From: sylv @ 2022-01-27 14:49 UTC (permalink / raw)
To: Guenter Roeck
Cc: linux-hwmon, Patrick Rudolph, Jean Delvare, Rob Herring,
Roland Stigge, devicetree
In-Reply-To: <20220125050804.GA361944@roeck-us.net>
On Mon, 2022-01-24 at 21:08 -0800, Guenter Roeck wrote:
> On Wed, Jan 19, 2022 at 10:53:54AM +0100, Marcello Sylvester Bauer
> wrote:
> > Add Devicetree binding documentation for Maxim MAX6639 temperature
> > monitor with PWM fan-speed controller.
> >
> > The devicetree documentation for the SD3078 device tree.
> >
> > Signed-off-by: Marcello Sylvester Bauer <sylv@sylv.io>
> > ---
> > .../bindings/hwmon/maxim,max6639.yaml | 112
> > ++++++++++++++++++
> > 1 file changed, 112 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/hwmon/maxim,max6639.yaml
> >
> > diff --git
> > a/Documentation/devicetree/bindings/hwmon/maxim,max6639.yaml
> > b/Documentation/devicetree/bindings/hwmon/maxim,max6639.yaml
> > new file mode 100644
> > index 000000000000..7093cbeba44b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/hwmon/maxim,max6639.yaml
> > @@ -0,0 +1,112 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +
> > +$id: http://devicetree.org/schemas/hwmon/maxim,max6639.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Maxim max6639
> > +
> > +maintainers:
> > + - Roland Stigge <stigge@antcom.de>
> > +
> > +description: |
> > + The MAX6639 is a 2-channel temperature monitor with dual,
> > automatic, PWM
> > + fan-speed controller. It monitors its own temperature and one
> > external
> > + diode-connected transistor or the temperatures of two external
> > diode-connected
> > + transistors, typically available in CPUs, FPGAs, or GPUs.
> > +
> > + Datasheets:
> > +
> > https://datasheets.maximintegrated.com/en/ds/MAX6639-MAX6639F.pdf
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - maxim,max6639
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + '#address-cells':
> > + const: 1
> > +
> > + '#size-cells':
> > + const: 0
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - "channel@0"
> > + - "channel@1"
> > +
> > +additionalProperties: false
> > +
> > +patternProperties:
> > + "^channel@[0-1]$":
> > + type: object
> > + description: |
> > + Represents the two fans and their specific configuration.
> > +
> > + properties:
> > + reg:
> > + description: |
> > + The fan number.
> > + items:
> > + minimum: 0
> > + maximum: 1
> > +
> > + pwm-polarity:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + enum: [0, 1]
> > + description:
> > + PWM output is low at 100% duty cycle when this bit is
> > set to zero. PWM
> > + output is high at 100% duty cycle when this bit is set
> > to 1.
> > +
> > + pulses-per-revolution:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + enum: [1, 2, 3, 4]
> > + description:
> > + Value specifying the number of pulses per revolution of
> > the controlled
> > + FAN.
> > +
>
> I think the above two properties should be optional.
> pulses-per-revolution is 2 for almost all fans out there,
> and pwm polarity is positive almost all the time.
makes sense. I guess I'll keep the default values like before and
also set rpm-range (resp. rpm-max) to 4000.
>
> > + rpm-range:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + enum: [2000, 4000, 8000, 16000]
> > + description:
> > + Scales the tachometer counter by setting the maximum
> > (full-scale) value
> > + of the RPM range.
> > +
> Isn't this the maximum rpm ? Using the term "range" seems to be
> a bit misleading.
Yeah, the data sheet explicitly calls this register "rpm fan range".
But since this is not a vendor specific property and the purpose is
to set a maximum rpm value, it should rather be called "rpm-max".
Thanks!
Marcello
>
> > + required:
> > + - reg
> > + - pwm-polarity
> > + - pulses-per-revolution
> > + - rpm-range
> > +
> > +examples:
> > + - |
> > + i2c {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + max6639@10 {
> > + compatible = "maxim,max6639";
> > + reg = <0x10>;
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + channel@0 {
> > + reg = <0x0>;
> > + pwm-polarity = <1>;
> > + pulses-per-revolution = <2>;
> > + rpm-range = <4000>;
> > + };
> > +
> > + channel@1 {
> > + reg = <0x1>;
> > + pwm-polarity = <1>;
> > + pulses-per-revolution = <2>;
> > + rpm-range = <4000>;
> > + };
> > + };
> > + };
> > +...
^ permalink raw reply
* Re: [PATCH 27/27] drm: rockchip: Add VOP2 driver
From: Piotr Oniszczuk @ 2022-01-27 14:43 UTC (permalink / raw)
To: Sascha Hauer
Cc: dri-devel, linux-arm-kernel@lists.infradead.org, linux-rockchip,
devicetree@vger.kernel.org, kernel, Andy Yan, Benjamin Gaignard,
Michael Riesch, Sandy Huang, Heiko Stübner, Peter Geis
In-Reply-To: <20220127110009.GK23490@pengutronix.de>
> Wiadomość napisana przez Sascha Hauer <s.hauer@pengutronix.de> w dniu 27.01.2022, o godz. 12:00:
>
>>
>> -on rk3399 it gives me 4k screen where right vertical 1/3 part of screen is garbage
>> -on rk3566 my samsung 4k monitor has black screen and cycle of OSD msgs: HDMI2 connected; HDMI2 disconnected; ....
>
> Same here on my rk3568, also with a samsung monitor. Was it 4k@60Hz or
> 4k@30Hz? If the former, could you give 4k@30Hz a try? That mode works
> well here.
It was 4k@30
Indeed - firmware of my samsung is total crap in UI aspects - so maybe in hdmi modes are as well :-p
Anyway - this crap monitor works ok with 4k@30 on AW/RPI4/rk3399/n3450/MacBookPro
>>
>> BTW: getting well working 4k HDMI modes on rk3399 was real story for me.
>> There is many different series of patches to address this - but all have some subtle issues for me (i.e. 4k HDMI modes works but i.e. Qt is failing with DRM atomic commits in EGLFS)
>> I developed well working [1] giving me reliable 4k on rk3399 (including working Qt DRM drawing in EGLFS mode)
>> Maybe it will be somehow helpful to get 4k modes solution for rk3566 _and_ rk3399 (on single kernel binary)?
>>
>> [1] https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-5.16/files/0730-drm-rockchip-add-4k-videomodes-support.patch
>
> At least there are patches in it that I have in my series as well and
> keep popping up everywhere like "drm/rockchip: dw_hdmi: Use
> auto-generated tables" and "drm/rockchip: dw_hdmi: Set cur_ctr to 0
> always"
>
What was time-consuming for me was finding working patches combination which not breaks Qt DRM Atomic commits.
Many series floating arround various git repos/projects were offering 4k modes but breaking Qt in the same time....
btw: have you plans to look/address non-working DRM planes in VOP2?
Rendering to DRM plane gives me green screen on rk3566.
The same code (and binaries) are working ok on rk3399 (and other SoCs).
^ permalink raw reply
* Re: [PATCH] ASoC: dt-bindings: Centralize the 'sound-dai' definition
From: Rob Herring @ 2022-01-27 14:35 UTC (permalink / raw)
To: Jerome Brunet
Cc: Liam Girdwood, Mark Brown, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
Andy Gross, Bjorn Andersson, Krzysztof Kozlowski,
Sylwester Nawrocki, Rohit kumar, Cheng-Yi Chiang, Shengjiu Wang,
Srinivas Kandagatla, Jonathan Bakker, Krzysztof Kozlowski,
Linux-ALSA, devicetree, linux-kernel@vger.kernel.org,
linux-arm-kernel, linux-arm-msm
In-Reply-To: <1jtudp1rc1.fsf@starbuckisacylon.baylibre.com>
On Thu, Jan 27, 2022 at 3:05 AM Jerome Brunet <jbrunet@baylibre.com> wrote:
>
>
> On Wed 26 Jan 2022 at 17:14, Rob Herring <robh@kernel.org> wrote:
>
> > 'sound-dai' is a common property, but has duplicate type definitions.
> > Create a new common definition to define the type and then update all
> > the other occurrences to just define how many entries there are just
> > like other phandle+arg properties.
> >
> > The constraints on the number of entries is based on the examples and
> > could be wrong.
> >
> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> > Please ack, this depends on commit abf0fee97313 ("dt-bindings: Improve
> > phandle-array schemas") in my tree.
> > ---
> > .../bindings/sound/amlogic,gx-sound-card.yaml | 4 ++--
> > .../bindings/sound/google,sc7180-trogdor.yaml | 6 ++++--
> > .../bindings/sound/imx-audio-card.yaml | 7 +++++--
> > .../bindings/sound/qcom,sm8250.yaml | 10 +++++++---
> > .../bindings/sound/samsung,aries-wm8994.yaml | 5 +----
> > .../bindings/sound/samsung,midas-audio.yaml | 2 --
> > .../bindings/sound/samsung,odroid.yaml | 9 +++------
> > .../devicetree/bindings/sound/sound-dai.yaml | 20 +++++++++++++++++++
> > 8 files changed, 42 insertions(+), 21 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/sound/sound-dai.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> > index 2e35aeaa8781..8b5be4b92f35 100644
> > --- a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> > +++ b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> > @@ -57,7 +57,7 @@ patternProperties:
> > rate
> >
> > sound-dai:
> > - $ref: /schemas/types.yaml#/definitions/phandle-array
> > + maxItems: 1
> > description: phandle of the CPU DAI
> >
> > patternProperties:
> > @@ -71,7 +71,7 @@ patternProperties:
> >
> > properties:
> > sound-dai:
> > - $ref: /schemas/types.yaml#/definitions/phandle-array
> > + maxItems: 1
>
> No min or max here. Links may have more than one codec.
>
> Ex:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts#n158
What do you mean? Every 'sound-dai' there only has 1 phande+args. Each
codec is a child node.
Rob
^ permalink raw reply
* [PATCH v4 2/2] dt-bindings: panel: Introduce a panel-lvds binding
From: Maxime Ripard @ 2022-01-27 14:30 UTC (permalink / raw)
To: Laurent Pinchart, Thierry Reding, Sam Ravnborg, Daniel Vetter,
David Airlie, Rob Herring, Frank Rowand
Cc: devicetree, dri-devel, Maxime Ripard, Rob Herring
In-Reply-To: <20220127143045.310199-1-maxime@cerno.tech>
Following the previous patch, let's introduce a generic panel-lvds
binding that documents the panels that don't have any particular
constraint documented.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
Changes from v3:
- Rework compatible clause
Changes from v2:
- Added a MAINTAINERS entry
Changes from v1:
- Added missing compatible
- Fixed lint
---
.../bindings/display/panel/panel-lvds.yaml | 47 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 48 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
new file mode 100644
index 000000000000..c092a040424b
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Generic LVDS Display Panel Device Tree Bindings
+
+maintainers:
+ - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
+ - Thierry Reding <thierry.reding@gmail.com>
+
+allOf:
+ - $ref: panel-common.yaml#
+ - $ref: /schemas/display/lvds.yaml/#
+
+select:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - auo,b101ew05
+ - tbs,a711-panel
+
+ required:
+ - compatible
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - auo,b101ew05
+ - tbs,a711-panel
+
+ - const: panel-lvds
+
+unevaluatedProperties: false
+
+required:
+ - compatible
+ - data-mapping
+ - width-mm
+ - height-mm
+ - panel-timing
+ - port
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 3f679974e3fe..8800765fc712 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6077,6 +6077,7 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
S: Maintained
F: drivers/gpu/drm/panel/panel-lvds.c
F: Documentation/devicetree/bindings/display/lvds.yaml
+F: Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
M: Guido Günther <agx@sigxcpu.org>
--
2.34.1
^ permalink raw reply related
* [PATCH v4 1/2] dt-bindings: display: Turn lvds.yaml into a generic schema
From: Maxime Ripard @ 2022-01-27 14:30 UTC (permalink / raw)
To: Laurent Pinchart, Thierry Reding, Sam Ravnborg, Daniel Vetter,
David Airlie, Rob Herring, Frank Rowand
Cc: devicetree, dri-devel, Maxime Ripard, Rob Herring
The lvds.yaml file so far was both defining the generic LVDS properties
(such as data-mapping) that could be used for any LVDS sink, but also
the panel-lvds binding.
That last binding was to describe LVDS panels simple enough, and had a
number of other bindings using it as a base to specialise it further.
However, this situation makes it fairly hard to extend and reuse both
the generic parts, and the panel-lvds itself.
Let's remove the panel-lvds parts and leave only the generic LVDS
properties.
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
Changes from v3:
- Adjust documentation a bit
Changes from v2:
- Fix references to that file
Changes from v1:
- Moved the schema out of panel
---
.../bindings/display/bridge/lvds-codec.yaml | 2 +-
.../bindings/display/{panel => }/lvds.yaml | 35 +++----------------
.../display/panel/advantech,idk-1110wr.yaml | 19 ++++++++--
.../display/panel/innolux,ee101ia-01d.yaml | 23 ++++++++++--
.../display/panel/mitsubishi,aa104xd12.yaml | 19 ++++++++--
.../display/panel/mitsubishi,aa121td01.yaml | 19 ++++++++--
.../display/panel/sgd,gktw70sdae4se.yaml | 19 ++++++++--
MAINTAINERS | 2 +-
8 files changed, 95 insertions(+), 43 deletions(-)
rename Documentation/devicetree/bindings/display/{panel => }/lvds.yaml (84%)
diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
index 5079c1cc337b..27b905b81b12 100644
--- a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
@@ -67,7 +67,7 @@ properties:
- vesa-24
description: |
The color signals mapping order. See details in
- Documentation/devicetree/bindings/display/panel/lvds.yaml
+ Documentation/devicetree/bindings/display/lvds.yaml
port@1:
$ref: /schemas/graph.yaml#/properties/port
diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/lvds.yaml
similarity index 84%
rename from Documentation/devicetree/bindings/display/panel/lvds.yaml
rename to Documentation/devicetree/bindings/display/lvds.yaml
index 49460c9dceea..7cd2ce7e9c33 100644
--- a/Documentation/devicetree/bindings/display/panel/lvds.yaml
+++ b/Documentation/devicetree/bindings/display/lvds.yaml
@@ -1,10 +1,10 @@
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
-$id: http://devicetree.org/schemas/display/panel/lvds.yaml#
+$id: http://devicetree.org/schemas/display/lvds.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
-title: LVDS Display Panel
+title: LVDS Display Common Properties
maintainers:
- Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
@@ -13,8 +13,8 @@ maintainers:
description: |+
LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple
incompatible data link layers have been used over time to transmit image data
- to LVDS panels. This bindings supports display panels compatible with the
- following specifications.
+ to LVDS devices. This bindings supports devices compatible with the following
+ specifications.
[JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February
1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA)
@@ -26,18 +26,7 @@ description: |+
Device compatible with those specifications have been marketed under the
FPD-Link and FlatLink brands.
-allOf:
- - $ref: panel-common.yaml#
-
properties:
- compatible:
- contains:
- const: panel-lvds
- description:
- Shall contain "panel-lvds" in addition to a mandatory panel-specific
- compatible string defined in individual panel bindings. The "panel-lvds"
- value shall never be used on its own.
-
data-mapping:
enum:
- jeida-18
@@ -96,22 +85,6 @@ properties:
If set, reverse the bit order described in the data mappings below on all
data lanes, transmitting bits for slots 6 to 0 instead of 0 to 6.
- port: true
- ports: true
-
-required:
- - compatible
- - data-mapping
- - width-mm
- - height-mm
- - panel-timing
-
-oneOf:
- - required:
- - port
- - required:
- - ports
-
additionalProperties: true
...
diff --git a/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml b/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml
index 93878c2cd370..3a8c2c11f9bd 100644
--- a/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml
+++ b/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml
@@ -11,13 +11,23 @@ maintainers:
- Thierry Reding <thierry.reding@gmail.com>
allOf:
- - $ref: lvds.yaml#
+ - $ref: panel-common.yaml#
+ - $ref: /schemas/display/lvds.yaml/#
+
+select:
+ properties:
+ compatible:
+ contains:
+ const: advantech,idk-1110wr
+
+ required:
+ - compatible
properties:
compatible:
items:
- const: advantech,idk-1110wr
- - {} # panel-lvds, but not listed here to avoid false select
+ - const: panel-lvds
data-mapping:
const: jeida-24
@@ -35,6 +45,11 @@ additionalProperties: false
required:
- compatible
+ - data-mapping
+ - width-mm
+ - height-mm
+ - panel-timing
+ - port
examples:
- |+
diff --git a/Documentation/devicetree/bindings/display/panel/innolux,ee101ia-01d.yaml b/Documentation/devicetree/bindings/display/panel/innolux,ee101ia-01d.yaml
index a69681e724cb..566e11f6bfc0 100644
--- a/Documentation/devicetree/bindings/display/panel/innolux,ee101ia-01d.yaml
+++ b/Documentation/devicetree/bindings/display/panel/innolux,ee101ia-01d.yaml
@@ -11,15 +11,26 @@ maintainers:
- Thierry Reding <thierry.reding@gmail.com>
allOf:
- - $ref: lvds.yaml#
+ - $ref: panel-common.yaml#
+ - $ref: /schemas/display/lvds.yaml/#
+
+select:
+ properties:
+ compatible:
+ contains:
+ const: innolux,ee101ia-01d
+
+ required:
+ - compatible
properties:
compatible:
items:
- const: innolux,ee101ia-01d
- - {} # panel-lvds, but not listed here to avoid false select
+ - const: panel-lvds
backlight: true
+ data-mapping: true
enable-gpios: true
power-supply: true
width-mm: true
@@ -27,5 +38,13 @@ properties:
panel-timing: true
port: true
+required:
+ - compatible
+ - data-mapping
+ - width-mm
+ - height-mm
+ - panel-timing
+ - port
+
additionalProperties: false
...
diff --git a/Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.yaml b/Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.yaml
index b5e7ee230fa6..5cf3c588f46d 100644
--- a/Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.yaml
+++ b/Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.yaml
@@ -11,13 +11,23 @@ maintainers:
- Thierry Reding <thierry.reding@gmail.com>
allOf:
- - $ref: lvds.yaml#
+ - $ref: panel-common.yaml#
+ - $ref: /schemas/display/lvds.yaml/#
+
+select:
+ properties:
+ compatible:
+ contains:
+ const: mitsubishi,aa104xd12
+
+ required:
+ - compatible
properties:
compatible:
items:
- const: mitsubishi,aa104xd12
- - {} # panel-lvds, but not listed here to avoid false select
+ - const: panel-lvds
vcc-supply:
description: Reference to the regulator powering the panel VCC pins.
@@ -39,6 +49,11 @@ additionalProperties: false
required:
- compatible
- vcc-supply
+ - data-mapping
+ - width-mm
+ - height-mm
+ - panel-timing
+ - port
examples:
- |+
diff --git a/Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.yaml b/Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.yaml
index 977c50a85b67..54750cc5440d 100644
--- a/Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.yaml
+++ b/Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.yaml
@@ -11,13 +11,23 @@ maintainers:
- Thierry Reding <thierry.reding@gmail.com>
allOf:
- - $ref: lvds.yaml#
+ - $ref: panel-common.yaml#
+ - $ref: /schemas/display/lvds.yaml/#
+
+select:
+ properties:
+ compatible:
+ contains:
+ const: mitsubishi,aa121td01
+
+ required:
+ - compatible
properties:
compatible:
items:
- const: mitsubishi,aa121td01
- - {} # panel-lvds, but not listed here to avoid false select
+ - const: panel-lvds
vcc-supply:
description: Reference to the regulator powering the panel VCC pins.
@@ -39,6 +49,11 @@ additionalProperties: false
required:
- compatible
- vcc-supply
+ - data-mapping
+ - width-mm
+ - height-mm
+ - panel-timing
+ - port
examples:
- |+
diff --git a/Documentation/devicetree/bindings/display/panel/sgd,gktw70sdae4se.yaml b/Documentation/devicetree/bindings/display/panel/sgd,gktw70sdae4se.yaml
index e63a570ae59d..44e02decdf3a 100644
--- a/Documentation/devicetree/bindings/display/panel/sgd,gktw70sdae4se.yaml
+++ b/Documentation/devicetree/bindings/display/panel/sgd,gktw70sdae4se.yaml
@@ -11,13 +11,23 @@ maintainers:
- Thierry Reding <thierry.reding@gmail.com>
allOf:
- - $ref: lvds.yaml#
+ - $ref: panel-common.yaml#
+ - $ref: /schemas/display/lvds.yaml/#
+
+select:
+ properties:
+ compatible:
+ contains:
+ const: sgd,gktw70sdae4se
+
+ required:
+ - compatible
properties:
compatible:
items:
- const: sgd,gktw70sdae4se
- - {} # panel-lvds, but not listed here to avoid false select
+ - const: panel-lvds
data-mapping:
const: jeida-18
@@ -35,6 +45,11 @@ additionalProperties: false
required:
- compatible
+ - port
+ - data-mapping
+ - width-mm
+ - height-mm
+ - panel-timing
examples:
- |+
diff --git a/MAINTAINERS b/MAINTAINERS
index ea3e6c914384..3f679974e3fe 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6076,7 +6076,7 @@ L: dri-devel@lists.freedesktop.org
T: git git://anongit.freedesktop.org/drm/drm-misc
S: Maintained
F: drivers/gpu/drm/panel/panel-lvds.c
-F: Documentation/devicetree/bindings/display/panel/lvds.yaml
+F: Documentation/devicetree/bindings/display/lvds.yaml
DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
M: Guido Günther <agx@sigxcpu.org>
--
2.34.1
^ permalink raw reply related
* Re: [PATCH net-next v1 4/4] usbnet: add support for label from device tree
From: Andrew Lunn @ 2022-01-27 14:28 UTC (permalink / raw)
To: Oleksij Rempel
Cc: Greg KH, Oliver Neukum, David S. Miller, Jakub Kicinski,
Rob Herring, kernel, linux-kernel, linux-usb, netdev, devicetree
In-Reply-To: <20220127112305.GC9150@pengutronix.de>
> - Board with USB Ethernet controller with DSA switch. The USB ethernet
> controller is attached to the CPU port of DSA switch. In this case,
> DSA switch is the sub-node of the USB device. The CPU port should have
> stable name for all device related to this product.
All that DSA requires is a phandle pointing to the MAC. It does not
care what the interface name is. It should not be an issue if udev
changes the name to something your product marketing guys say it
should be.
Andrew
^ permalink raw reply
* Re: [PATCH v3 2/2] dt-bindings: panel: Introduce a panel-lvds binding
From: Maxime Ripard @ 2022-01-27 14:22 UTC (permalink / raw)
To: Laurent Pinchart
Cc: Thierry Reding, Sam Ravnborg, Daniel Vetter, David Airlie,
Rob Herring, Frank Rowand, devicetree, dri-devel, Rob Herring
In-Reply-To: <Yd2Ahn3+FVv/Aks7@pendragon.ideasonboard.com>
[-- Attachment #1: Type: text/plain, Size: 2468 bytes --]
Hi Laurent,
On Tue, Jan 11, 2022 at 03:05:10PM +0200, Laurent Pinchart wrote:
> On Tue, Jan 11, 2022 at 12:06:35PM +0100, Maxime Ripard wrote:
> > Following the previous patch, let's introduce a generic panel-lvds
> > binding that documents the panels that don't have any particular
> > constraint documented.
> >
> > Reviewed-by: Rob Herring <robh@kernel.org>
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> >
> > ---
> >
> > Changes from v2:
> > - Added a MAINTAINERS entry
> >
> > Changes from v1:
> > - Added missing compatible
> > - Fixed lint
> > ---
> > .../bindings/display/panel/panel-lvds.yaml | 57 +++++++++++++++++++
> > MAINTAINERS | 1 +
> > 2 files changed, 58 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
> > new file mode 100644
> > index 000000000000..fcc50db6a812
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
> > @@ -0,0 +1,57 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Generic LVDS Display Panel Device Tree Bindings
> > +
> > +maintainers:
> > + - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > + - Thierry Reding <thierry.reding@gmail.com>
> > +
> > +allOf:
> > + - $ref: panel-common.yaml#
> > + - $ref: /schemas/display/lvds.yaml/#
> > +
> > +select:
> > + properties:
> > + compatible:
> > + contains:
> > + const: panel-lvds
> > +
> > + not:
> > + properties:
> > + compatible:
> > + contains:
> > + enum:
> > + - advantech,idk-1110wr
> > + - advantech,idk-2121wr
> > + - innolux,ee101ia-01d
> > + - mitsubishi,aa104xd12
> > + - mitsubishi,aa121td01
> > + - sgd,gktw70sdae4se
>
> I still don't like this :-( Couldn't we instead do
>
> select:
> properties:
> compatible:
> contains:
> enum:
> - auo,b101ew05
> - tbs,a711-panel
>
> ?
That works too, I'll send another version.
Maxime
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox