* [PATCH 0/3] arm64: dts: meson-axg-s400: add support for MIPI-DSI Panel
@ 2020-09-07 8:32 Neil Armstrong
2020-09-07 8:32 ` [PATCH 1/3] arm64: dts: meson-axg: add VPU and PWRC nodes Neil Armstrong
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Neil Armstrong @ 2020-09-07 8:32 UTC (permalink / raw)
To: khilman; +Cc: linux-amlogic, linux-arm-kernel, linux-kernel, Neil Armstrong
This adds the nodes to AXG and S400 board to enabled MIPI-DSI display support with
the 1024*600 tl070wsh30 DSI panel.
Dependencies:
- Patch 1: [1] & [2]
- Patch 2: [1], [3] & [4]
- Patch 3: [5]
[1] https://lore.kernel.org/r/20200907081825.1654-1-narmstrong@baylibre.com
[2] https://lore.kernel.org/r/20200904161654.24141-1-narmstrong@baylibre.com
[3] https://lore.kernel.org/r/20200907072708.26043-1-narmstrong@baylibre.com
[4] https://lore.kernel.org/r/20200907073402.26674-1-narmstrong@baylibre.com
[5] https://lore.kernel.org/r/20200904161504.23915-1-narmstrong@baylibre.com
Neil Armstrong (3):
arm64: dts: meson-axg: add VPU and PWRC nodes
arm64: dts: meson-axg: add MIPI DSI Nodes
arm64: dts: meson-axg-s400: add MIPI DSI panel nodes
.../arm64/boot/dts/amlogic/meson-axg-s400.dts | 49 +++++++-
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 118 ++++++++++++++++++
2 files changed, 166 insertions(+), 1 deletion(-)
--
2.22.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] arm64: dts: meson-axg: add VPU and PWRC nodes
2020-09-07 8:32 [PATCH 0/3] arm64: dts: meson-axg-s400: add support for MIPI-DSI Panel Neil Armstrong
@ 2020-09-07 8:32 ` Neil Armstrong
2020-09-15 19:50 ` Martin Blumenstingl
2020-09-07 8:32 ` [PATCH 2/3] arm64: dts: meson-axg: add MIPI DSI Nodes Neil Armstrong
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Neil Armstrong @ 2020-09-07 8:32 UTC (permalink / raw)
To: khilman; +Cc: linux-amlogic, linux-arm-kernel, linux-kernel, Neil Armstrong
This add the display VPU node and the power controller PWRC node.
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 58 ++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
index b9efc8469265..4a93e3fecd90 100644
--- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
@@ -12,6 +12,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
#include <dt-bindings/reset/amlogic,meson-axg-reset.h>
+#include <dt-bindings/power/meson-axg-power.h>
/ {
compatible = "amlogic,meson-axg";
@@ -187,6 +188,7 @@
"timing-adjustment";
rx-fifo-depth = <4096>;
tx-fifo-depth = <2048>;
+ power-domains = <&pwrc PWRC_AXG_ETHERNET_MEM_ID>;
status = "disabled";
};
@@ -1117,6 +1119,46 @@
clocks = <&xtal>;
clock-names = "xtal";
};
+
+ pwrc: power-controller {
+ compatible = "amlogic,meson-axg-pwrc";
+ #power-domain-cells = <1>;
+ amlogic,ao-sysctrl = <&sysctrl_AO>;
+ resets = <&reset RESET_VIU>,
+ <&reset RESET_VENC>,
+ <&reset RESET_VCBUS>,
+ <&reset RESET_VENCL>,
+ <&reset RESET_VID_LOCK>;
+ reset-names = "viu", "venc", "vcbus",
+ "vencl", "vid_lock";
+ clocks = <&clkc CLKID_VPU>,
+ <&clkc CLKID_VAPB>;
+ clock-names = "vpu", "vapb";
+ /*
+ * VPU clocking is provided by two identical clock paths
+ * VPU_0 and VPU_1 muxed to a single clock by a glitch
+ * free mux to safely change frequency while running.
+ * Same for VAPB but with a final gate after the glitch free mux.
+ */
+ assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
+ <&clkc CLKID_VPU_0>,
+ <&clkc CLKID_VPU>, /* Glitch free mux */
+ <&clkc CLKID_VAPB_0_SEL>,
+ <&clkc CLKID_VAPB_0>,
+ <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
+ assigned-clock-parents = <&clkc CLKID_FCLK_DIV4>,
+ <0>, /* Do Nothing */
+ <&clkc CLKID_VPU_0>,
+ <&clkc CLKID_FCLK_DIV4>,
+ <0>, /* Do Nothing */
+ <&clkc CLKID_VAPB_0>;
+ assigned-clock-rates = <0>, /* Do Nothing */
+ <250000000>,
+ <0>, /* Do Nothing */
+ <0>, /* Do Nothing */
+ <250000000>,
+ <0>; /* Do Nothing */
+ };
};
};
@@ -1563,6 +1605,22 @@
};
};
+ vpu: vpu@ff900000 {
+ compatible = "amlogic,meson-axg-vpu";
+ reg = <0x0 0xff900000 0x0 0x100000>,
+ <0x0 0xff63c000 0x0 0x1000>;
+ reg-names = "vpu", "hhi";
+ interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
+ power-domains = <&pwrc PWRC_AXG_VPU_ID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* DPI output port */
+ dpi_port: port@2 {
+ reg = <2>;
+ };
+ };
+
gic: interrupt-controller@ffc01000 {
compatible = "arm,gic-400";
reg = <0x0 0xffc01000 0 0x1000>,
--
2.22.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] arm64: dts: meson-axg: add MIPI DSI Nodes
2020-09-07 8:32 [PATCH 0/3] arm64: dts: meson-axg-s400: add support for MIPI-DSI Panel Neil Armstrong
2020-09-07 8:32 ` [PATCH 1/3] arm64: dts: meson-axg: add VPU and PWRC nodes Neil Armstrong
@ 2020-09-07 8:32 ` Neil Armstrong
2020-09-07 8:33 ` [PATCH 3/3] arm64: dts: meson-axg-s400: add MIPI DSI panel nodes Neil Armstrong
2020-11-20 15:34 ` [PATCH 0/3] arm64: dts: meson-axg-s400: add support for MIPI-DSI Panel Neil Armstrong
3 siblings, 0 replies; 7+ messages in thread
From: Neil Armstrong @ 2020-09-07 8:32 UTC (permalink / raw)
To: khilman; +Cc: linux-amlogic, linux-arm-kernel, linux-kernel, Neil Armstrong
This adds the nodes for :
- MIPI DSI+PCIe analog phy
- MIPI D-PHY
- Synopsys MIPI-DSI Transceiver
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 60 ++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
index 4a93e3fecd90..f1501b19f617 100644
--- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
@@ -13,6 +13,7 @@
#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
#include <dt-bindings/reset/amlogic,meson-axg-reset.h>
#include <dt-bindings/power/meson-axg-power.h>
+#include <dt-bindings/phy/phy.h>
/ {
compatible = "amlogic,meson-axg";
@@ -1111,6 +1112,8 @@
sysctrl: system-controller@0 {
compatible = "amlogic,meson-axg-hhi-sysctrl",
"simple-mfd", "syscon";
+ #address-cells = <2>;
+ #size-cells = <2>;
reg = <0 0 0 0x400>;
clkc: clock-controller {
@@ -1159,6 +1162,12 @@
<250000000>,
<0>; /* Do Nothing */
};
+
+ mipi_pcie_analog_dphy: phy {
+ compatible = "amlogic,axg-mipi-pcie-analog-phy";
+ #phy-cells = <0>;
+ status = "disabled";
+ };
};
};
@@ -1171,6 +1180,19 @@
#mbox-cells = <1>;
};
+ mipi_dphy: phy@ff640000 {
+ compatible = "amlogic,axg-mipi-dphy";
+ reg = <0x0 0xff640000 0x0 0x100>;
+ clocks = <&clkc CLKID_MIPI_DSI_PHY>;
+ clock-names = "pclk";
+ resets = <&reset RESET_MIPI_PHY>;
+ reset-names = "phy";
+ phys = <&mipi_pcie_analog_dphy>;
+ phy-names = "analog";
+ #phy-cells = <0>;
+ status = "disabled";
+ };
+
audio: bus@ff642000 {
compatible = "simple-bus";
reg = <0x0 0xff642000 0x0 0x2000>;
@@ -1618,6 +1640,10 @@
/* DPI output port */
dpi_port: port@2 {
reg = <2>;
+
+ dpi_out: endpoint {
+ remote-endpoint = <&mipi_dsi_in>;
+ };
};
};
@@ -1647,6 +1673,40 @@
#reset-cells = <1>;
};
+ mipi_dsi: dsi@7000 {
+ compatible = "amlogic,meson-axg-dw-mipi-dsi";
+ reg = <0x0 0x6000 0x0 0x400>;
+ resets = <&reset RESET_MIPI_HOST>;
+ reset-names = "top";
+ clocks = <&clkc CLKID_MIPI_DSI_HOST>,
+ <&clkc CLKID_GP0_PLL>;
+ clock-names = "pclk", "px_clk";
+ phys = <&mipi_dphy>;
+ phy-names = "dphy";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* VPU VENC Input */
+ mipi_dsi_venc_port: port@0 {
+ reg = <0>;
+
+ mipi_dsi_in: endpoint {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+
+ /* DSI Output */
+ mipi_dsi_panel_port: port@1 {
+ reg = <1>;
+ };
+ };
+ };
+
gpio_intc: interrupt-controller@f080 {
compatible = "amlogic,meson-axg-gpio-intc",
"amlogic,meson-gpio-intc";
--
2.22.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] arm64: dts: meson-axg-s400: add MIPI DSI panel nodes
2020-09-07 8:32 [PATCH 0/3] arm64: dts: meson-axg-s400: add support for MIPI-DSI Panel Neil Armstrong
2020-09-07 8:32 ` [PATCH 1/3] arm64: dts: meson-axg: add VPU and PWRC nodes Neil Armstrong
2020-09-07 8:32 ` [PATCH 2/3] arm64: dts: meson-axg: add MIPI DSI Nodes Neil Armstrong
@ 2020-09-07 8:33 ` Neil Armstrong
2020-11-20 15:34 ` [PATCH 0/3] arm64: dts: meson-axg-s400: add support for MIPI-DSI Panel Neil Armstrong
3 siblings, 0 replies; 7+ messages in thread
From: Neil Armstrong @ 2020-09-07 8:33 UTC (permalink / raw)
To: khilman; +Cc: linux-amlogic, linux-arm-kernel, linux-kernel, Neil Armstrong
This adds the nodes for :
- Backlight of the tl070wsh30 panel
- MIPI-DSI attributes
- TDO TL070WSH30 TFT-LCD panel
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
.../arm64/boot/dts/amlogic/meson-axg-s400.dts | 49 ++++++++++++++++++-
1 file changed, 48 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts b/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
index cb1360ae1211..abfad67ca06b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
@@ -7,6 +7,7 @@
#include "meson-axg.dtsi"
#include <dt-bindings/input/input.h>
+#include <dt-bindings/pwm/pwm.h>
/ {
compatible = "amlogic,s400", "amlogic,a113d", "amlogic,meson-axg";
@@ -116,6 +117,16 @@
reg = <0x0 0x0 0x0 0x40000000>;
};
+ panel_backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm_ab 1 78125 PWM_POLARITY_INVERTED>;
+ enable-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_HIGH>;
+ power-supply = <&vcc_5v>;
+ brightness-levels = <0 255>;
+ num-interpolated-steps = <255>;
+ default-brightness-level = <250>;
+ };
+
main_12v: regulator-main_12v {
compatible = "regulator-fixed";
regulator-name = "12V";
@@ -434,6 +445,42 @@
};
};
+
+&mipi_dsi {
+ status = "okay";
+
+ assigned-clocks = <&clkc CLKID_GP0_PLL>;
+ assigned-clock-rates = <283500000>;
+
+ panel@0 {
+ compatible = "tdo,tl070wsh30";
+ reset-gpios = <&gpio GPIOZ_6 GPIO_ACTIVE_LOW>;
+ power-supply = <&vcc_3v3>;
+ backlight = <&panel_backlight>;
+ reg = <0>;
+
+ port {
+ mipi_in_panel: endpoint {
+ remote-endpoint = <&mipi_out_panel>;
+ };
+ };
+ };
+};
+
+&mipi_pcie_analog_dphy {
+ status = "okay";
+};
+
+&mipi_dphy {
+ status = "okay";
+};
+
+&mipi_dsi_panel_port {
+ mipi_out_panel: endpoint {
+ remote-endpoint = <&mipi_in_panel>;
+ };
+};
+
&pdm {
pinctrl-0 = <&pdm_dclk_a14_pins>, <&pdm_din0_pins>,
<&pdm_din1_pins>, <&pdm_din2_pins>, <&pdm_din3_pins>;
@@ -443,7 +490,7 @@
&pwm_ab {
status = "okay";
- pinctrl-0 = <&pwm_a_x20_pins>;
+ pinctrl-0 = <&pwm_a_x20_pins>, <&pwm_b_z_pins>;
pinctrl-names = "default";
};
--
2.22.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] arm64: dts: meson-axg: add VPU and PWRC nodes
2020-09-07 8:32 ` [PATCH 1/3] arm64: dts: meson-axg: add VPU and PWRC nodes Neil Armstrong
@ 2020-09-15 19:50 ` Martin Blumenstingl
2020-09-16 7:12 ` Neil Armstrong
0 siblings, 1 reply; 7+ messages in thread
From: Martin Blumenstingl @ 2020-09-15 19:50 UTC (permalink / raw)
To: Neil Armstrong; +Cc: khilman, linux-amlogic, linux-kernel, linux-arm-kernel
Hi Neil,
On Mon, Sep 7, 2020 at 10:33 AM Neil Armstrong <narmstrong@baylibre.com> wrote:
>
> This add the display VPU node and the power controller PWRC node.
s/add/adds/
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
[...]
> + vpu: vpu@ff900000 {
> + compatible = "amlogic,meson-axg-vpu";
> + reg = <0x0 0xff900000 0x0 0x100000>,
> + <0x0 0xff63c000 0x0 0x1000>;
my plan is to replace the "hhi" binding with a reference to the HHI
syscon - but at the same time I'm not sure if it's a good idea (or
whether for example CVBS support should be split off into a sub-driver
which is then part of the HHI MFD syscon).
maybe we can align at some point about the next steps with the the DRM
driver (as I want to add support for the older gen SoCs still)
that's nothing for this patch though
Best regards,
Martin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] arm64: dts: meson-axg: add VPU and PWRC nodes
2020-09-15 19:50 ` Martin Blumenstingl
@ 2020-09-16 7:12 ` Neil Armstrong
0 siblings, 0 replies; 7+ messages in thread
From: Neil Armstrong @ 2020-09-16 7:12 UTC (permalink / raw)
To: Martin Blumenstingl
Cc: khilman, linux-amlogic, linux-kernel, linux-arm-kernel
On 15/09/2020 21:50, Martin Blumenstingl wrote:
> Hi Neil,
>
> On Mon, Sep 7, 2020 at 10:33 AM Neil Armstrong <narmstrong@baylibre.com> wrote:
>>
>> This add the display VPU node and the power controller PWRC node.
> s/add/adds/
>
>> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
>
> [...]
>> + vpu: vpu@ff900000 {
>> + compatible = "amlogic,meson-axg-vpu";
>> + reg = <0x0 0xff900000 0x0 0x100000>,
>> + <0x0 0xff63c000 0x0 0x1000>;
> my plan is to replace the "hhi" binding with a reference to the HHI
> syscon - but at the same time I'm not sure if it's a good idea (or
> whether for example CVBS support should be split off into a sub-driver
> which is then part of the HHI MFD syscon).
It's also my plan, yes until we get 100% rid of HHI access from DRM driver,
we still need it.
It you want to push it, please do it !
Neil
> maybe we can align at some point about the next steps with the the DRM
> driver (as I want to add support for the older gen SoCs still)
> that's nothing for this patch though
>
>
> Best regards,
> Martin
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] arm64: dts: meson-axg-s400: add support for MIPI-DSI Panel
2020-09-07 8:32 [PATCH 0/3] arm64: dts: meson-axg-s400: add support for MIPI-DSI Panel Neil Armstrong
` (2 preceding siblings ...)
2020-09-07 8:33 ` [PATCH 3/3] arm64: dts: meson-axg-s400: add MIPI DSI panel nodes Neil Armstrong
@ 2020-11-20 15:34 ` Neil Armstrong
3 siblings, 0 replies; 7+ messages in thread
From: Neil Armstrong @ 2020-11-20 15:34 UTC (permalink / raw)
To: khilman; +Cc: linux-amlogic, linux-arm-kernel, linux-kernel
On 07/09/2020 10:32, Neil Armstrong wrote:
> This adds the nodes to AXG and S400 board to enabled MIPI-DSI display support with
> the 1024*600 tl070wsh30 DSI panel.
>
> Dependencies:
> - Patch 1: [1] & [2]
> - Patch 2: [1], [3] & [4]
> - Patch 3: [5]
>
> [1] https://lore.kernel.org/r/20200907081825.1654-1-narmstrong@baylibre.com
> [2] https://lore.kernel.org/r/20200904161654.24141-1-narmstrong@baylibre.com
> [3] https://lore.kernel.org/r/20200907072708.26043-1-narmstrong@baylibre.com
> [4] https://lore.kernel.org/r/20200907073402.26674-1-narmstrong@baylibre.com
> [5] https://lore.kernel.org/r/20200904161504.23915-1-narmstrong@baylibre.com
>
> Neil Armstrong (3):
> arm64: dts: meson-axg: add VPU and PWRC nodes
> arm64: dts: meson-axg: add MIPI DSI Nodes
> arm64: dts: meson-axg-s400: add MIPI DSI panel nodes
>
> .../arm64/boot/dts/amlogic/meson-axg-s400.dts | 49 +++++++-
> arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 118 ++++++++++++++++++
> 2 files changed, 166 insertions(+), 1 deletion(-)
>
I extracted the PWRC & DSI PHY nodes into 20201120152131.3918814-1-narmstrong@baylibre.com
Will send the CPU & panel nodes when the DRM codes is merged.
Neil
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-11-20 15:34 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-07 8:32 [PATCH 0/3] arm64: dts: meson-axg-s400: add support for MIPI-DSI Panel Neil Armstrong
2020-09-07 8:32 ` [PATCH 1/3] arm64: dts: meson-axg: add VPU and PWRC nodes Neil Armstrong
2020-09-15 19:50 ` Martin Blumenstingl
2020-09-16 7:12 ` Neil Armstrong
2020-09-07 8:32 ` [PATCH 2/3] arm64: dts: meson-axg: add MIPI DSI Nodes Neil Armstrong
2020-09-07 8:33 ` [PATCH 3/3] arm64: dts: meson-axg-s400: add MIPI DSI panel nodes Neil Armstrong
2020-11-20 15:34 ` [PATCH 0/3] arm64: dts: meson-axg-s400: add support for MIPI-DSI Panel Neil Armstrong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).