2020-09-07 10:42:44

by Roger Quadros

[permalink] [raw]
Subject: [PATCH 0/6] arm64: dts: ti: Add USB support for J7200 EVM

Hi Tero/Nishanth,

This series adds USB2.0 support for the J7200 EVM.

Series is based on top of:

Faiz's MMC/SD support series
https://lore.kernel.org/lkml/[email protected]/
Lokesh's initial support series
https://patchwork.kernel.org/cover/11740039/
Vignesh's I2C support series
https://lore.kernel.org/patchwork/cover/1282152/
Vignesh's Hyperflash series
https://lore.kernel.org/patchwork/cover/1285326/

cheers,
-roger

Kishon Vijay Abraham I (1):
arm64: dts: ti: k3-j7200-common-proc-board: Configure the SERDES lane
function

Roger Quadros (5):
dt-bindings: mux-j7200-wiz: Add lane function defines
arm64: dts: ti: k3-j7200-main: Add SERDES lane control mux
arm64: dts: ti: k3-j7200-main.dtsi: Add USB to SERDES lane MUX
arm64: dts: ti: k3-j7200-main: Add USB controller
arm64: dts: ti: k3-j7200-common-proc-board: Add USB support

.../dts/ti/k3-j7200-common-proc-board.dts | 28 ++++++++++
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 51 +++++++++++++++++++
include/dt-bindings/mux/mux-j7200-wiz.h | 29 +++++++++++
3 files changed, 108 insertions(+)
create mode 100644 include/dt-bindings/mux/mux-j7200-wiz.h

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


2020-09-07 10:42:44

by Roger Quadros

[permalink] [raw]
Subject: [PATCH 2/6] arm64: dts: ti: k3-j7200-main: Add SERDES lane control mux

The SERDES lane control mux registers are present in the
CTRLMMR space.

Signed-off-by: Roger Quadros <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 15 +++++++++++++++
1 file changed, 15 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
index 1702ac0bbf40..9ae2c5515852 100644
--- a/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
@@ -18,6 +18,21 @@
};
};

+ scm_conf: scm_conf@100000 {
+ compatible = "ti,j721e-system-controller", "syscon", "simple-mfd";
+ reg = <0 0x00100000 0 0x1c000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x0 0x00100000 0x1c000>;
+
+ serdes_ln_ctrl: serdes_ln_ctrl@4080 {
+ compatible = "mmio-mux";
+ #mux-control-cells = <1>;
+ mux-reg-masks = <0x4080 0x3>, <0x4084 0x3>, /* SERDES0 lane0/1 select */
+ <0x4088 0x3>, <0x408c 0x3>; /* SERDES0 lane2/3 select */
+ };
+ };
+
gic500: interrupt-controller@1800000 {
compatible = "arm,gic-v3";
#address-cells = <2>;
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

2020-09-07 10:43:05

by Roger Quadros

[permalink] [raw]
Subject: [PATCH 4/6] arm64: dts: ti: k3-j7200-main: Add USB controller

j7200 has on USB controller instance. Add that.

Signed-off-by: Roger Quadros <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 30 +++++++++++++++++++++++
1 file changed, 30 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
index e08839306ec9..f1dd309e6b06 100644
--- a/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
@@ -331,4 +331,34 @@
no-1-8-v;
dma-coherent;
};
+
+ usbss0: cdns_usb@4104000 {
+ compatible = "ti,j721e-usb";
+ reg = <0x00 0x4104000 0x00 0x100>;
+ dma-coherent;
+ power-domains = <&k3_pds 288 TI_SCI_PD_EXCLUSIVE>;
+ clocks = <&k3_clks 288 12>, <&k3_clks 288 3>;
+ clock-names = "ref", "lpm";
+ assigned-clocks = <&k3_clks 288 12>; /* USB2_REFCLK */
+ assigned-clock-parents = <&k3_clks 288 13>; /* HFOSC0 */
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ usb0: usb@6000000 {
+ compatible = "cdns,usb3";
+ reg = <0x00 0x6000000 0x00 0x10000>,
+ <0x00 0x6010000 0x00 0x10000>,
+ <0x00 0x6020000 0x00 0x10000>;
+ reg-names = "otg", "xhci", "dev";
+ interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, /* irq.6 */
+ <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; /* otgirq.0 */
+ interrupt-names = "host",
+ "peripheral",
+ "otg";
+ maximum-speed = "super-speed";
+ dr_mode = "otg";
+ };
+ };
};
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

2020-09-07 10:43:48

by Roger Quadros

[permalink] [raw]
Subject: [PATCH 1/6] dt-bindings: mux-j7200-wiz: Add lane function defines

Each SERDES lane mux can select upto 4 different IPs.
There are 4 lanes in each J7200 SERDES. Define all
the possible functions in this file.

Signed-off-by: Roger Quadros <[email protected]>
---
include/dt-bindings/mux/mux-j7200-wiz.h | 29 +++++++++++++++++++++++++
1 file changed, 29 insertions(+)
create mode 100644 include/dt-bindings/mux/mux-j7200-wiz.h

diff --git a/include/dt-bindings/mux/mux-j7200-wiz.h b/include/dt-bindings/mux/mux-j7200-wiz.h
new file mode 100644
index 000000000000..b091b1185a36
--- /dev/null
+++ b/include/dt-bindings/mux/mux-j7200-wiz.h
@@ -0,0 +1,29 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * This header provides constants for J7200 WIZ.
+ */
+
+#ifndef _DT_BINDINGS_J7200_WIZ
+#define _DT_BINDINGS_J7200_WIZ
+
+#define SERDES0_LANE0_QSGMII_LANE3 0x0
+#define SERDES0_LANE0_PCIE1_LANE0 0x1
+#define SERDES0_LANE0_IP3_UNUSED 0x2
+#define SERDES0_LANE0_IP4_UNUSED 0x3
+
+#define SERDES0_LANE1_QSGMII_LANE4 0x0
+#define SERDES0_LANE1_PCIE1_LANE1 0x1
+#define SERDES0_LANE1_IP3_UNUSED 0x2
+#define SERDES0_LANE1_IP4_UNUSED 0x3
+
+#define SERDES0_LANE2_QSGMII_LANE1 0x0
+#define SERDES0_LANE2_PCIE1_LANE2 0x1
+#define SERDES0_LANE2_IP3_UNUSED 0x2
+#define SERDES0_LANE2_IP4_UNUSED 0x3
+
+#define SERDES0_LANE3_QSGMII_LANE2 0x0
+#define SERDES0_LANE3_PCIE1_LANE3 0x1
+#define SERDES0_LANE3_USB 0x2
+#define SERDES0_LANE3_IP4_UNUSED 0x3
+
+#endif /* _DT_BINDINGS_J7200_WIZ */
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

2020-09-07 14:26:46

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH 0/6] arm64: dts: ti: Add USB support for J7200 EVM

On 13:38-20200907, Roger Quadros wrote:
> Hi Tero/Nishanth,
>
> This series adds USB2.0 support for the J7200 EVM.
>
> Series is based on top of:
>
> Faiz's MMC/SD support series
> https://lore.kernel.org/lkml/[email protected]/
> Lokesh's initial support series
> https://patchwork.kernel.org/cover/11740039/
> Vignesh's I2C support series
> https://lore.kernel.org/patchwork/cover/1282152/
> Vignesh's Hyperflash series
> https://lore.kernel.org/patchwork/cover/1285326/
>
> cheers,
> -roger
>
> Kishon Vijay Abraham I (1):
> arm64: dts: ti: k3-j7200-common-proc-board: Configure the SERDES lane
> function
>
> Roger Quadros (5):
> dt-bindings: mux-j7200-wiz: Add lane function defines
> arm64: dts: ti: k3-j7200-main: Add SERDES lane control mux
> arm64: dts: ti: k3-j7200-main.dtsi: Add USB to SERDES lane MUX
> arm64: dts: ti: k3-j7200-main: Add USB controller
> arm64: dts: ti: k3-j7200-common-proc-board: Add USB support
>
> .../dts/ti/k3-j7200-common-proc-board.dts | 28 ++++++++++
> arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 51 +++++++++++++++++++
> include/dt-bindings/mux/mux-j7200-wiz.h | 29 +++++++++++
> 3 files changed, 108 insertions(+)
> create mode 100644 include/dt-bindings/mux/mux-j7200-wiz.h
>

Too many warnings(W=2 and others) for me to look at this series
closer.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D