2020-10-07 10:08:05

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 0/2] arm64: dts: meson-axg-s400: enable PCIe

This adds the nodes for the :
- AXG PCIe PHY, using the shared analog PCIe/MIPI DSI PHY
- 2x AXG PCIe controllers

And enables the PCIe M.2 Key E slots on the S400 board.

Dependencies:
- Patch 1: Analog PCIe/MIPI DSI PHY update [1] MIPI-DSI nodes [2]
- Patch 2: None

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

Neil Armstrong (2):
arm64: dts: meson-axg: add PCIe nodes
arm64: dts: meson-axg-s400: enable PCIe M.2 Key E slots

.../arm64/boot/dts/amlogic/meson-axg-s400.dts | 10 +++
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 61 +++++++++++++++++++
2 files changed, 71 insertions(+)

--
2.25.1


2020-10-07 10:08:40

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 1/2] arm64: dts: meson-axg: add PCIe nodes

This adds the nodes for the :
- AXG PCIe PHY, using the shared analog PCIe/MIPI DSI PHY
- 2x AXG PCIe controllers

Signed-off-by: Neil Armstrong <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 61 ++++++++++++++++++++++
1 file changed, 61 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
index b27f6f4696da..44393d9c3981 100644
--- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
@@ -172,6 +172,58 @@
#size-cells = <2>;
ranges;

+ pcieA: pcie@f9800000 {
+ compatible = "amlogic,axg-pcie", "snps,dw-pcie";
+ reg = <0x0 0xf9800000 0x0 0x400000>,
+ <0x0 0xff646000 0x0 0x2000>,
+ <0x0 0xf9f00000 0x0 0x100000>;
+ reg-names = "elbi", "cfg", "config";
+ interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>;
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0>;
+ interrupt-map = <0 0 0 0 &gic GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
+ bus-range = <0x0 0xff>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ device_type = "pci";
+ ranges = <0x82000000 0 0xf9c00000 0x0 0xf9c00000 0 0x00300000>;
+
+ clocks = <&clkc CLKID_USB>, <&clkc CLKID_PCIE_A>, <&clkc CLKID_PCIE_CML_EN0>;
+ clock-names = "general", "pclk", "port";
+ resets = <&reset RESET_PCIE_A>, <&reset RESET_PCIE_APB>;
+ reset-names = "port", "apb";
+ num-lanes = <1>;
+ phys = <&pcie_phy>;
+ phy-names = "pcie";
+ status = "disabled";
+ };
+
+ pcieB: pcie@fa000000 {
+ compatible = "amlogic,axg-pcie", "snps,dw-pcie";
+ reg = <0x0 0xfa000000 0x0 0x400000>,
+ <0x0 0xff648000 0x0 0x2000>,
+ <0x0 0xfa400000 0x0 0x100000>;
+ reg-names = "elbi", "cfg", "config";
+ interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0>;
+ interrupt-map = <0 0 0 0 &gic GIC_SPI 169 IRQ_TYPE_EDGE_RISING>;
+ bus-range = <0x0 0xff>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ device_type = "pci";
+ ranges = <0x82000000 0 0xfa500000 0x0 0xfa500000 0 0x00300000>;
+
+ clocks = <&clkc CLKID_USB>, <&clkc CLKID_PCIE_B>, <&clkc CLKID_PCIE_CML_EN1>;
+ clock-names = "general", "pclk", "port";
+ resets = <&reset RESET_PCIE_B>, <&reset RESET_PCIE_APB>;
+ reset-names = "port", "apb";
+ num-lanes = <1>;
+ phys = <&pcie_phy>;
+ phy-names = "pcie";
+ status = "disabled";
+ };
+
usb: usb@ffe09080 {
compatible = "amlogic,meson-axg-usb-ctrl";
reg = <0x0 0xffe09080 0x0 0x20>;
@@ -230,6 +282,15 @@
status = "disabled";
};

+ pcie_phy: phy@ff644000 {
+ compatible = "amlogic,axg-pcie-phy";
+ reg = <0x0 0xff644000 0x0 0x1c>;
+ resets = <&reset RESET_PCIE_PHY>;
+ phys = <&mipi_pcie_analog_dphy>;
+ phy-names = "analog";
+ #phy-cells = <0>;
+ };
+
pdm: audio-controller@ff632000 {
compatible = "amlogic,axg-pdm";
reg = <0x0 0xff632000 0x0 0x34>;
--
2.25.1

2020-10-07 10:10:27

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 2/2] arm64: dts: meson-axg-s400: enable PCIe M.2 Key E slots

Signed-off-by: Neil Armstrong <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-axg-s400.dts | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts b/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
index 84129abb2399..96c384a7f49f 100644
--- a/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
@@ -395,6 +395,16 @@
};
};

+&pcieA {
+ reset-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>;
+ status = "okay";
+};
+
+&pcieB {
+ reset-gpios = <&gpio GPIOZ_10 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
+ status = "okay";
+};
+
&pwm_ab {
status = "okay";
pinctrl-0 = <&pwm_a_x20_pins>, <&pwm_b_z_pins>;
--
2.25.1

2020-11-20 15:35:47

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 0/2] arm64: dts: meson-axg-s400: enable PCIe

On 07/10/2020 12:06, Neil Armstrong wrote:
> This adds the nodes for the :
> - AXG PCIe PHY, using the shared analog PCIe/MIPI DSI PHY
> - 2x AXG PCIe controllers
>
> And enables the PCIe M.2 Key E slots on the S400 board.
>
> Dependencies:
> - Patch 1: Analog PCIe/MIPI DSI PHY update [1] MIPI-DSI nodes [2]
> - Patch 2: None
>
> [1] https://lkml.kernel.org/r/[email protected]
> [2] https://lkml.kernel.org/r/[email protected]
>
> Neil Armstrong (2):
> arm64: dts: meson-axg: add PCIe nodes
> arm64: dts: meson-axg-s400: enable PCIe M.2 Key E slots
>
> .../arm64/boot/dts/amlogic/meson-axg-s400.dts | 10 +++
> arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 61 +++++++++++++++++++
> 2 files changed, 71 insertions(+)
>

Was depending on USB DT patches, resent with USb DT patches in [email protected]


Neil