Message ID | 20230731200559.635629-1-jagan@edgeble.ai (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] arm64: dts: rockchip: Add Radxa ROCK 4C+ DSI DT-overlay | expand |
Am Montag, 31. Juli 2023, 22:05:57 CEST schrieb Jagan Teki: > Add DSI pipeline for Radxa ROCK 4C+ board via DT-overlay. > > The DSI connector in Radxa ROCK 4C+ board support different > resolution panels and those compatible is added in another > DT-overlay. > > Signed-off-by: Jagan Teki <jagan@edgeble.ai> > --- > arch/arm64/boot/dts/rockchip/Makefile | 1 + > .../rk3399-rock-4c-plus-mipi-dsi.dtso | 69 +++++++++++++++++++ > 2 files changed, 70 insertions(+) > create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso > > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile > index 1ebbb3e9c2f9..3a4c4cd769eb 100644 > --- a/arch/arm64/boot/dts/rockchip/Makefile > +++ b/arch/arm64/boot/dts/rockchip/Makefile > @@ -58,6 +58,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-plus.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus.dtb > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus-mipi-dsi.dtbo > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4se.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a-plus.dtb > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso > new file mode 100644 > index 000000000000..271717040b6c > --- /dev/null > +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso > @@ -0,0 +1,69 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2023 Radxa Computer Co., Ltd. > + * Copyright (c) 2023 Edgeble AI Technologies Pvt. Ltd. > + * > + * DT-overlay for Radxa ROCK 4C+ DSI Connector. > + */ > + > +/dts-v1/; > +/plugin/; > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/pinctrl/rockchip.h> > + > +&{/} { > + backlight: backlight { > + compatible = "pwm-backlight"; > + pwms = <&pwm2 0 25000 0>; > + }; > +}; > + > +&mipi_dsi { > + clock-master; > + #address-cells = <1>; > + #size-cells = <0>; > + status = "okay"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + mipi_out: port@1 { > + reg = <1>; > + > + mipi_out_panel: endpoint { > + remote-endpoint = <&mipi_in_panel>; > + }; > + }; > + }; > + > + panel: panel@0 { > + /* different resolution panels are used, compatibles are in DTO */ then I guess, the panel node should get a disabled here (and the mipi_dsi should stay disabled at this point) and both should get enabled in the final dtbo where the compatible lives? > + reg = <0>; > + backlight = <&backlight>; > + vdd-supply = <&lcd_3v3>; > + vccio-supply = <&vcc_1v8_s0>; > + reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>; > + pinctrl-names = "default"; > + pinctrl-0 = <&lcd_panel_reset>; > + > + port { > + mipi_in_panel: endpoint { > + remote-endpoint = <&mipi_out_panel>; > + }; > + }; > + }; > +}; > + > +&pinctrl { > + lcd { > + lcd_panel_reset: lcd-panel-reset { > + rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>; > + }; > + }; > +}; > + > +&pwm2 { > + status = "okay"; > +}; >
On Thu, 5 Oct 2023 at 06:07, Heiko Stübner <heiko@sntech.de> wrote: > > Am Montag, 31. Juli 2023, 22:05:57 CEST schrieb Jagan Teki: > > Add DSI pipeline for Radxa ROCK 4C+ board via DT-overlay. > > > > The DSI connector in Radxa ROCK 4C+ board support different > > resolution panels and those compatible is added in another > > DT-overlay. > > > > Signed-off-by: Jagan Teki <jagan@edgeble.ai> > > --- > > arch/arm64/boot/dts/rockchip/Makefile | 1 + > > .../rk3399-rock-4c-plus-mipi-dsi.dtso | 69 +++++++++++++++++++ > > 2 files changed, 70 insertions(+) > > create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso > > > > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile > > index 1ebbb3e9c2f9..3a4c4cd769eb 100644 > > --- a/arch/arm64/boot/dts/rockchip/Makefile > > +++ b/arch/arm64/boot/dts/rockchip/Makefile > > @@ -58,6 +58,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-plus.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus.dtb > > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus-mipi-dsi.dtbo > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4se.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a-plus.dtb > > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso > > new file mode 100644 > > index 000000000000..271717040b6c > > --- /dev/null > > +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso > > @@ -0,0 +1,69 @@ > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > +/* > > + * Copyright (c) 2023 Radxa Computer Co., Ltd. > > + * Copyright (c) 2023 Edgeble AI Technologies Pvt. Ltd. > > + * > > + * DT-overlay for Radxa ROCK 4C+ DSI Connector. > > + */ > > + > > +/dts-v1/; > > +/plugin/; > > + > > +#include <dt-bindings/gpio/gpio.h> > > +#include <dt-bindings/pinctrl/rockchip.h> > > + > > +&{/} { > > + backlight: backlight { > > + compatible = "pwm-backlight"; > > + pwms = <&pwm2 0 25000 0>; > > + }; > > +}; > > + > > +&mipi_dsi { > > + clock-master; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + status = "okay"; > > + > > + ports { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + mipi_out: port@1 { > > + reg = <1>; > > + > > + mipi_out_panel: endpoint { > > + remote-endpoint = <&mipi_in_panel>; > > + }; > > + }; > > + }; > > + > > + panel: panel@0 { > > + /* different resolution panels are used, compatibles are in DTO */ > > then I guess, the panel node should get a disabled here (and the mipi_dsi > should stay disabled at this point) and both should get enabled in the final > dtbo where the compatible lives? Do you mean dsi also needs to be disabled here and enabled in dtbo? if so why? if panel disabled then dsi won't probe even if it enabled. Jagan
Hi Jagan, Am Montag, 13. November 2023, 16:15:34 CET schrieb Jagan Teki: > On Thu, 5 Oct 2023 at 06:07, Heiko Stübner <heiko@sntech.de> wrote: > > > > Am Montag, 31. Juli 2023, 22:05:57 CEST schrieb Jagan Teki: > > > Add DSI pipeline for Radxa ROCK 4C+ board via DT-overlay. > > > > > > The DSI connector in Radxa ROCK 4C+ board support different > > > resolution panels and those compatible is added in another > > > DT-overlay. > > > > > > Signed-off-by: Jagan Teki <jagan@edgeble.ai> > > > --- > > > arch/arm64/boot/dts/rockchip/Makefile | 1 + > > > .../rk3399-rock-4c-plus-mipi-dsi.dtso | 69 +++++++++++++++++++ > > > 2 files changed, 70 insertions(+) > > > create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso > > > > > > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile > > > index 1ebbb3e9c2f9..3a4c4cd769eb 100644 > > > --- a/arch/arm64/boot/dts/rockchip/Makefile > > > +++ b/arch/arm64/boot/dts/rockchip/Makefile > > > @@ -58,6 +58,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb > > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb > > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-plus.dtb > > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus.dtb > > > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus-mipi-dsi.dtbo > > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4se.dtb > > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a.dtb > > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a-plus.dtb > > > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso > > > new file mode 100644 > > > index 000000000000..271717040b6c > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso > > > @@ -0,0 +1,69 @@ > > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > > +/* > > > + * Copyright (c) 2023 Radxa Computer Co., Ltd. > > > + * Copyright (c) 2023 Edgeble AI Technologies Pvt. Ltd. > > > + * > > > + * DT-overlay for Radxa ROCK 4C+ DSI Connector. > > > + */ > > > + > > > +/dts-v1/; > > > +/plugin/; > > > + > > > +#include <dt-bindings/gpio/gpio.h> > > > +#include <dt-bindings/pinctrl/rockchip.h> > > > + > > > +&{/} { > > > + backlight: backlight { > > > + compatible = "pwm-backlight"; > > > + pwms = <&pwm2 0 25000 0>; > > > + }; > > > +}; > > > + > > > +&mipi_dsi { > > > + clock-master; > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > + status = "okay"; > > > + > > > + ports { > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > + > > > + mipi_out: port@1 { > > > + reg = <1>; > > > + > > > + mipi_out_panel: endpoint { > > > + remote-endpoint = <&mipi_in_panel>; > > > + }; > > > + }; > > > + }; > > > + > > > + panel: panel@0 { > > > + /* different resolution panels are used, compatibles are in DTO */ > > > > then I guess, the panel node should get a disabled here (and the mipi_dsi > > should stay disabled at this point) and both should get enabled in the final > > dtbo where the compatible lives? > > Do you mean dsi also needs to be disabled here and enabled in dtbo? if > so why? if panel disabled then dsi won't probe even if it enabled. I'm not sure how dtbo's are loaded nowadays, but if by some form of accident only this dtbo gets loaded without a panel compatible you've essentially broken the whole display output, as the dsi will defer indefinitly. Also, in more general thinking, the savings in terms of node duplication is quite minimal with this setup. Can't you just have the tiny dsi+backlight nodes in each panel dtbo? Thanks Heiko
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 1ebbb3e9c2f9..3a4c4cd769eb 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -58,6 +58,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-plus.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus-mipi-dsi.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4se.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a-plus.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso new file mode 100644 index 000000000000..271717040b6c --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2023 Radxa Computer Co., Ltd. + * Copyright (c) 2023 Edgeble AI Technologies Pvt. Ltd. + * + * DT-overlay for Radxa ROCK 4C+ DSI Connector. + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/pinctrl/rockchip.h> + +&{/} { + backlight: backlight { + compatible = "pwm-backlight"; + pwms = <&pwm2 0 25000 0>; + }; +}; + +&mipi_dsi { + clock-master; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + mipi_out: port@1 { + reg = <1>; + + mipi_out_panel: endpoint { + remote-endpoint = <&mipi_in_panel>; + }; + }; + }; + + panel: panel@0 { + /* different resolution panels are used, compatibles are in DTO */ + reg = <0>; + backlight = <&backlight>; + vdd-supply = <&lcd_3v3>; + vccio-supply = <&vcc_1v8_s0>; + reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&lcd_panel_reset>; + + port { + mipi_in_panel: endpoint { + remote-endpoint = <&mipi_out_panel>; + }; + }; + }; +}; + +&pinctrl { + lcd { + lcd_panel_reset: lcd-panel-reset { + rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; +}; + +&pwm2 { + status = "okay"; +};
Add DSI pipeline for Radxa ROCK 4C+ board via DT-overlay. The DSI connector in Radxa ROCK 4C+ board support different resolution panels and those compatible is added in another DT-overlay. Signed-off-by: Jagan Teki <jagan@edgeble.ai> --- arch/arm64/boot/dts/rockchip/Makefile | 1 + .../rk3399-rock-4c-plus-mipi-dsi.dtso | 69 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso