2019-10-25 09:33:27

by Brian Masney

[permalink] [raw]
Subject: [PATCH v2 0/4] ARM: qcom: add defconfig items and dts nodes

Here's a small patch series that adds some additional functionality
to qcom_defconfig and to qcom-msm8974.dtsi: interconnect, ocmem,
and HDMI bridge (defconfig only).

Some high-level changes since v1:
- Updated interconnect support. See patch #4 in this series for details.
- Dropped ocmem defconfig since that got merged.

Brian Masney (4):
ARM: qcom_defconfig: add msm8974 interconnect support
ARM: qcom_defconfig: add anx78xx HDMI bridge support
ARM: dts: qcom: msm8974: add ocmem node
ARM: dts: qcom: msm8974: add interconnect nodes

arch/arm/boot/dts/qcom-msm8974.dtsi | 77 +++++++++++++++++++++++++++++
arch/arm/configs/qcom_defconfig | 4 ++
2 files changed, 81 insertions(+)

--
2.21.0


2019-10-25 09:33:56

by Brian Masney

[permalink] [raw]
Subject: [PATCH v2 1/4] ARM: qcom_defconfig: add msm8974 interconnect support

Add interconnect support for msm8974-based SoCs in order to support the
GPU on this platform.

Signed-off-by: Brian Masney <[email protected]>
---
Changes since v1:
- Set CONFIG_INTERCONNECT=y since its now a bool instead of a tristate

arch/arm/configs/qcom_defconfig | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
index 9792dd0aae0c..cbe4e1d86f9a 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -252,6 +252,9 @@ CONFIG_PHY_QCOM_IPQ806X_SATA=y
CONFIG_PHY_QCOM_USB_HS=y
CONFIG_PHY_QCOM_USB_HSIC=y
CONFIG_QCOM_QFPROM=y
+CONFIG_INTERCONNECT=y
+CONFIG_INTERCONNECT_QCOM=y
+CONFIG_INTERCONNECT_QCOM_MSM8974=m
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT3_FS=y
--
2.21.0

2019-10-25 09:34:11

by Brian Masney

[permalink] [raw]
Subject: [PATCH v2 4/4] ARM: dts: qcom: msm8974: add interconnect nodes

Add interconnect nodes that's needed to support bus scaling.

Signed-off-by: Brian Masney <[email protected]>
---
Changes since v1:
- sort interconnect nodes by address
- correct interconnect path for display:
MNOC_MAS_MDP_PORT0 -> BIMC_SLV_EBI_CH0

arch/arm/boot/dts/qcom-msm8974.dtsi | 58 +++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
index bdbde5125a56..c893c715f08c 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

+#include <dt-bindings/interconnect/qcom,msm8974.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,gcc-msm8974.h>
#include <dt-bindings/clock/qcom,mmcc-msm8974.h>
@@ -1106,6 +1107,60 @@
};
};

+ bimc: interconnect@fc380000 {
+ reg = <0xfc380000 0x6a000>;
+ compatible = "qcom,msm8974-bimc";
+ #interconnect-cells = <1>;
+ clock-names = "bus", "bus_a";
+ clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
+ <&rpmcc RPM_SMD_BIMC_A_CLK>;
+ };
+
+ snoc: interconnect@fc460000 {
+ reg = <0xfc460000 0x4000>;
+ compatible = "qcom,msm8974-snoc";
+ #interconnect-cells = <1>;
+ clock-names = "bus", "bus_a";
+ clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
+ <&rpmcc RPM_SMD_SNOC_A_CLK>;
+ };
+
+ pnoc: interconnect@fc468000 {
+ reg = <0xfc468000 0x4000>;
+ compatible = "qcom,msm8974-pnoc";
+ #interconnect-cells = <1>;
+ clock-names = "bus", "bus_a";
+ clocks = <&rpmcc RPM_SMD_PNOC_CLK>,
+ <&rpmcc RPM_SMD_PNOC_A_CLK>;
+ };
+
+ ocmemnoc: interconnect@fc470000 {
+ reg = <0xfc470000 0x4000>;
+ compatible = "qcom,msm8974-ocmemnoc";
+ #interconnect-cells = <1>;
+ clock-names = "bus", "bus_a";
+ clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>,
+ <&rpmcc RPM_SMD_OCMEMGX_A_CLK>;
+ };
+
+ mmssnoc: interconnect@fc478000 {
+ reg = <0xfc478000 0x4000>;
+ compatible = "qcom,msm8974-mmssnoc";
+ #interconnect-cells = <1>;
+ clock-names = "bus", "bus_a";
+ clocks = <&mmcc MMSS_S0_AXI_CLK>,
+ <&mmcc MMSS_S0_AXI_CLK>;
+ };
+
+ cnoc: interconnect@fc480000 {
+ reg = <0xfc480000 0x4000>;
+ compatible = "qcom,msm8974-cnoc";
+ #interconnect-cells = <1>;
+ clock-names = "bus", "bus_a";
+ clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
+ <&rpmcc RPM_SMD_CNOC_A_CLK>;
+ };
+
mdss: mdss@fd900000 {
status = "disabled";

@@ -1152,6 +1207,9 @@
"core",
"vsync";

+ interconnects = <&mmssnoc MNOC_MAS_MDP_PORT0 &bimc BIMC_SLV_EBI_CH0>;
+ interconnect-names = "mdp0-mem";
+
ports {
#address-cells = <1>;
#size-cells = <0>;
--
2.21.0

2019-10-25 09:34:23

by Brian Masney

[permalink] [raw]
Subject: [PATCH v2 2/4] ARM: qcom_defconfig: add anx78xx HDMI bridge support

Add the Analogix anx78xx driver so that the external display over HDMI
can be used on Nexus 5 phones.

Signed-off-by: Brian Masney <[email protected]>
---
Changes since v1:
- None

arch/arm/configs/qcom_defconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
index cbe4e1d86f9a..201e20bc6189 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -149,6 +149,7 @@ CONFIG_MEDIA_SUPPORT=y
CONFIG_DRM=y
CONFIG_DRM_MSM=m
CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_FB=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_LCD_CLASS_DEVICE is not set
--
2.21.0

2019-10-25 09:34:59

by Brian Masney

[permalink] [raw]
Subject: [PATCH v2 3/4] ARM: dts: qcom: msm8974: add ocmem node

Add ocmem node that is needed in order to support the GPU upstream.

Signed-off-by: Brian Masney <[email protected]>
---
Changes since v1:
- None

arch/arm/boot/dts/qcom-msm8974.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
index 39a3a1d63889..bdbde5125a56 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -1087,6 +1087,25 @@
};
};

+ ocmem@fdd00000 {
+ compatible = "qcom,msm8974-ocmem";
+ reg = <0xfdd00000 0x2000>,
+ <0xfec00000 0x180000>;
+ reg-names = "ctrl",
+ "mem";
+ clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>,
+ <&mmcc OCMEMCX_OCMEMNOC_CLK>;
+ clock-names = "core",
+ "iface";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ gmu_sram: gmu-sram@0 {
+ reg = <0x0 0x100000>;
+ };
+ };
+
mdss: mdss@fd900000 {
status = "disabled";

--
2.21.0

2019-10-29 11:21:49

by Georgi Djakov

[permalink] [raw]
Subject: Re: [PATCH v2 0/4] ARM: qcom: add defconfig items and dts nodes

On 24.10.19 г. 13:31 ч., Brian Masney wrote:
> Here's a small patch series that adds some additional functionality
> to qcom_defconfig and to qcom-msm8974.dtsi: interconnect, ocmem,
> and HDMI bridge (defconfig only).
>
> Some high-level changes since v1:
> - Updated interconnect support. See patch #4 in this series for details.
> - Dropped ocmem defconfig since that got merged.
>
> Brian Masney (4):
> ARM: qcom_defconfig: add msm8974 interconnect support
> ARM: qcom_defconfig: add anx78xx HDMI bridge support
> ARM: dts: qcom: msm8974: add ocmem node
> ARM: dts: qcom: msm8974: add interconnect nodes
>
> arch/arm/boot/dts/qcom-msm8974.dtsi | 77 +++++++++++++++++++++++++++++
> arch/arm/configs/qcom_defconfig | 4 ++
> 2 files changed, 81 insertions(+)

For the series:
Reviewed-by: Georgi Djakov <[email protected]>

2019-11-09 00:45:29

by Brian Masney

[permalink] [raw]
Subject: Re: [PATCH v2 1/4] ARM: qcom_defconfig: add msm8974 interconnect support

On Thu, Oct 24, 2019 at 06:31:37AM -0400, Brian Masney wrote:
> Add interconnect support for msm8974-based SoCs in order to support the
> GPU on this platform.
>
> Signed-off-by: Brian Masney <[email protected]>
> ---
> Changes since v1:
> - Set CONFIG_INTERCONNECT=y since its now a bool instead of a tristate
>
> arch/arm/configs/qcom_defconfig | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
> index 9792dd0aae0c..cbe4e1d86f9a 100644
> --- a/arch/arm/configs/qcom_defconfig
> +++ b/arch/arm/configs/qcom_defconfig
> @@ -252,6 +252,9 @@ CONFIG_PHY_QCOM_IPQ806X_SATA=y
> CONFIG_PHY_QCOM_USB_HS=y
> CONFIG_PHY_QCOM_USB_HSIC=y
> CONFIG_QCOM_QFPROM=y
> +CONFIG_INTERCONNECT=y
> +CONFIG_INTERCONNECT_QCOM=y
> +CONFIG_INTERCONNECT_QCOM_MSM8974=m
> CONFIG_EXT2_FS=y
> CONFIG_EXT2_FS_XATTR=y
> CONFIG_EXT3_FS=y

Georgi: Since Greg wants to allow compiling the interconnect support as
a module [1], should I change CONFIG_INTERCONNECT to be a module? Or
leave this as is? The GPU works fine with interconnect as a module on my
phone. I know it's more for the cpufreq case.

[1] https://lore.kernel.org/lkml/[email protected]/

Andy/Bjorn: This series didn't get picked up for this upcoming merge
window. If it's too late for this window (which is fine), then I'll
hold off on resubmitting this until rc4 since I'll most likely have
more device tree changes by then.

Brian

2019-11-09 02:00:55

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v2 1/4] ARM: qcom_defconfig: add msm8974 interconnect support

On Fri 08 Nov 16:43 PST 2019, Brian Masney wrote:

> On Thu, Oct 24, 2019 at 06:31:37AM -0400, Brian Masney wrote:
> > Add interconnect support for msm8974-based SoCs in order to support the
> > GPU on this platform.
> >
> > Signed-off-by: Brian Masney <[email protected]>
> > ---
> > Changes since v1:
> > - Set CONFIG_INTERCONNECT=y since its now a bool instead of a tristate
> >
> > arch/arm/configs/qcom_defconfig | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
> > index 9792dd0aae0c..cbe4e1d86f9a 100644
> > --- a/arch/arm/configs/qcom_defconfig
> > +++ b/arch/arm/configs/qcom_defconfig
> > @@ -252,6 +252,9 @@ CONFIG_PHY_QCOM_IPQ806X_SATA=y
> > CONFIG_PHY_QCOM_USB_HS=y
> > CONFIG_PHY_QCOM_USB_HSIC=y
> > CONFIG_QCOM_QFPROM=y
> > +CONFIG_INTERCONNECT=y
> > +CONFIG_INTERCONNECT_QCOM=y
> > +CONFIG_INTERCONNECT_QCOM_MSM8974=m
> > CONFIG_EXT2_FS=y
> > CONFIG_EXT2_FS_XATTR=y
> > CONFIG_EXT3_FS=y
>
> Georgi: Since Greg wants to allow compiling the interconnect support as
> a module [1], should I change CONFIG_INTERCONNECT to be a module? Or
> leave this as is? The GPU works fine with interconnect as a module on my
> phone. I know it's more for the cpufreq case.
>

This is the qcom_defconfig file, so it's fine to leave it =y. For the
multi-platform ones we should do the specific drivers =m, where
possible.

> [1] https://lore.kernel.org/lkml/[email protected]/
>

Thanks for the pointer, I don't think this is a good idea and did reply.

> Andy/Bjorn: This series didn't get picked up for this upcoming merge
> window. If it's too late for this window (which is fine), then I'll
> hold off on resubmitting this until rc4 since I'll most likely have
> more device tree changes by then.
>

Sorry for missing it in the final preparation for v5.5.

I don't see anything among these patches that would require you to
repost the series, either we pick them up for another PR (although it's
rather late now) or we'll apply them as -rc1 lands (for v5.6).

Regards,
Bjorn