mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
parent
ce88975693
commit
972664bd05
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,28 @@
|
||||
From 8857b0ab6a562c473c5bded0efda9390b82a84d4 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robimarko@gmail.com>
|
||||
Date: Tue, 27 Sep 2022 22:12:17 +0200
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: fix NAND node name
|
||||
|
||||
Per schema it should be nand-controller@79b0000 instead of nand@79b0000.
|
||||
Fix it to match nand-controller.yaml requirements.
|
||||
|
||||
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20220927201218.1264506-1-robimarko@gmail.com
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -348,7 +348,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
- qpic_nand: nand@79b0000 {
|
||||
+ qpic_nand: nand-controller@79b0000 {
|
||||
compatible = "qcom,ipq6018-nand";
|
||||
reg = <0x0 0x079b0000 0x0 0x10000>;
|
||||
#address-cells = <1>;
|
@ -35,3 +35,22 @@ Link: https://lore.kernel.org/r/20221006124659.217540-3-krzysztof.kozlowski@lina
|
||||
pins = "gpio38", "gpio39", "gpio40", "gpio41";
|
||||
function = "blsp0_spi";
|
||||
drive-strength = <8>;
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -218,14 +218,14 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
- serial_3_pins: serial3-pinmux {
|
||||
+ serial_3_pins: serial3-state {
|
||||
pins = "gpio44", "gpio45";
|
||||
function = "blsp2_uart";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
- qpic_pins: qpic-pins {
|
||||
+ qpic_pins: qpic-state {
|
||||
pins = "gpio1", "gpio3", "gpio4",
|
||||
"gpio5", "gpio6", "gpio7",
|
||||
"gpio8", "gpio10", "gpio11",
|
||||
|
@ -0,0 +1,52 @@
|
||||
From feeef118fda562cf9081edef8ad464d89db070f4 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robimarko@gmail.com>
|
||||
Date: Tue, 27 Sep 2022 22:12:18 +0200
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: move ARMv8 timer out of SoC node
|
||||
|
||||
The ARM timer is usually considered not part of SoC node, just like
|
||||
other ARM designed blocks (PMU, PSCI). This fixes dtbs_check warning:
|
||||
|
||||
arch/arm64/boot/dts/qcom/ipq6018-cp01-c1.dtb: soc: timer: {'compatible': ['arm,armv8-timer'], 'interrupts': [[1, 2, 3848], [1, 3, 3848], [1, 4, 3848], [1, 1, 3848]]} should not be valid under {'type': 'object'}
|
||||
From schema: dtschema/schemas/simple-bus.yaml
|
||||
|
||||
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20220927201218.1264506-2-robimarko@gmail.com
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -510,14 +510,6 @@
|
||||
clock-names = "xo";
|
||||
};
|
||||
|
||||
- timer {
|
||||
- compatible = "arm,armv8-timer";
|
||||
- interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
- <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
- <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
- <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
- };
|
||||
-
|
||||
timer@b120000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@@ -770,6 +762,14 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ timer {
|
||||
+ compatible = "arm,armv8-timer";
|
||||
+ interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
+ <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
+ <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
+ <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
+ };
|
||||
+
|
||||
wcss: wcss-smp2p {
|
||||
compatible = "qcom,smp2p";
|
||||
qcom,smem = <435>, <428>;
|
@ -0,0 +1,607 @@
|
||||
From 2c6e322a41c5e1ca45be50b9d5fbcda62dc23a0d Mon Sep 17 00:00:00 2001
|
||||
From: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Date: Mon, 2 Jan 2023 10:46:28 +0100
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: Sort nodes properly
|
||||
|
||||
Order nodes by unit address if one exists and alphabetically otherwise.
|
||||
|
||||
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20230102094642.74254-4-konrad.dybcio@linaro.org
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 562 +++++++++++++-------------
|
||||
1 file changed, 281 insertions(+), 281 deletions(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -87,6 +87,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ firmware {
|
||||
+ scm {
|
||||
+ compatible = "qcom,scm-ipq6018", "qcom,scm";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
cpu_opp_table: opp-table-cpu {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
@@ -123,12 +129,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
- firmware {
|
||||
- scm {
|
||||
- compatible = "qcom,scm-ipq6018", "qcom,scm";
|
||||
- };
|
||||
- };
|
||||
-
|
||||
pmuv8: pmu {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) |
|
||||
@@ -166,6 +166,28 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ rpm-glink {
|
||||
+ compatible = "qcom,glink-rpm";
|
||||
+ interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
|
||||
+ qcom,rpm-msg-ram = <&rpm_msg_ram>;
|
||||
+ mboxes = <&apcs_glb 0>;
|
||||
+
|
||||
+ rpm_requests: glink-channel {
|
||||
+ compatible = "qcom,rpm-ipq6018";
|
||||
+ qcom,glink-channels = "rpm_requests";
|
||||
+
|
||||
+ regulators {
|
||||
+ compatible = "qcom,rpm-mp5496-regulators";
|
||||
+
|
||||
+ ipq6018_s2: s2 {
|
||||
+ regulator-min-microvolt = <725000>;
|
||||
+ regulator-max-microvolt = <1062500>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
smem {
|
||||
compatible = "qcom,smem";
|
||||
memory-region = <&smem_region>;
|
||||
@@ -179,6 +201,102 @@
|
||||
dma-ranges;
|
||||
compatible = "simple-bus";
|
||||
|
||||
+ qusb_phy_1: qusb@59000 {
|
||||
+ compatible = "qcom,ipq6018-qusb2-phy";
|
||||
+ reg = <0x0 0x00059000 0x0 0x180>;
|
||||
+ #phy-cells = <0>;
|
||||
+
|
||||
+ clocks = <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
|
||||
+ <&xo>;
|
||||
+ clock-names = "cfg_ahb", "ref";
|
||||
+
|
||||
+ resets = <&gcc GCC_QUSB2_1_PHY_BCR>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ssphy_0: ssphy@78000 {
|
||||
+ compatible = "qcom,ipq6018-qmp-usb3-phy";
|
||||
+ reg = <0x0 0x00078000 0x0 0x1c4>;
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+
|
||||
+ clocks = <&gcc GCC_USB0_AUX_CLK>,
|
||||
+ <&gcc GCC_USB0_PHY_CFG_AHB_CLK>, <&xo>;
|
||||
+ clock-names = "aux", "cfg_ahb", "ref";
|
||||
+
|
||||
+ resets = <&gcc GCC_USB0_PHY_BCR>,
|
||||
+ <&gcc GCC_USB3PHY_0_PHY_BCR>;
|
||||
+ reset-names = "phy","common";
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ usb0_ssphy: phy@78200 {
|
||||
+ reg = <0x0 0x00078200 0x0 0x130>, /* Tx */
|
||||
+ <0x0 0x00078400 0x0 0x200>, /* Rx */
|
||||
+ <0x0 0x00078800 0x0 0x1f8>, /* PCS */
|
||||
+ <0x0 0x00078600 0x0 0x044>; /* PCS misc */
|
||||
+ #phy-cells = <0>;
|
||||
+ #clock-cells = <0>;
|
||||
+ clocks = <&gcc GCC_USB0_PIPE_CLK>;
|
||||
+ clock-names = "pipe0";
|
||||
+ clock-output-names = "gcc_usb0_pipe_clk_src";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ qusb_phy_0: qusb@79000 {
|
||||
+ compatible = "qcom,ipq6018-qusb2-phy";
|
||||
+ reg = <0x0 0x00079000 0x0 0x180>;
|
||||
+ #phy-cells = <0>;
|
||||
+
|
||||
+ clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
|
||||
+ <&xo>;
|
||||
+ clock-names = "cfg_ahb", "ref";
|
||||
+
|
||||
+ resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ pcie_phy: phy@84000 {
|
||||
+ compatible = "qcom,ipq6018-qmp-pcie-phy";
|
||||
+ reg = <0x0 0x00084000 0x0 0x1bc>; /* Serdes PLL */
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+
|
||||
+ clocks = <&gcc GCC_PCIE0_AUX_CLK>,
|
||||
+ <&gcc GCC_PCIE0_AHB_CLK>;
|
||||
+ clock-names = "aux", "cfg_ahb";
|
||||
+
|
||||
+ resets = <&gcc GCC_PCIE0_PHY_BCR>,
|
||||
+ <&gcc GCC_PCIE0PHY_PHY_BCR>;
|
||||
+ reset-names = "phy",
|
||||
+ "common";
|
||||
+
|
||||
+ pcie_phy0: phy@84200 {
|
||||
+ reg = <0x0 0x00084200 0x0 0x16c>, /* Serdes Tx */
|
||||
+ <0x0 0x00084400 0x0 0x200>, /* Serdes Rx */
|
||||
+ <0x0 0x00084800 0x0 0x1f0>, /* PCS: Lane0, COM, PCIE */
|
||||
+ <0x0 0x00084c00 0x0 0xf4>; /* pcs_misc */
|
||||
+ #phy-cells = <0>;
|
||||
+
|
||||
+ clocks = <&gcc GCC_PCIE0_PIPE_CLK>;
|
||||
+ clock-names = "pipe0";
|
||||
+ clock-output-names = "gcc_pcie0_pipe_clk_src";
|
||||
+ #clock-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ mdio: mdio@90000 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ compatible = "qcom,ipq6018-mdio", "qcom,ipq4019-mdio";
|
||||
+ reg = <0x0 0x00090000 0x0 0x64>;
|
||||
+ clocks = <&gcc GCC_MDIO_AHB_CLK>;
|
||||
+ clock-names = "gcc_mdio_ahb_clk";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
prng: qrng@e1000 {
|
||||
compatible = "qcom,prng-ee";
|
||||
reg = <0x0 0x000e3000 0x0 0x1000>;
|
||||
@@ -257,6 +375,41 @@
|
||||
reg = <0x0 0x01937000 0x0 0x21000>;
|
||||
};
|
||||
|
||||
+ usb2: usb@70f8800 {
|
||||
+ compatible = "qcom,ipq6018-dwc3", "qcom,dwc3";
|
||||
+ reg = <0x0 0x070F8800 0x0 0x400>;
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+ clocks = <&gcc GCC_USB1_MASTER_CLK>,
|
||||
+ <&gcc GCC_USB1_SLEEP_CLK>,
|
||||
+ <&gcc GCC_USB1_MOCK_UTMI_CLK>;
|
||||
+ clock-names = "core",
|
||||
+ "sleep",
|
||||
+ "mock_utmi";
|
||||
+
|
||||
+ assigned-clocks = <&gcc GCC_USB1_MASTER_CLK>,
|
||||
+ <&gcc GCC_USB1_MOCK_UTMI_CLK>;
|
||||
+ assigned-clock-rates = <133330000>,
|
||||
+ <24000000>;
|
||||
+ resets = <&gcc GCC_USB1_BCR>;
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ dwc_1: usb@7000000 {
|
||||
+ compatible = "snps,dwc3";
|
||||
+ reg = <0x0 0x07000000 0x0 0xcd00>;
|
||||
+ interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ phys = <&qusb_phy_1>;
|
||||
+ phy-names = "usb2-phy";
|
||||
+ tx-fifo-resize;
|
||||
+ snps,is-utmi-l1-suspend;
|
||||
+ snps,hird-threshold = /bits/ 8 <0x0>;
|
||||
+ snps,dis_u2_susphy_quirk;
|
||||
+ snps,dis_u3_susphy_quirk;
|
||||
+ dr_mode = "host";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
blsp_dma: dma-controller@7884000 {
|
||||
compatible = "qcom,bam-v1.7.0";
|
||||
reg = <0x0 0x07884000 0x0 0x2b000>;
|
||||
@@ -366,6 +519,50 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ usb3: usb@8af8800 {
|
||||
+ compatible = "qcom,ipq6018-dwc3", "qcom,dwc3";
|
||||
+ reg = <0x0 0x08af8800 0x0 0x400>;
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+
|
||||
+ clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
|
||||
+ <&gcc GCC_USB0_MASTER_CLK>,
|
||||
+ <&gcc GCC_USB0_SLEEP_CLK>,
|
||||
+ <&gcc GCC_USB0_MOCK_UTMI_CLK>;
|
||||
+ clock-names = "cfg_noc",
|
||||
+ "core",
|
||||
+ "sleep",
|
||||
+ "mock_utmi";
|
||||
+
|
||||
+ assigned-clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
|
||||
+ <&gcc GCC_USB0_MASTER_CLK>,
|
||||
+ <&gcc GCC_USB0_MOCK_UTMI_CLK>;
|
||||
+ assigned-clock-rates = <133330000>,
|
||||
+ <133330000>,
|
||||
+ <24000000>;
|
||||
+
|
||||
+ resets = <&gcc GCC_USB0_BCR>;
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ dwc_0: usb@8a00000 {
|
||||
+ compatible = "snps,dwc3";
|
||||
+ reg = <0x0 0x08a00000 0x0 0xcd00>;
|
||||
+ interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ phys = <&qusb_phy_0>, <&usb0_ssphy>;
|
||||
+ phy-names = "usb2-phy", "usb3-phy";
|
||||
+ clocks = <&xo>;
|
||||
+ clock-names = "ref";
|
||||
+ tx-fifo-resize;
|
||||
+ snps,parkmode-disable-ss-quirk;
|
||||
+ snps,is-utmi-l1-suspend;
|
||||
+ snps,hird-threshold = /bits/ 8 <0x0>;
|
||||
+ snps,dis_u2_susphy_quirk;
|
||||
+ snps,dis_u3_susphy_quirk;
|
||||
+ dr_mode = "host";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
intc: interrupt-controller@b000000 {
|
||||
compatible = "qcom,msm-qgic2";
|
||||
#address-cells = <2>;
|
||||
@@ -386,105 +583,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
- pcie_phy: phy@84000 {
|
||||
- compatible = "qcom,ipq6018-qmp-pcie-phy";
|
||||
- reg = <0x0 0x00084000 0x0 0x1bc>; /* Serdes PLL */
|
||||
- status = "disabled";
|
||||
- #address-cells = <2>;
|
||||
- #size-cells = <2>;
|
||||
- ranges;
|
||||
-
|
||||
- clocks = <&gcc GCC_PCIE0_AUX_CLK>,
|
||||
- <&gcc GCC_PCIE0_AHB_CLK>;
|
||||
- clock-names = "aux", "cfg_ahb";
|
||||
-
|
||||
- resets = <&gcc GCC_PCIE0_PHY_BCR>,
|
||||
- <&gcc GCC_PCIE0PHY_PHY_BCR>;
|
||||
- reset-names = "phy",
|
||||
- "common";
|
||||
-
|
||||
- pcie_phy0: phy@84200 {
|
||||
- reg = <0x0 0x00084200 0x0 0x16c>, /* Serdes Tx */
|
||||
- <0x0 0x00084400 0x0 0x200>, /* Serdes Rx */
|
||||
- <0x0 0x00084800 0x0 0x1f0>, /* PCS: Lane0, COM, PCIE */
|
||||
- <0x0 0x00084c00 0x0 0xf4>; /* pcs_misc */
|
||||
- #phy-cells = <0>;
|
||||
-
|
||||
- clocks = <&gcc GCC_PCIE0_PIPE_CLK>;
|
||||
- clock-names = "pipe0";
|
||||
- clock-output-names = "gcc_pcie0_pipe_clk_src";
|
||||
- #clock-cells = <0>;
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- pcie0: pci@20000000 {
|
||||
- compatible = "qcom,pcie-ipq6018";
|
||||
- reg = <0x0 0x20000000 0x0 0xf1d>,
|
||||
- <0x0 0x20000f20 0x0 0xa8>,
|
||||
- <0x0 0x20001000 0x0 0x1000>,
|
||||
- <0x0 0x80000 0x0 0x4000>,
|
||||
- <0x0 0x20100000 0x0 0x1000>;
|
||||
- reg-names = "dbi", "elbi", "atu", "parf", "config";
|
||||
-
|
||||
- device_type = "pci";
|
||||
- linux,pci-domain = <0>;
|
||||
- bus-range = <0x00 0xff>;
|
||||
- num-lanes = <1>;
|
||||
- max-link-speed = <3>;
|
||||
- #address-cells = <3>;
|
||||
- #size-cells = <2>;
|
||||
-
|
||||
- phys = <&pcie_phy0>;
|
||||
- phy-names = "pciephy";
|
||||
-
|
||||
- ranges = <0x81000000 0x0 0x00000000 0x0 0x20200000 0x0 0x10000>,
|
||||
- <0x82000000 0x0 0x20220000 0x0 0x20220000 0x0 0xfde0000>;
|
||||
-
|
||||
- interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- interrupt-names = "msi";
|
||||
-
|
||||
- #interrupt-cells = <1>;
|
||||
- interrupt-map-mask = <0 0 0 0x7>;
|
||||
- interrupt-map = <0 0 0 1 &intc 0 75
|
||||
- IRQ_TYPE_LEVEL_HIGH>, /* int_a */
|
||||
- <0 0 0 2 &intc 0 78
|
||||
- IRQ_TYPE_LEVEL_HIGH>, /* int_b */
|
||||
- <0 0 0 3 &intc 0 79
|
||||
- IRQ_TYPE_LEVEL_HIGH>, /* int_c */
|
||||
- <0 0 0 4 &intc 0 83
|
||||
- IRQ_TYPE_LEVEL_HIGH>; /* int_d */
|
||||
-
|
||||
- clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
|
||||
- <&gcc GCC_PCIE0_AXI_M_CLK>,
|
||||
- <&gcc GCC_PCIE0_AXI_S_CLK>,
|
||||
- <&gcc GCC_PCIE0_AXI_S_BRIDGE_CLK>,
|
||||
- <&gcc PCIE0_RCHNG_CLK>;
|
||||
- clock-names = "iface",
|
||||
- "axi_m",
|
||||
- "axi_s",
|
||||
- "axi_bridge",
|
||||
- "rchng";
|
||||
-
|
||||
- resets = <&gcc GCC_PCIE0_PIPE_ARES>,
|
||||
- <&gcc GCC_PCIE0_SLEEP_ARES>,
|
||||
- <&gcc GCC_PCIE0_CORE_STICKY_ARES>,
|
||||
- <&gcc GCC_PCIE0_AXI_MASTER_ARES>,
|
||||
- <&gcc GCC_PCIE0_AXI_SLAVE_ARES>,
|
||||
- <&gcc GCC_PCIE0_AHB_ARES>,
|
||||
- <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>,
|
||||
- <&gcc GCC_PCIE0_AXI_SLAVE_STICKY_ARES>;
|
||||
- reset-names = "pipe",
|
||||
- "sleep",
|
||||
- "sticky",
|
||||
- "axi_m",
|
||||
- "axi_s",
|
||||
- "ahb",
|
||||
- "axi_m_sticky",
|
||||
- "axi_s_sticky";
|
||||
-
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
watchdog@b017000 {
|
||||
compatible = "qcom,kpss-wdt";
|
||||
interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
|
||||
@@ -617,148 +715,74 @@
|
||||
};
|
||||
};
|
||||
|
||||
- mdio: mdio@90000 {
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <0>;
|
||||
- compatible = "qcom,ipq6018-mdio", "qcom,ipq4019-mdio";
|
||||
- reg = <0x0 0x00090000 0x0 0x64>;
|
||||
- clocks = <&gcc GCC_MDIO_AHB_CLK>;
|
||||
- clock-names = "gcc_mdio_ahb_clk";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- qusb_phy_1: qusb@59000 {
|
||||
- compatible = "qcom,ipq6018-qusb2-phy";
|
||||
- reg = <0x0 0x00059000 0x0 0x180>;
|
||||
- #phy-cells = <0>;
|
||||
-
|
||||
- clocks = <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
|
||||
- <&xo>;
|
||||
- clock-names = "cfg_ahb", "ref";
|
||||
-
|
||||
- resets = <&gcc GCC_QUSB2_1_PHY_BCR>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- usb2: usb@70f8800 {
|
||||
- compatible = "qcom,ipq6018-dwc3", "qcom,dwc3";
|
||||
- reg = <0x0 0x070F8800 0x0 0x400>;
|
||||
- #address-cells = <2>;
|
||||
- #size-cells = <2>;
|
||||
- ranges;
|
||||
- clocks = <&gcc GCC_USB1_MASTER_CLK>,
|
||||
- <&gcc GCC_USB1_SLEEP_CLK>,
|
||||
- <&gcc GCC_USB1_MOCK_UTMI_CLK>;
|
||||
- clock-names = "core",
|
||||
- "sleep",
|
||||
- "mock_utmi";
|
||||
-
|
||||
- assigned-clocks = <&gcc GCC_USB1_MASTER_CLK>,
|
||||
- <&gcc GCC_USB1_MOCK_UTMI_CLK>;
|
||||
- assigned-clock-rates = <133330000>,
|
||||
- <24000000>;
|
||||
- resets = <&gcc GCC_USB1_BCR>;
|
||||
- status = "disabled";
|
||||
-
|
||||
- dwc_1: usb@7000000 {
|
||||
- compatible = "snps,dwc3";
|
||||
- reg = <0x0 0x07000000 0x0 0xcd00>;
|
||||
- interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- phys = <&qusb_phy_1>;
|
||||
- phy-names = "usb2-phy";
|
||||
- tx-fifo-resize;
|
||||
- snps,is-utmi-l1-suspend;
|
||||
- snps,hird-threshold = /bits/ 8 <0x0>;
|
||||
- snps,dis_u2_susphy_quirk;
|
||||
- snps,dis_u3_susphy_quirk;
|
||||
- dr_mode = "host";
|
||||
- };
|
||||
- };
|
||||
+ pcie0: pci@20000000 {
|
||||
+ compatible = "qcom,pcie-ipq6018";
|
||||
+ reg = <0x0 0x20000000 0x0 0xf1d>,
|
||||
+ <0x0 0x20000f20 0x0 0xa8>,
|
||||
+ <0x0 0x20001000 0x0 0x1000>,
|
||||
+ <0x0 0x80000 0x0 0x4000>,
|
||||
+ <0x0 0x20100000 0x0 0x1000>;
|
||||
+ reg-names = "dbi", "elbi", "atu", "parf", "config";
|
||||
|
||||
- ssphy_0: ssphy@78000 {
|
||||
- compatible = "qcom,ipq6018-qmp-usb3-phy";
|
||||
- reg = <0x0 0x00078000 0x0 0x1c4>;
|
||||
- #address-cells = <2>;
|
||||
+ device_type = "pci";
|
||||
+ linux,pci-domain = <0>;
|
||||
+ bus-range = <0x00 0xff>;
|
||||
+ num-lanes = <1>;
|
||||
+ max-link-speed = <3>;
|
||||
+ #address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
- ranges;
|
||||
|
||||
- clocks = <&gcc GCC_USB0_AUX_CLK>,
|
||||
- <&gcc GCC_USB0_PHY_CFG_AHB_CLK>, <&xo>;
|
||||
- clock-names = "aux", "cfg_ahb", "ref";
|
||||
-
|
||||
- resets = <&gcc GCC_USB0_PHY_BCR>,
|
||||
- <&gcc GCC_USB3PHY_0_PHY_BCR>;
|
||||
- reset-names = "phy","common";
|
||||
- status = "disabled";
|
||||
-
|
||||
- usb0_ssphy: phy@78200 {
|
||||
- reg = <0x0 0x00078200 0x0 0x130>, /* Tx */
|
||||
- <0x0 0x00078400 0x0 0x200>, /* Rx */
|
||||
- <0x0 0x00078800 0x0 0x1f8>, /* PCS */
|
||||
- <0x0 0x00078600 0x0 0x044>; /* PCS misc */
|
||||
- #phy-cells = <0>;
|
||||
- #clock-cells = <0>;
|
||||
- clocks = <&gcc GCC_USB0_PIPE_CLK>;
|
||||
- clock-names = "pipe0";
|
||||
- clock-output-names = "gcc_usb0_pipe_clk_src";
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- qusb_phy_0: qusb@79000 {
|
||||
- compatible = "qcom,ipq6018-qusb2-phy";
|
||||
- reg = <0x0 0x00079000 0x0 0x180>;
|
||||
- #phy-cells = <0>;
|
||||
+ phys = <&pcie_phy0>;
|
||||
+ phy-names = "pciephy";
|
||||
|
||||
- clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
|
||||
- <&xo>;
|
||||
- clock-names = "cfg_ahb", "ref";
|
||||
+ ranges = <0x81000000 0 0x20200000 0 0x20200000
|
||||
+ 0 0x10000>, /* downstream I/O */
|
||||
+ <0x82000000 0 0x20220000 0 0x20220000
|
||||
+ 0 0xfde0000>; /* non-prefetchable memory */
|
||||
|
||||
- resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
+ interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "msi";
|
||||
|
||||
- usb3: usb@8af8800 {
|
||||
- compatible = "qcom,ipq6018-dwc3", "qcom,dwc3";
|
||||
- reg = <0x0 0x8af8800 0x0 0x400>;
|
||||
- #address-cells = <2>;
|
||||
- #size-cells = <2>;
|
||||
- ranges;
|
||||
+ #interrupt-cells = <1>;
|
||||
+ interrupt-map-mask = <0 0 0 0x7>;
|
||||
+ interrupt-map = <0 0 0 1 &intc 0 75
|
||||
+ IRQ_TYPE_LEVEL_HIGH>, /* int_a */
|
||||
+ <0 0 0 2 &intc 0 78
|
||||
+ IRQ_TYPE_LEVEL_HIGH>, /* int_b */
|
||||
+ <0 0 0 3 &intc 0 79
|
||||
+ IRQ_TYPE_LEVEL_HIGH>, /* int_c */
|
||||
+ <0 0 0 4 &intc 0 83
|
||||
+ IRQ_TYPE_LEVEL_HIGH>; /* int_d */
|
||||
|
||||
- clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
|
||||
- <&gcc GCC_USB0_MASTER_CLK>,
|
||||
- <&gcc GCC_USB0_SLEEP_CLK>,
|
||||
- <&gcc GCC_USB0_MOCK_UTMI_CLK>;
|
||||
- clock-names = "cfg_noc",
|
||||
- "core",
|
||||
- "sleep",
|
||||
- "mock_utmi";
|
||||
+ clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
|
||||
+ <&gcc GCC_PCIE0_AXI_M_CLK>,
|
||||
+ <&gcc GCC_PCIE0_AXI_S_CLK>,
|
||||
+ <&gcc GCC_PCIE0_AXI_S_BRIDGE_CLK>,
|
||||
+ <&gcc PCIE0_RCHNG_CLK>;
|
||||
+ clock-names = "iface",
|
||||
+ "axi_m",
|
||||
+ "axi_s",
|
||||
+ "axi_bridge",
|
||||
+ "rchng";
|
||||
|
||||
- assigned-clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
|
||||
- <&gcc GCC_USB0_MASTER_CLK>,
|
||||
- <&gcc GCC_USB0_MOCK_UTMI_CLK>;
|
||||
- assigned-clock-rates = <133330000>,
|
||||
- <133330000>,
|
||||
- <24000000>;
|
||||
+ resets = <&gcc GCC_PCIE0_PIPE_ARES>,
|
||||
+ <&gcc GCC_PCIE0_SLEEP_ARES>,
|
||||
+ <&gcc GCC_PCIE0_CORE_STICKY_ARES>,
|
||||
+ <&gcc GCC_PCIE0_AXI_MASTER_ARES>,
|
||||
+ <&gcc GCC_PCIE0_AXI_SLAVE_ARES>,
|
||||
+ <&gcc GCC_PCIE0_AHB_ARES>,
|
||||
+ <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>,
|
||||
+ <&gcc GCC_PCIE0_AXI_SLAVE_STICKY_ARES>;
|
||||
+ reset-names = "pipe",
|
||||
+ "sleep",
|
||||
+ "sticky",
|
||||
+ "axi_m",
|
||||
+ "axi_s",
|
||||
+ "ahb",
|
||||
+ "axi_m_sticky",
|
||||
+ "axi_s_sticky";
|
||||
|
||||
- resets = <&gcc GCC_USB0_BCR>;
|
||||
status = "disabled";
|
||||
-
|
||||
- dwc_0: usb@8a00000 {
|
||||
- compatible = "snps,dwc3";
|
||||
- reg = <0x0 0x8a00000 0x0 0xcd00>;
|
||||
- interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- phys = <&qusb_phy_0>, <&usb0_ssphy>;
|
||||
- phy-names = "usb2-phy", "usb3-phy";
|
||||
- clocks = <&xo>;
|
||||
- clock-names = "ref";
|
||||
- tx-fifo-resize;
|
||||
- snps,parkmode-disable-ss-quirk;
|
||||
- snps,is-utmi-l1-suspend;
|
||||
- snps,hird-threshold = /bits/ 8 <0x0>;
|
||||
- snps,dis_u2_susphy_quirk;
|
||||
- snps,dis_u3_susphy_quirk;
|
||||
- dr_mode = "host";
|
||||
- };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -793,26 +817,4 @@
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
};
|
||||
-
|
||||
- rpm-glink {
|
||||
- compatible = "qcom,glink-rpm";
|
||||
- interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
|
||||
- qcom,rpm-msg-ram = <&rpm_msg_ram>;
|
||||
- mboxes = <&apcs_glb 0>;
|
||||
-
|
||||
- rpm_requests: glink-channel {
|
||||
- compatible = "qcom,rpm-ipq6018";
|
||||
- qcom,glink-channels = "rpm_requests";
|
||||
-
|
||||
- regulators {
|
||||
- compatible = "qcom,rpm-mp5496-regulators";
|
||||
-
|
||||
- ipq6018_s2: s2 {
|
||||
- regulator-min-microvolt = <725000>;
|
||||
- regulator-max-microvolt = <1062500>;
|
||||
- regulator-always-on;
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
};
|
@ -0,0 +1,92 @@
|
||||
From 6db9ed9a128cbae1423d043f3debd8bfa77783fd Mon Sep 17 00:00:00 2001
|
||||
From: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Date: Mon, 2 Jan 2023 10:46:29 +0100
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: Add/remove some newlines
|
||||
|
||||
Some lines were broken very aggresively, presumably to fit under 80 chars
|
||||
and some places could have used a newline, particularly between subsequent
|
||||
nodes. Address all that and remove redundant comments near PCIe ranges
|
||||
while at it so as not to exceed 100 chars needlessly.
|
||||
|
||||
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20230102094642.74254-5-konrad.dybcio@linaro.org
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 26 ++++++++++++--------------
|
||||
1 file changed, 12 insertions(+), 14 deletions(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -102,26 +102,31 @@
|
||||
opp-microvolt = <725000>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
+
|
||||
opp-1056000000 {
|
||||
opp-hz = /bits/ 64 <1056000000>;
|
||||
opp-microvolt = <787500>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
+
|
||||
opp-1320000000 {
|
||||
opp-hz = /bits/ 64 <1320000000>;
|
||||
opp-microvolt = <862500>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
+
|
||||
opp-1440000000 {
|
||||
opp-hz = /bits/ 64 <1440000000>;
|
||||
opp-microvolt = <925000>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
+
|
||||
opp-1608000000 {
|
||||
opp-hz = /bits/ 64 <1608000000>;
|
||||
opp-microvolt = <987500>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
+
|
||||
opp-1800000000 {
|
||||
opp-hz = /bits/ 64 <1800000000>;
|
||||
opp-microvolt = <1062500>;
|
||||
@@ -131,8 +136,7 @@
|
||||
|
||||
pmuv8: pmu {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
- interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) |
|
||||
- IRQ_TYPE_LEVEL_HIGH)>;
|
||||
+ interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
};
|
||||
|
||||
psci: psci {
|
||||
@@ -735,24 +739,18 @@
|
||||
phys = <&pcie_phy0>;
|
||||
phy-names = "pciephy";
|
||||
|
||||
- ranges = <0x81000000 0 0x20200000 0 0x20200000
|
||||
- 0 0x10000>, /* downstream I/O */
|
||||
- <0x82000000 0 0x20220000 0 0x20220000
|
||||
- 0 0xfde0000>; /* non-prefetchable memory */
|
||||
+ ranges = <0x81000000 0 0x20200000 0 0x20200000 0 0x10000>,
|
||||
+ <0x82000000 0 0x20220000 0 0x20220000 0 0xfde0000>;
|
||||
|
||||
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "msi";
|
||||
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0 0 0 0x7>;
|
||||
- interrupt-map = <0 0 0 1 &intc 0 75
|
||||
- IRQ_TYPE_LEVEL_HIGH>, /* int_a */
|
||||
- <0 0 0 2 &intc 0 78
|
||||
- IRQ_TYPE_LEVEL_HIGH>, /* int_b */
|
||||
- <0 0 0 3 &intc 0 79
|
||||
- IRQ_TYPE_LEVEL_HIGH>, /* int_c */
|
||||
- <0 0 0 4 &intc 0 83
|
||||
- IRQ_TYPE_LEVEL_HIGH>; /* int_d */
|
||||
+ interrupt-map = <0 0 0 1 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
|
||||
+ <0 0 0 2 &intc 0 78 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
|
||||
+ <0 0 0 3 &intc 0 79 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
|
||||
+ <0 0 0 4 &intc 0 83 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
|
||||
|
||||
clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
|
||||
<&gcc GCC_PCIE0_AXI_M_CLK>,
|
@ -0,0 +1,25 @@
|
||||
From 7356ae3e10abd1d71f06ff0b8a8e72aa7c955c57 Mon Sep 17 00:00:00 2001
|
||||
From: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Date: Mon, 2 Jan 2023 10:46:30 +0100
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: Use lowercase hex
|
||||
|
||||
One value escaped my previous lowercase hexification. Take care of it.
|
||||
|
||||
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20230102094642.74254-6-konrad.dybcio@linaro.org
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -381,7 +381,7 @@
|
||||
|
||||
usb2: usb@70f8800 {
|
||||
compatible = "qcom,ipq6018-dwc3", "qcom,dwc3";
|
||||
- reg = <0x0 0x070F8800 0x0 0x400>;
|
||||
+ reg = <0x0 0x070f8800 0x0 0x400>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
@ -0,0 +1,28 @@
|
||||
From 679ee73bbee28cab441008f8cca38160cc8f3d05 Mon Sep 17 00:00:00 2001
|
||||
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Date: Wed, 8 Feb 2023 11:15:39 +0100
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: align RPM G-Link node with
|
||||
bindings
|
||||
|
||||
Bindings expect (and most of DTS use) the RPM G-Link node name to be
|
||||
"rpm-requests".
|
||||
|
||||
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20230208101545.45711-1-krzysztof.kozlowski@linaro.org
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -176,7 +176,7 @@
|
||||
qcom,rpm-msg-ram = <&rpm_msg_ram>;
|
||||
mboxes = <&apcs_glb 0>;
|
||||
|
||||
- rpm_requests: glink-channel {
|
||||
+ rpm_requests: rpm-requests {
|
||||
compatible = "qcom,rpm-ipq6018";
|
||||
qcom,glink-channels = "rpm_requests";
|
||||
|
@ -24,6 +24,40 @@ Link: https://lore.kernel.org/r/20230526110653.27777-4-quic_viswanat@quicinc.com
|
||||
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 14 ++++++++++++--
|
||||
2 files changed, 25 insertions(+), 5 deletions(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -154,18 +154,28 @@
|
||||
no-map;
|
||||
};
|
||||
|
||||
+ bootloader@4a100000 {
|
||||
+ reg = <0x0 0x4a100000 0x0 0x400000>;
|
||||
+ no-map;
|
||||
+ };
|
||||
+
|
||||
+ sbl@4a500000 {
|
||||
+ reg = <0x0 0x4a500000 0x0 0x100000>;
|
||||
+ no-map;
|
||||
+ };
|
||||
+
|
||||
tz: memory@4a600000 {
|
||||
- reg = <0x0 0x4a600000 0x0 0x00400000>;
|
||||
+ reg = <0x0 0x4a600000 0x0 0x400000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
smem_region: memory@4aa00000 {
|
||||
- reg = <0x0 0x4aa00000 0x0 0x00100000>;
|
||||
+ reg = <0x0 0x4aa00000 0x0 0x100000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
q6_region: memory@4ab00000 {
|
||||
- reg = <0x0 0x4ab00000 0x0 0x05500000>;
|
||||
+ reg = <0x0 0x4ab00000 0x0 0x5500000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -85,17 +85,27 @@
|
||||
|
@ -15,6 +15,16 @@ Link: https://lore.kernel.org/r/20230526110653.27777-3-quic_viswanat@quicinc.com
|
||||
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 6 ++++++
|
||||
2 files changed, 7 insertions(+)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -90,6 +90,7 @@
|
||||
firmware {
|
||||
scm {
|
||||
compatible = "qcom,scm-ipq6018", "qcom,scm";
|
||||
+ qcom,dload-mode = <&tcsr 0x6100>;
|
||||
};
|
||||
};
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -112,6 +112,7 @@
|
||||
|
@ -0,0 +1,29 @@
|
||||
From 085058786a7890dd44ec623fe5ac74db870f6b93 Mon Sep 17 00:00:00 2001
|
||||
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Date: Wed, 19 Apr 2023 23:18:39 +0200
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: correct qrng unit address
|
||||
|
||||
Match unit-address to reg entry to fix dtbs W=1 warnings:
|
||||
|
||||
Warning (simple_bus_reg): /soc/qrng@e1000: simple-bus unit address format error, expected "e3000"
|
||||
|
||||
Fixes: 5bf635621245 ("arm64: dts: ipq6018: Add a few device nodes")
|
||||
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20230419211856.79332-1-krzysztof.kozlowski@linaro.org
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -312,7 +312,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
- prng: qrng@e1000 {
|
||||
+ prng: qrng@e3000 {
|
||||
compatible = "qcom,prng-ee";
|
||||
reg = <0x0 0x000e3000 0x0 0x1000>;
|
||||
clocks = <&gcc GCC_PRNG_AHB_CLK>;
|
@ -0,0 +1,28 @@
|
||||
From 393595d4ffbd0a1fafd5548f8de1b8487a037cf2 Mon Sep 17 00:00:00 2001
|
||||
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Date: Thu, 20 Apr 2023 08:36:04 +0200
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: add unit address to soc node
|
||||
|
||||
"soc" node is supposed to have unit address:
|
||||
|
||||
Warning (unit_address_vs_reg): /soc: node has a reg or ranges property, but no unit name
|
||||
|
||||
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20230420063610.11068-1-krzysztof.kozlowski@linaro.org
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -209,7 +209,7 @@
|
||||
hwlocks = <&tcsr_mutex 3>;
|
||||
};
|
||||
|
||||
- soc: soc {
|
||||
+ soc: soc@0 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges = <0 0 0 0 0x0 0xffffffff>;
|
@ -0,0 +1,34 @@
|
||||
From 546f0617a22a481f3ca1f7e058aea0c40517c64e Mon Sep 17 00:00:00 2001
|
||||
From: Kathiravan T <quic_kathirav@quicinc.com>
|
||||
Date: Fri, 26 May 2023 18:23:04 +0530
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: add QFPROM node
|
||||
|
||||
IPQ6018 has efuse region to determine the various HW quirks. Lets
|
||||
add the initial support and the individual fuses will be added as they
|
||||
are required.
|
||||
|
||||
Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
|
||||
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
||||
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20230526125305.19626-4-quic_kathirav@quicinc.com
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -312,6 +312,13 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ qfprom: efuse@a4000 {
|
||||
+ compatible = "qcom,ipq6018-qfprom", "qcom,qfprom";
|
||||
+ reg = <0x0 0x000a4000 0x0 0x2000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
prng: qrng@e3000 {
|
||||
compatible = "qcom,prng-ee";
|
||||
reg = <0x0 0x000e3000 0x0 0x1000>;
|
@ -0,0 +1,37 @@
|
||||
From b8420d478aa3fc739fcdba6b4b945850b356cb3b Mon Sep 17 00:00:00 2001
|
||||
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Date: Sun, 16 Apr 2023 14:37:25 +0200
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: drop incorrect SPI bus
|
||||
spi-max-frequency
|
||||
|
||||
The spi-max-frequency property belongs to SPI devices, not SPI
|
||||
controller:
|
||||
|
||||
ipq6018-cp01-c1.dtb: spi@78b5000: Unevaluated properties are not allowed ('spi-max-frequency' was unexpected)
|
||||
|
||||
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20230416123730.300863-1-krzysztof.kozlowski@linaro.org
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -458,7 +458,6 @@
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x078b5000 0x0 0x600>;
|
||||
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- spi-max-frequency = <50000000>;
|
||||
clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
clock-names = "core", "iface";
|
||||
@@ -473,7 +472,6 @@
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x078b6000 0x0 0x600>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- spi-max-frequency = <50000000>;
|
||||
clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
clock-names = "core", "iface";
|
@ -0,0 +1,93 @@
|
||||
From 7e1acc8b92a3b67db1e5255adae2851d58d74434 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Gerhold <stephan@gerhold.net>
|
||||
Date: Thu, 15 Jun 2023 18:50:44 +0200
|
||||
Subject: [PATCH] arm64: dts: qcom: Add rpm-proc node for GLINK gplatforms
|
||||
|
||||
Rather than having the RPM GLINK channels as the only child of a dummy
|
||||
top-level rpm-glink node, switch to representing the RPM as remoteproc
|
||||
like all the other remoteprocs (modem DSP, ...).
|
||||
|
||||
This allows assigning additional subdevices to it like the MPM
|
||||
interrupt-controller or rpm-master-stats.
|
||||
|
||||
Tested-by: Konrad Dybcio <konrad.dybcio@linaro.org> # SM6375
|
||||
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
|
||||
Link: https://lore.kernel.org/r/20230531-rpm-rproc-v3-11-a07dcdefd918@gerhold.net
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 48 ++++----
|
||||
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 28 +++--
|
||||
arch/arm64/boot/dts/qcom/msm8996.dtsi | 113 +++++++++----------
|
||||
arch/arm64/boot/dts/qcom/msm8998.dtsi | 102 ++++++++---------
|
||||
arch/arm64/boot/dts/qcom/qcm2290.dtsi | 126 ++++++++++-----------
|
||||
arch/arm64/boot/dts/qcom/qcs404.dtsi | 152 +++++++++++++-------------
|
||||
arch/arm64/boot/dts/qcom/sdm630.dtsi | 132 +++++++++++-----------
|
||||
arch/arm64/boot/dts/qcom/sm6115.dtsi | 128 +++++++++++-----------
|
||||
arch/arm64/boot/dts/qcom/sm6125.dtsi | 140 ++++++++++++------------
|
||||
arch/arm64/boot/dts/qcom/sm6375.dtsi | 126 ++++++++++-----------
|
||||
10 files changed, 566 insertions(+), 529 deletions(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -145,6 +145,32 @@
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
+ rpm: remoteproc {
|
||||
+ compatible = "qcom,ipq6018-rpm-proc", "qcom,rpm-proc";
|
||||
+
|
||||
+ glink-edge {
|
||||
+ compatible = "qcom,glink-rpm";
|
||||
+ interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
|
||||
+ qcom,rpm-msg-ram = <&rpm_msg_ram>;
|
||||
+ mboxes = <&apcs_glb 0>;
|
||||
+
|
||||
+ rpm_requests: rpm-requests {
|
||||
+ compatible = "qcom,rpm-ipq6018";
|
||||
+ qcom,glink-channels = "rpm_requests";
|
||||
+
|
||||
+ regulators {
|
||||
+ compatible = "qcom,rpm-mp5496-regulators";
|
||||
+
|
||||
+ ipq6018_s2: s2 {
|
||||
+ regulator-min-microvolt = <725000>;
|
||||
+ regulator-max-microvolt = <1062500>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
@@ -181,28 +207,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
- rpm-glink {
|
||||
- compatible = "qcom,glink-rpm";
|
||||
- interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
|
||||
- qcom,rpm-msg-ram = <&rpm_msg_ram>;
|
||||
- mboxes = <&apcs_glb 0>;
|
||||
-
|
||||
- rpm_requests: rpm-requests {
|
||||
- compatible = "qcom,rpm-ipq6018";
|
||||
- qcom,glink-channels = "rpm_requests";
|
||||
-
|
||||
- regulators {
|
||||
- compatible = "qcom,rpm-mp5496-regulators";
|
||||
-
|
||||
- ipq6018_s2: s2 {
|
||||
- regulator-min-microvolt = <725000>;
|
||||
- regulator-max-microvolt = <1062500>;
|
||||
- regulator-always-on;
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
-
|
||||
smem {
|
||||
compatible = "qcom,smem";
|
||||
memory-region = <&smem_region>;
|
@ -0,0 +1,35 @@
|
||||
From 0133c7af3aa0420778d106cb90db708cfa45f2c6 Mon Sep 17 00:00:00 2001
|
||||
From: Kathiravan Thirumoorthy <quic_kathirav@quicinc.com>
|
||||
Date: Thu, 14 Sep 2023 12:29:59 +0530
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: include the GPLL0 as clock
|
||||
provider for mailbox
|
||||
|
||||
While the kernel is booting up, APSS clock / CPU clock will be running
|
||||
at 800MHz with GPLL0 as source. Once the cpufreq driver is available,
|
||||
APSS PLL will be configured to the rate based on the opp table and the
|
||||
source also will be changed to APSS_PLL_EARLY. So allow the mailbox to
|
||||
consume the GPLL0, with this inclusion, CPU Freq correctly reports that
|
||||
CPU is running at 800MHz rather than 24MHz.
|
||||
|
||||
Signed-off-by: Kathiravan Thirumoorthy <quic_kathirav@quicinc.com>
|
||||
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Link: https://lore.kernel.org/r/20230913-gpll_cleanup-v2-9-c8ceb1a37680@quicinc.com
|
||||
[bjorn: Updated commit message, as requested by Kathiravan]
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -619,8 +619,8 @@
|
||||
compatible = "qcom,ipq6018-apcs-apps-global";
|
||||
reg = <0x0 0x0b111000 0x0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
- clocks = <&a53pll>, <&xo>;
|
||||
- clock-names = "pll", "xo";
|
||||
+ clocks = <&a53pll>, <&xo>, <&gcc GPLL0>;
|
||||
+ clock-names = "pll", "xo", "gpll0";
|
||||
#mbox-cells = <1>;
|
||||
};
|
||||
|
@ -0,0 +1,85 @@
|
||||
From 83afcf14edb9217e58837eb119da96d734a4b3b1 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robimarko@gmail.com>
|
||||
Date: Sat, 21 Oct 2023 14:00:07 +0200
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: use CPUFreq NVMEM
|
||||
|
||||
IPQ6018 comes in multiple SKU-s and some of them dont support all of the
|
||||
OPP-s that are current set, so lets utilize CPUFreq NVMEM to allow only
|
||||
supported OPP-s based on the SoC dynamically.
|
||||
|
||||
As an example, IPQ6018 is generaly rated at 1.8GHz but some silicon only
|
||||
goes up to 1.5GHz and is marked as such via an eFuse.
|
||||
|
||||
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
Link: https://lore.kernel.org/r/20231021120048.231239-1-robimarko@gmail.com
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 14 +++++++++++++-
|
||||
1 file changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -95,42 +95,49 @@
|
||||
};
|
||||
|
||||
cpu_opp_table: opp-table-cpu {
|
||||
- compatible = "operating-points-v2";
|
||||
+ compatible = "operating-points-v2-kryo-cpu";
|
||||
+ nvmem-cells = <&cpu_speed_bin>;
|
||||
opp-shared;
|
||||
|
||||
opp-864000000 {
|
||||
opp-hz = /bits/ 64 <864000000>;
|
||||
opp-microvolt = <725000>;
|
||||
+ opp-supported-hw = <0xf>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
|
||||
opp-1056000000 {
|
||||
opp-hz = /bits/ 64 <1056000000>;
|
||||
opp-microvolt = <787500>;
|
||||
+ opp-supported-hw = <0xf>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
|
||||
opp-1320000000 {
|
||||
opp-hz = /bits/ 64 <1320000000>;
|
||||
opp-microvolt = <862500>;
|
||||
+ opp-supported-hw = <0x3>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
|
||||
opp-1440000000 {
|
||||
opp-hz = /bits/ 64 <1440000000>;
|
||||
opp-microvolt = <925000>;
|
||||
+ opp-supported-hw = <0x3>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
|
||||
opp-1608000000 {
|
||||
opp-hz = /bits/ 64 <1608000000>;
|
||||
opp-microvolt = <987500>;
|
||||
+ opp-supported-hw = <0x1>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
|
||||
opp-1800000000 {
|
||||
opp-hz = /bits/ 64 <1800000000>;
|
||||
opp-microvolt = <1062500>;
|
||||
+ opp-supported-hw = <0x1>;
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
};
|
||||
@@ -321,6 +328,11 @@
|
||||
reg = <0x0 0x000a4000 0x0 0x2000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
+
|
||||
+ cpu_speed_bin: cpu-speed-bin@135 {
|
||||
+ reg = <0x135 0x1>;
|
||||
+ bits = <7 1>;
|
||||
+ };
|
||||
};
|
||||
|
||||
prng: qrng@e3000 {
|
@ -0,0 +1,45 @@
|
||||
From b4a32d218d424b81a58fbd419e1114b1c1f76168 Mon Sep 17 00:00:00 2001
|
||||
From: Devi Priya <quic_devipriy@quicinc.com>
|
||||
Date: Thu, 5 Oct 2023 21:35:50 +0530
|
||||
Subject: [PATCH] pwm: driver for qualcomm ipq6018 pwm block
|
||||
|
||||
Describe the PWM block on IPQ6018.
|
||||
|
||||
The PWM is in the TCSR area. Make &tcsr "simple-mfd" compatible, and add
|
||||
&pwm as child of &tcsr.
|
||||
|
||||
Add also ipq6018 specific compatible string.
|
||||
|
||||
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Co-developed-by: Baruch Siach <baruch.siach@siklu.com>
|
||||
Signed-off-by: Baruch Siach <baruch.siach@siklu.com>
|
||||
Signed-off-by: Devi Priya <quic_devipriy@quicinc.com>
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -409,8 +409,21 @@
|
||||
};
|
||||
|
||||
tcsr: syscon@1937000 {
|
||||
- compatible = "qcom,tcsr-ipq6018", "syscon";
|
||||
+ compatible = "qcom,tcsr-ipq6018", "syscon", "simple-mfd";
|
||||
reg = <0x0 0x01937000 0x0 0x21000>;
|
||||
+ ranges = <0x0 0x0 0x01937000 0x21000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ pwm: pwm@a010 {
|
||||
+ compatible = "qcom,ipq6018-pwm";
|
||||
+ reg = <0xa010 0x20>;
|
||||
+ clocks = <&gcc GCC_ADSS_PWM_CLK>;
|
||||
+ assigned-clocks = <&gcc GCC_ADSS_PWM_CLK>;
|
||||
+ assigned-clock-rates = <100000000>;
|
||||
+ #pwm-cells = <2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
};
|
||||
|
||||
usb2: usb@70f8800 {
|
@ -0,0 +1,66 @@
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -471,6 +471,26 @@
|
||||
qcom,ee = <0>;
|
||||
};
|
||||
|
||||
+ blsp1_uart1: serial@78af000 {
|
||||
+ compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
+ reg = <0x0 0x78af000 0x0 0x200>;
|
||||
+ interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
|
||||
+ <&gcc GCC_BLSP1_AHB_CLK>;
|
||||
+ clock-names = "core", "iface";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ blsp1_uart2: serial@78b0000 {
|
||||
+ compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
+ reg = <0x0 0x78b0000 0x0 0x200>;
|
||||
+ interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
|
||||
+ <&gcc GCC_BLSP1_AHB_CLK>;
|
||||
+ clock-names = "core", "iface";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
blsp1_uart3: serial@78b1000 {
|
||||
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
reg = <0x0 0x078b1000 0x0 0x200>;
|
||||
@@ -479,6 +499,36 @@
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
clock-names = "core", "iface";
|
||||
status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ blsp1_uart4: serial@78b2000 {
|
||||
+ compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
+ reg = <0x0 0x078b2000 0x0 0x200>;
|
||||
+ interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&gcc GCC_BLSP1_UART4_APPS_CLK>,
|
||||
+ <&gcc GCC_BLSP1_AHB_CLK>;
|
||||
+ clock-names = "core", "iface";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ blsp1_uart5: serial@78b3000 {
|
||||
+ compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
+ reg = <0x0 0x78b3000 0x0 0x200>;
|
||||
+ interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&gcc GCC_BLSP1_UART5_APPS_CLK>,
|
||||
+ <&gcc GCC_BLSP1_AHB_CLK>;
|
||||
+ clock-names = "core", "iface";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ blsp1_uart6: serial@78b4000 {
|
||||
+ compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
+ reg = <0x0 0x078b4000 0x0 0x200>;
|
||||
+ interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&gcc GCC_BLSP1_UART6_APPS_CLK>,
|
||||
+ <&gcc GCC_BLSP1_AHB_CLK>;
|
||||
+ clock-names = "core", "iface";
|
||||
+ status = "disabled";
|
||||
};
|
||||
|
||||
blsp1_spi1: spi@78b5000 {
|
@ -12,6 +12,35 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
|
||||
drivers/remoteproc/qcom_q6v5_wcss.c | 235 +++++++++++++++++++++++---
|
||||
2 files changed, 232 insertions(+), 23 deletions(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -790,8 +790,24 @@
|
||||
"wcss_reset",
|
||||
"wcss_q6_reset";
|
||||
|
||||
- clocks = <&gcc GCC_PRNG_AHB_CLK>;
|
||||
- clock-names = "prng";
|
||||
+ clocks = <&gcc GCC_PRNG_AHB_CLK>,
|
||||
+ <&gcc GCC_SYS_NOC_WCSS_AHB_CLK>,
|
||||
+ <&gcc GCC_Q6SS_ATBM_CLK>,
|
||||
+ <&gcc GCC_Q6SS_PCLKDBG_CLK>,
|
||||
+ <&gcc GCC_Q6_TSCTR_1TO2_CLK>;
|
||||
+ clock-names = "prng",
|
||||
+ "gcc_sys_noc_wcss_ahb_clk",
|
||||
+ "gcc_q6ss_atbm_clk",
|
||||
+ "gcc_q6ss_pclkdbg_clk",
|
||||
+ "gcc_q6_tsctr_1to2_clk";
|
||||
+ assigned-clocks = <&gcc GCC_SYS_NOC_WCSS_AHB_CLK>,
|
||||
+ <&gcc GCC_Q6SS_PCLKDBG_CLK>,
|
||||
+ <&gcc GCC_Q6_TSCTR_1TO2_CLK>,
|
||||
+ <&gcc GCC_Q6SS_ATBM_CLK>;
|
||||
+ assigned-clock-rates = <133333333>,
|
||||
+ <600000000>,
|
||||
+ <600000000>,
|
||||
+ <240000000>;
|
||||
|
||||
qcom,halt-regs = <&tcsr 0x18000 0x1b000 0xe000>;
|
||||
|
||||
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
|
||||
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
|
||||
@@ -12,6 +12,7 @@
|
||||
|
@ -0,0 +1,122 @@
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -765,6 +765,119 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ wifi: wifi@c000000 {
|
||||
+ compatible = "qcom,ipq6018-wifi";
|
||||
+ reg = <0x0 0xc000000 0x0 0x1000000>;
|
||||
+
|
||||
+ interrupts = <0 320 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 319 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 318 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 316 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 315 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 314 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 311 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 310 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 411 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 410 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 40 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 39 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 302 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 301 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 37 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 36 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 296 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 295 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 294 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 293 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 292 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 291 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 290 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 289 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 288 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 239 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 236 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 235 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 234 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 233 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 232 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 231 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 230 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 229 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 228 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 224 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 223 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 203 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 183 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 180 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 179 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 178 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 177 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 176 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 163 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 162 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 160 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 414 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 159 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 158 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 157 IRQ_TYPE_EDGE_RISING>,
|
||||
+ <0 156 IRQ_TYPE_EDGE_RISING>;
|
||||
+
|
||||
+ interrupt-names = "misc-pulse1",
|
||||
+ "misc-latch",
|
||||
+ "sw-exception",
|
||||
+ "ce0",
|
||||
+ "ce1",
|
||||
+ "ce2",
|
||||
+ "ce3",
|
||||
+ "ce4",
|
||||
+ "ce5",
|
||||
+ "ce6",
|
||||
+ "ce7",
|
||||
+ "ce8",
|
||||
+ "ce9",
|
||||
+ "ce10",
|
||||
+ "ce11",
|
||||
+ "host2wbm-desc-feed",
|
||||
+ "host2reo-re-injection",
|
||||
+ "host2reo-command",
|
||||
+ "host2rxdma-monitor-ring3",
|
||||
+ "host2rxdma-monitor-ring2",
|
||||
+ "host2rxdma-monitor-ring1",
|
||||
+ "reo2ost-exception",
|
||||
+ "wbm2host-rx-release",
|
||||
+ "reo2host-status",
|
||||
+ "reo2host-destination-ring4",
|
||||
+ "reo2host-destination-ring3",
|
||||
+ "reo2host-destination-ring2",
|
||||
+ "reo2host-destination-ring1",
|
||||
+ "rxdma2host-monitor-destination-mac3",
|
||||
+ "rxdma2host-monitor-destination-mac2",
|
||||
+ "rxdma2host-monitor-destination-mac1",
|
||||
+ "ppdu-end-interrupts-mac3",
|
||||
+ "ppdu-end-interrupts-mac2",
|
||||
+ "ppdu-end-interrupts-mac1",
|
||||
+ "rxdma2host-monitor-status-ring-mac3",
|
||||
+ "rxdma2host-monitor-status-ring-mac2",
|
||||
+ "rxdma2host-monitor-status-ring-mac1",
|
||||
+ "host2rxdma-host-buf-ring-mac3",
|
||||
+ "host2rxdma-host-buf-ring-mac2",
|
||||
+ "host2rxdma-host-buf-ring-mac1",
|
||||
+ "rxdma2host-destination-ring-mac3",
|
||||
+ "rxdma2host-destination-ring-mac2",
|
||||
+ "rxdma2host-destination-ring-mac1",
|
||||
+ "host2tcl-input-ring4",
|
||||
+ "host2tcl-input-ring3",
|
||||
+ "host2tcl-input-ring2",
|
||||
+ "host2tcl-input-ring1",
|
||||
+ "wbm2host-tx-completions-ring4",
|
||||
+ "wbm2host-tx-completions-ring3",
|
||||
+ "wbm2host-tx-completions-ring2",
|
||||
+ "wbm2host-tx-completions-ring1",
|
||||
+ "tcl2host-status-ring";
|
||||
+ qcom,rproc = <&q6v5_wcss>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
q6v5_wcss: remoteproc@cd00000 {
|
||||
compatible = "qcom,ipq6018-wcss-pil";
|
||||
reg = <0x0 0x0cd00000 0x0 0x4040>,
|
@ -0,0 +1,24 @@
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -212,6 +212,21 @@
|
||||
reg = <0x0 0x4ab00000 0x0 0x5500000>;
|
||||
no-map;
|
||||
};
|
||||
+
|
||||
+ nss_region: nss@40000000 {
|
||||
+ no-map;
|
||||
+ reg = <0x0 0x40000000 0x0 0x01000000>;
|
||||
+ };
|
||||
+
|
||||
+ q6_etr_region: q6_etr_dump@50000000 {
|
||||
+ reg = <0x0 0x50000000 0x0 0x100000>;
|
||||
+ no-map;
|
||||
+ };
|
||||
+
|
||||
+ m3_dump_region: m3_dump@50100000 {
|
||||
+ reg = <0x0 0x50100000 0x0 0x100000>;
|
||||
+ no-map;
|
||||
+ };
|
||||
};
|
||||
|
||||
smem {
|
@ -0,0 +1,29 @@
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -476,6 +476,26 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ sdhc: mmc@7804000 {
|
||||
+ compatible = "qcom,ipq6018-sdhci", "qcom,sdhci-msm-v5";
|
||||
+ reg = <0x0 0x7804000 0x0 0x1000>,
|
||||
+ <0x0 0x7805000 0x0 0x1000>;
|
||||
+ reg-names = "hc", "cqhci";
|
||||
+
|
||||
+ interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "hc_irq", "pwr_irq";
|
||||
+
|
||||
+ clocks = <&gcc GCC_SDCC1_AHB_CLK>,
|
||||
+ <&gcc GCC_SDCC1_APPS_CLK>,
|
||||
+ <&xo>;
|
||||
+ clock-names = "iface", "core", "xo";
|
||||
+ resets = <&gcc GCC_SDCC1_BCR>;
|
||||
+ max-frequency = <192000000>;
|
||||
+
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
blsp_dma: dma-controller@7884000 {
|
||||
compatible = "qcom,bam-v1.7.0";
|
||||
reg = <0x0 0x07884000 0x0 0x2b000>;
|
@ -0,0 +1,146 @@
|
||||
From d2e727bd0a259de2d6d329e3c659b8a1b6fbbc8b Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robimarko@gmail.com>
|
||||
Date: Sun, 15 Oct 2023 22:55:43 +0200
|
||||
Subject: [PATCH] arm64: dts: qcom: ipq6018: add thermal nodes
|
||||
|
||||
IPQ6018 has a tsens v2.3.1 peripheral which monitors temperatures around
|
||||
the various subsystems on the die.
|
||||
|
||||
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 117 ++++++++++++++++++++++++++
|
||||
1 file changed, 117 insertions(+)
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -357,6 +357,16 @@
|
||||
clock-names = "core";
|
||||
};
|
||||
|
||||
+ tsens: thermal-sensor@4a9000 {
|
||||
+ compatible = "qcom,ipq6018-tsens", "qcom,ipq8074-tsens";
|
||||
+ reg = <0x0 0x4a9000 0x0 0x1000>, /* TM */
|
||||
+ <0x0 0x4a8000 0x0 0x1000>; /* SROT */
|
||||
+ interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "combined";
|
||||
+ #qcom,sensors = <16>;
|
||||
+ #thermal-sensor-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
cryptobam: dma-controller@704000 {
|
||||
compatible = "qcom,bam-v1.7.0";
|
||||
reg = <0x0 0x00704000 0x0 0x20000>;
|
||||
@@ -1043,6 +1053,113 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ thermal-zones {
|
||||
+ nss-top-thermal {
|
||||
+ polling-delay-passive = <250>;
|
||||
+ polling-delay = <1000>;
|
||||
+
|
||||
+ thermal-sensors = <&tsens 4>;
|
||||
+
|
||||
+ trips {
|
||||
+ nss-top-crit {
|
||||
+ temperature = <110000>;
|
||||
+ hysteresis = <1000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ nss0-thermal {
|
||||
+ polling-delay-passive = <250>;
|
||||
+ polling-delay = <1000>;
|
||||
+
|
||||
+ thermal-sensors = <&tsens 5>;
|
||||
+
|
||||
+ trips {
|
||||
+ nss-0-crit {
|
||||
+ temperature = <110000>;
|
||||
+ hysteresis = <1000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ wcss-phya0-thermal {
|
||||
+ polling-delay-passive = <250>;
|
||||
+ polling-delay = <1000>;
|
||||
+
|
||||
+ thermal-sensors = <&tsens 7>;
|
||||
+
|
||||
+ trips {
|
||||
+ wcss-phya0-crit {
|
||||
+ temperature = <110000>;
|
||||
+ hysteresis = <1000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ wcss-phya1-thermal {
|
||||
+ polling-delay-passive = <250>;
|
||||
+ polling-delay = <1000>;
|
||||
+
|
||||
+ thermal-sensors = <&tsens 8>;
|
||||
+
|
||||
+ trips {
|
||||
+ wcss-phya1-crit {
|
||||
+ temperature = <110000>;
|
||||
+ hysteresis = <1000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cluster_thermal: cluster-thermal {
|
||||
+ polling-delay-passive = <250>;
|
||||
+ polling-delay = <1000>;
|
||||
+
|
||||
+ thermal-sensors = <&tsens 13>;
|
||||
+
|
||||
+ trips {
|
||||
+ cluster-crit {
|
||||
+ temperature = <110000>;
|
||||
+ hysteresis = <1000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ lpass-qsdp6-thermal {
|
||||
+ polling-delay-passive = <250>;
|
||||
+ polling-delay = <1000>;
|
||||
+
|
||||
+ thermal-sensors = <&tsens 14>;
|
||||
+
|
||||
+ trips {
|
||||
+ lpass-qsdp6-crit {
|
||||
+ temperature = <110000>;
|
||||
+ hysteresis = <1000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ package-top-thermal {
|
||||
+ polling-delay-passive = <250>;
|
||||
+ polling-delay = <1000>;
|
||||
+
|
||||
+ thermal-sensors = <&tsens 15>;
|
||||
+
|
||||
+ trips {
|
||||
+ package-top-crit {
|
||||
+ temperature = <110000>;
|
||||
+ hysteresis = <1000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
@ -1,3 +1,82 @@
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -42,7 +42,6 @@
|
||||
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
|
||||
clock-names = "cpu";
|
||||
operating-points-v2 = <&cpu_opp_table>;
|
||||
- cpu-supply = <&ipq6018_s2>;
|
||||
};
|
||||
|
||||
CPU1: cpu@1 {
|
||||
@@ -54,7 +53,6 @@
|
||||
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
|
||||
clock-names = "cpu";
|
||||
operating-points-v2 = <&cpu_opp_table>;
|
||||
- cpu-supply = <&ipq6018_s2>;
|
||||
};
|
||||
|
||||
CPU2: cpu@2 {
|
||||
@@ -66,7 +64,6 @@
|
||||
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
|
||||
clock-names = "cpu";
|
||||
operating-points-v2 = <&cpu_opp_table>;
|
||||
- cpu-supply = <&ipq6018_s2>;
|
||||
};
|
||||
|
||||
CPU3: cpu@3 {
|
||||
@@ -78,7 +75,6 @@
|
||||
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
|
||||
clock-names = "cpu";
|
||||
operating-points-v2 = <&cpu_opp_table>;
|
||||
- cpu-supply = <&ipq6018_s2>;
|
||||
};
|
||||
|
||||
L2_0: l2-cache {
|
||||
@@ -113,6 +109,13 @@
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
|
||||
+ opp-1200000000 {
|
||||
+ opp-hz = /bits/ 64 <1200000000>;
|
||||
+ opp-microvolt = <850000>;
|
||||
+ opp-supported-hw = <0x4>;
|
||||
+ clock-latency-ns = <200000>;
|
||||
+ };
|
||||
+
|
||||
opp-1320000000 {
|
||||
opp-hz = /bits/ 64 <1320000000>;
|
||||
opp-microvolt = <862500>;
|
||||
@@ -127,6 +130,13 @@
|
||||
clock-latency-ns = <200000>;
|
||||
};
|
||||
|
||||
+ opp-1512000000 {
|
||||
+ opp-hz = /bits/ 64 <1512000000>;
|
||||
+ opp-microvolt = <937500>;
|
||||
+ opp-supported-hw = <0x2>;
|
||||
+ clock-latency-ns = <200000>;
|
||||
+ };
|
||||
+
|
||||
opp-1608000000 {
|
||||
opp-hz = /bits/ 64 <1608000000>;
|
||||
opp-microvolt = <987500>;
|
||||
@@ -164,16 +174,6 @@
|
||||
rpm_requests: rpm-requests {
|
||||
compatible = "qcom,rpm-ipq6018";
|
||||
qcom,glink-channels = "rpm_requests";
|
||||
-
|
||||
- regulators {
|
||||
- compatible = "qcom,rpm-mp5496-regulators";
|
||||
-
|
||||
- ipq6018_s2: s2 {
|
||||
- regulator-min-microvolt = <725000>;
|
||||
- regulator-max-microvolt = <1062500>;
|
||||
- regulator-always-on;
|
||||
- };
|
||||
- };
|
||||
};
|
||||
};
|
||||
};
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018-mp5496.dtsi
|
||||
@@ -0,0 +1,39 @@
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/include/linux/if_bridge.h
|
||||
+++ b/include/linux/if_bridge.h
|
||||
@@ -258,4 +258,17 @@ extern br_get_dst_hook_t __rcu *br_get_d
|
||||
@@ -260,4 +260,17 @@ extern br_get_dst_hook_t __rcu *br_get_d
|
||||
extern struct net_device *br_fdb_bridge_dev_get_and_hold(struct net_bridge *br);
|
||||
/* QCA NSS bridge-mgr support - End */
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
#endif
|
||||
--- a/net/bridge/br_fdb.c
|
||||
+++ b/net/bridge/br_fdb.c
|
||||
@@ -263,7 +263,8 @@ static void fdb_notify(struct net_bridge
|
||||
@@ -259,7 +259,8 @@ static void fdb_notify(struct net_bridge
|
||||
kfree_skb(skb);
|
||||
goto errout;
|
||||
}
|
||||
@ -30,7 +30,7 @@
|
||||
return;
|
||||
errout:
|
||||
rtnl_set_sk_err(net, RTNLGRP_NEIGH, err);
|
||||
@@ -329,6 +330,7 @@ struct net_bridge_fdb_entry *br_fdb_find
|
||||
@@ -325,6 +326,7 @@ struct net_bridge_fdb_entry *br_fdb_find
|
||||
{
|
||||
return fdb_find_rcu(&br->fdb_hash_tbl, addr, vid);
|
||||
}
|
||||
@ -40,7 +40,7 @@
|
||||
* added to the bridge private HW address list and all required ports
|
||||
--- a/net/bridge/br_private.h
|
||||
+++ b/net/bridge/br_private.h
|
||||
@@ -906,6 +906,7 @@ void br_manage_promisc(struct net_bridge
|
||||
@@ -874,6 +874,7 @@ void br_manage_promisc(struct net_bridge
|
||||
int nbp_backup_change(struct net_bridge_port *p, struct net_device *backup_dev);
|
||||
|
||||
/* br_input.c */
|
||||
@ -48,7 +48,7 @@
|
||||
int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb);
|
||||
rx_handler_func_t *br_get_rx_handler(const struct net_device *dev);
|
||||
|
||||
@@ -2271,4 +2272,14 @@ bool br_is_neigh_suppress_enabled(const
|
||||
@@ -2198,4 +2199,14 @@ struct nd_msg *br_is_nd_neigh_msg(struct
|
||||
#define __br_get(__hook, __default, __args ...) \
|
||||
(__hook ? (__hook(__args)) : (__default))
|
||||
/* QCA NSS ECM support - End */
|
||||
@ -65,7 +65,7 @@
|
||||
#endif
|
||||
--- a/net/bridge/br_netlink.c
|
||||
+++ b/net/bridge/br_netlink.c
|
||||
@@ -656,6 +656,7 @@ void br_info_notify(int event, const str
|
||||
@@ -641,6 +641,7 @@ void br_info_notify(int event, const str
|
||||
kfree_skb(skb);
|
||||
goto errout;
|
||||
}
|
||||
@ -75,7 +75,7 @@
|
||||
errout:
|
||||
--- a/net/bridge/br.c
|
||||
+++ b/net/bridge/br.c
|
||||
@@ -472,6 +472,12 @@ static void __exit br_deinit(void)
|
||||
@@ -471,6 +471,12 @@ static void __exit br_deinit(void)
|
||||
br_fdb_fini();
|
||||
}
|
||||
|
||||
@ -90,9 +90,9 @@
|
||||
MODULE_LICENSE("GPL");
|
||||
--- a/net/bridge/br_device.c
|
||||
+++ b/net/bridge/br_device.c
|
||||
@@ -83,6 +83,12 @@ netdev_tx_t br_dev_xmit(struct sk_buff *
|
||||
@@ -88,6 +88,12 @@ netdev_tx_t br_dev_xmit(struct sk_buff *
|
||||
if (is_broadcast_ether_addr(dest)) {
|
||||
br_flood(br, skb, BR_PKT_BROADCAST, false, true, vid);
|
||||
br_flood(br, skb, BR_PKT_BROADCAST, false, true);
|
||||
} else if (is_multicast_ether_addr(dest)) {
|
||||
+ /* QCA qca-mcs support - Start */
|
||||
+ br_multicast_handle_hook_t *multicast_handle_hook = rcu_dereference(br_multicast_handle_hook);
|
||||
@ -101,13 +101,13 @@
|
||||
+ /* QCA qca-mcs support - End */
|
||||
+
|
||||
if (unlikely(netpoll_tx_running(dev))) {
|
||||
br_flood(br, skb, BR_PKT_MULTICAST, false, true, vid);
|
||||
br_flood(br, skb, BR_PKT_MULTICAST, false, true);
|
||||
goto out;
|
||||
--- a/net/bridge/br_input.c
|
||||
+++ b/net/bridge/br_input.c
|
||||
@@ -23,6 +23,16 @@
|
||||
#include "br_private.h"
|
||||
@@ -24,6 +24,16 @@
|
||||
#include "br_private_tunnel.h"
|
||||
#include "br_private_offload.h"
|
||||
|
||||
+/* QCA qca-mcs support - Start */
|
||||
+/* Hook for external Multicast handler */
|
||||
@ -122,7 +122,7 @@
|
||||
static int
|
||||
br_netif_receive_skb(struct net *net, struct sock *sk, struct sk_buff *skb)
|
||||
{
|
||||
@@ -30,7 +40,7 @@ br_netif_receive_skb(struct net *net, st
|
||||
@@ -31,7 +41,7 @@ br_netif_receive_skb(struct net *net, st
|
||||
return netif_receive_skb(skb);
|
||||
}
|
||||
|
||||
@ -131,7 +131,7 @@
|
||||
{
|
||||
struct net_device *indev, *brdev = BR_INPUT_SKB_CB(skb)->brdev;
|
||||
struct net_bridge *br = netdev_priv(brdev);
|
||||
@@ -69,6 +79,7 @@ static int br_pass_frame_up(struct sk_bu
|
||||
@@ -72,6 +82,7 @@ static int br_pass_frame_up(struct sk_bu
|
||||
dev_net(indev), NULL, skb, indev, NULL,
|
||||
br_netif_receive_skb);
|
||||
}
|
||||
@ -139,7 +139,7 @@
|
||||
|
||||
/* note: already called with rcu_read_lock */
|
||||
int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb)
|
||||
@@ -84,6 +95,11 @@ int br_handle_frame_finish(struct net *n
|
||||
@@ -88,6 +99,11 @@ int br_handle_frame_finish(struct net *n
|
||||
bool promisc;
|
||||
u16 vid = 0;
|
||||
u8 state;
|
||||
@ -151,7 +151,7 @@
|
||||
|
||||
if (!p)
|
||||
goto drop;
|
||||
@@ -175,6 +191,11 @@ int br_handle_frame_finish(struct net *n
|
||||
@@ -164,6 +180,11 @@ int br_handle_frame_finish(struct net *n
|
||||
|
||||
switch (pkt_type) {
|
||||
case BR_PKT_MULTICAST:
|
||||
@ -163,7 +163,7 @@
|
||||
mdst = br_mdb_get(brmctx, skb, vid);
|
||||
if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) &&
|
||||
br_multicast_querier_exists(brmctx, eth_hdr(skb), mdst)) {
|
||||
@@ -190,8 +211,15 @@ int br_handle_frame_finish(struct net *n
|
||||
@@ -179,8 +200,15 @@ int br_handle_frame_finish(struct net *n
|
||||
}
|
||||
break;
|
||||
case BR_PKT_UNICAST:
|
||||
@ -181,7 +181,7 @@
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -206,6 +234,12 @@ int br_handle_frame_finish(struct net *n
|
||||
@@ -195,6 +223,12 @@ int br_handle_frame_finish(struct net *n
|
||||
dst->used = now;
|
||||
br_forward(dst->dst, skb, local_rcv, false);
|
||||
} else {
|
||||
@ -196,7 +196,7 @@
|
||||
br_flood(br, skb, pkt_type, local_rcv, false);
|
||||
--- a/include/linux/mroute.h
|
||||
+++ b/include/linux/mroute.h
|
||||
@@ -92,4 +92,44 @@ struct rtmsg;
|
||||
@@ -85,4 +85,44 @@ struct rtmsg;
|
||||
int ipmr_get_route(struct net *net, struct sk_buff *skb,
|
||||
__be32 saddr, __be32 daddr,
|
||||
struct rtmsg *rtm, u32 portid);
|
||||
@ -243,8 +243,8 @@
|
||||
#endif
|
||||
--- a/include/linux/mroute6.h
|
||||
+++ b/include/linux/mroute6.h
|
||||
@@ -137,4 +137,47 @@ static inline int ip6mr_sk_ioctl(struct
|
||||
return 1;
|
||||
@@ -110,4 +110,47 @@ static inline int ip6mr_sk_done(struct s
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
+
|
||||
|
@ -0,0 +1,11 @@
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||
@@ -15,7 +15,7 @@
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
- clocks {
|
||||
+ clocks: clocks {
|
||||
sleep_clk: sleep-clk {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32000>;
|
Loading…
Reference in New Issue
Block a user