[PATCH 1/2] arm64: dts: ti: k3-am65-main: Add ICSSG MDIO nodes
Jan Kiszka
jan.kiszka at siemens.com
Thu May 27 22:09:42 PDT 2021
On 15.05.21 00:47, Suman Anna wrote:
> From: Roger Quadros <rogerq at ti.com>
>
> The ICSSGs on K3 AM65x SoCs contain an MDIO controller that can
> be used to control external PHYs associated with the Industrial
> Ethernet peripherals within each ICSSG instance. The MDIO module
> used within the ICSSG is similar to the MDIO Controller used
> in TI Davinci SoCs. A bus frequency of 1 MHz is chosen for the
> MDIO operations.
>
> The nodes are added and enabled in the common k3-am65-main.dtsi
> file by default, and disabled in the existing AM65 board dts
> files. These nodes need pinctrl lines, and so should be enabled
> only on boards where they are actually wired and pinned out for
> ICSSG Ethernet. Any new board dts file should disable these if
> they are not sure.
>
> Signed-off-by: Roger Quadros <rogerq at ti.com>
> [s-anna at ti.com: move the disabled status to board dts files]
> Signed-off-by: Suman Anna <s-anna at ti.com>
> ---
> .../boot/dts/ti/k3-am65-iot2050-common.dtsi | 12 ++++++++
> arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 30 +++++++++++++++++++
> .../arm64/boot/dts/ti/k3-am654-base-board.dts | 12 ++++++++
> 3 files changed, 54 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> index de763ca9251c..63140eaba524 100644
> --- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> @@ -653,3 +653,15 @@ &pcie1_rc {
> &pcie1_ep {
> status = "disabled";
> };
> +
> +&icssg0_mdio {
> + status = "disabled";
> +};
> +
> +&icssg1_mdio {
> + status = "disabled";
> +};
> +
> +&icssg2_mdio {
> + status = "disabled";
> +};
We will need this here for PRU networking. What would be the impact of
leaving it enabled already at this stage?
Jan
> diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> index cb340d1b401f..25ec7aba841a 100644
> --- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> @@ -1051,6 +1051,16 @@ tx_pru0_1: txpru at c000 {
> reg-names = "iram", "control", "debug";
> firmware-name = "am65x-txpru0_1-fw";
> };
> +
> + icssg0_mdio: mdio at 32400 {
> + compatible = "ti,davinci_mdio";
> + reg = <0x32400 0x100>;
> + clocks = <&k3_clks 62 3>;
> + clock-names = "fck";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + bus_freq = <1000000>;
> + };
> };
>
> icssg1: icssg at b100000 {
> @@ -1182,6 +1192,16 @@ tx_pru1_1: txpru at c000 {
> reg-names = "iram", "control", "debug";
> firmware-name = "am65x-txpru1_1-fw";
> };
> +
> + icssg1_mdio: mdio at 32400 {
> + compatible = "ti,davinci_mdio";
> + reg = <0x32400 0x100>;
> + clocks = <&k3_clks 63 3>;
> + clock-names = "fck";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + bus_freq = <1000000>;
> + };
> };
>
> icssg2: icssg at b200000 {
> @@ -1313,5 +1333,15 @@ tx_pru2_1: txpru at c000 {
> reg-names = "iram", "control", "debug";
> firmware-name = "am65x-txpru2_1-fw";
> };
> +
> + icssg2_mdio: mdio at 32400 {
> + compatible = "ti,davinci_mdio";
> + reg = <0x32400 0x100>;
> + clocks = <&k3_clks 64 3>;
> + clock-names = "fck";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + bus_freq = <1000000>;
> + };
> };
> };
> diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
> index 9e87fb313a54..be905a006a97 100644
> --- a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
> @@ -537,3 +537,15 @@ &mcasp2 {
> &dss {
> status = "disabled";
> };
> +
> +&icssg0_mdio {
> + status = "disabled";
> +};
> +
> +&icssg1_mdio {
> + status = "disabled";
> +};
> +
> +&icssg2_mdio {
> + status = "disabled";
> +};
>
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
More information about the linux-arm-kernel
mailing list