| // SPDX-License-Identifier: GPL-2.0+ | 
 | /* | 
 |  * dts file for Xilinx ZynqMP zc1751-xm019-dc5 | 
 |  * | 
 |  * (C) Copyright 2015 - 2021, Xilinx, Inc. | 
 |  * | 
 |  * Siva Durga Prasad Paladugu <siva.durga.prasad.paladugu@amd.com> | 
 |  * Michal Simek <michal.simek@amd.com> | 
 |  */ | 
 |  | 
 | /dts-v1/; | 
 |  | 
 | #include "zynqmp.dtsi" | 
 | #include "zynqmp-clk-ccf.dtsi" | 
 | #include <dt-bindings/gpio/gpio.h> | 
 | #include <dt-bindings/pinctrl/pinctrl-zynqmp.h> | 
 |  | 
 | / { | 
 | 	model = "ZynqMP zc1751-xm019-dc5 RevA"; | 
 | 	compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp"; | 
 |  | 
 | 	aliases { | 
 | 		ethernet0 = &gem1; | 
 | 		i2c0 = &i2c0; | 
 | 		i2c1 = &i2c1; | 
 | 		mmc0 = &sdhci0; | 
 | 		serial0 = &uart0; | 
 | 		serial1 = &uart1; | 
 | 	}; | 
 |  | 
 | 	chosen { | 
 | 		bootargs = "earlycon"; | 
 | 		stdout-path = "serial0:115200n8"; | 
 | 	}; | 
 |  | 
 | 	memory@0 { | 
 | 		device_type = "memory"; | 
 | 		reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &fpd_dma_chan1 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &fpd_dma_chan2 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &fpd_dma_chan3 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &fpd_dma_chan4 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &fpd_dma_chan5 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &fpd_dma_chan6 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &fpd_dma_chan7 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &fpd_dma_chan8 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &gem1 { | 
 | 	status = "okay"; | 
 | 	phy-handle = <&phy0>; | 
 | 	phy-mode = "rgmii-id"; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_gem1_default>; | 
 | 	mdio: mdio { | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <0>; | 
 | 		phy0: ethernet-phy@0 { | 
 | 			reg = <0>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &gpio { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &i2c0 { | 
 | 	status = "okay"; | 
 | 	pinctrl-names = "default", "gpio"; | 
 | 	pinctrl-0 = <&pinctrl_i2c0_default>; | 
 | 	pinctrl-1 = <&pinctrl_i2c0_gpio>; | 
 | 	scl-gpios = <&gpio 74 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | 
 | 	sda-gpios = <&gpio 75 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | 
 | }; | 
 |  | 
 | &i2c1 { | 
 | 	status = "okay"; | 
 | 	pinctrl-names = "default", "gpio"; | 
 | 	pinctrl-0 = <&pinctrl_i2c1_default>; | 
 | 	pinctrl-1 = <&pinctrl_i2c1_gpio>; | 
 | 	scl-gpios = <&gpio 76 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | 
 | 	sda-gpios = <&gpio 77 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | 
 |  | 
 | }; | 
 |  | 
 | &pinctrl0 { | 
 | 	status = "okay"; | 
 | 	pinctrl_i2c0_default: i2c0-default { | 
 | 		mux { | 
 | 			groups = "i2c0_18_grp"; | 
 | 			function = "i2c0"; | 
 | 		}; | 
 |  | 
 | 		conf { | 
 | 			groups = "i2c0_18_grp"; | 
 | 			bias-pull-up; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_i2c0_gpio: i2c0-gpio-grp { | 
 | 		mux { | 
 | 			groups = "gpio0_74_grp", "gpio0_75_grp"; | 
 | 			function = "gpio0"; | 
 | 		}; | 
 |  | 
 | 		conf { | 
 | 			groups = "gpio0_74_grp", "gpio0_75_grp"; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_i2c1_default: i2c1-default { | 
 | 		mux { | 
 | 			groups = "i2c1_19_grp"; | 
 | 			function = "i2c1"; | 
 | 		}; | 
 |  | 
 | 		conf { | 
 | 			groups = "i2c1_19_grp"; | 
 | 			bias-pull-up; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_i2c1_gpio: i2c1-gpio-grp { | 
 | 		mux { | 
 | 			groups = "gpio0_76_grp", "gpio0_77_grp"; | 
 | 			function = "gpio0"; | 
 | 		}; | 
 |  | 
 | 		conf { | 
 | 			groups = "gpio0_76_grp", "gpio0_77_grp"; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_uart0_default: uart0-default { | 
 | 		mux { | 
 | 			groups = "uart0_17_grp"; | 
 | 			function = "uart0"; | 
 | 		}; | 
 |  | 
 | 		conf { | 
 | 			groups = "uart0_17_grp"; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 		}; | 
 |  | 
 | 		conf-rx { | 
 | 			pins = "MIO70"; | 
 | 			bias-high-impedance; | 
 | 		}; | 
 |  | 
 | 		conf-tx { | 
 | 			pins = "MIO71"; | 
 | 			bias-disable; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_uart1_default: uart1-default { | 
 | 		mux { | 
 | 			groups = "uart1_18_grp"; | 
 | 			function = "uart1"; | 
 | 		}; | 
 |  | 
 | 		conf { | 
 | 			groups = "uart1_18_grp"; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 		}; | 
 |  | 
 | 		conf-rx { | 
 | 			pins = "MIO73"; | 
 | 			bias-high-impedance; | 
 | 		}; | 
 |  | 
 | 		conf-tx { | 
 | 			pins = "MIO72"; | 
 | 			bias-disable; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_gem1_default: gem1-default { | 
 | 		mux { | 
 | 			function = "ethernet1"; | 
 | 			groups = "ethernet1_0_grp"; | 
 | 		}; | 
 |  | 
 | 		conf { | 
 | 			groups = "ethernet1_0_grp"; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 		}; | 
 |  | 
 | 		conf-rx { | 
 | 			pins = "MIO44", "MIO45", "MIO46", "MIO47", "MIO48", | 
 | 									"MIO49"; | 
 | 			bias-high-impedance; | 
 | 			low-power-disable; | 
 | 		}; | 
 |  | 
 | 		conf-tx { | 
 | 			pins = "MIO38", "MIO39", "MIO40", "MIO41", "MIO42", | 
 | 									"MIO43"; | 
 | 			bias-disable; | 
 | 			low-power-enable; | 
 | 		}; | 
 |  | 
 | 		mux-mdio { | 
 | 			function = "mdio1"; | 
 | 			groups = "mdio1_0_grp"; | 
 | 		}; | 
 |  | 
 | 		conf-mdio { | 
 | 			groups = "mdio1_0_grp"; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 			bias-disable; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_sdhci0_default: sdhci0-default { | 
 | 		mux { | 
 | 			groups = "sdio0_0_grp"; | 
 | 			function = "sdio0"; | 
 | 		}; | 
 |  | 
 | 		conf { | 
 | 			groups = "sdio0_0_grp"; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 			bias-disable; | 
 | 		}; | 
 |  | 
 | 		mux-cd { | 
 | 			groups = "sdio0_cd_0_grp"; | 
 | 			function = "sdio0_cd"; | 
 | 		}; | 
 |  | 
 | 		conf-cd { | 
 | 			groups = "sdio0_cd_0_grp"; | 
 | 			bias-high-impedance; | 
 | 			bias-pull-up; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 		}; | 
 |  | 
 | 		mux-wp { | 
 | 			groups = "sdio0_wp_0_grp"; | 
 | 			function = "sdio0_wp"; | 
 | 		}; | 
 |  | 
 | 		conf-wp { | 
 | 			groups = "sdio0_wp_0_grp"; | 
 | 			bias-high-impedance; | 
 | 			bias-pull-up; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 			power-source = <IO_STANDARD_LVCMOS18>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_watchdog0_default: watchdog0-default { | 
 | 		mux-clk { | 
 | 			groups = "swdt0_clk_1_grp"; | 
 | 			function = "swdt0_clk"; | 
 | 		}; | 
 |  | 
 | 		conf-clk { | 
 | 			groups = "swdt0_clk_1_grp"; | 
 | 			bias-pull-up; | 
 | 		}; | 
 |  | 
 | 		mux-rst { | 
 | 			groups = "swdt0_rst_1_grp"; | 
 | 			function = "swdt0_rst"; | 
 | 		}; | 
 |  | 
 | 		conf-rst { | 
 | 			groups = "swdt0_rst_1_grp"; | 
 | 			bias-disable; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_ttc0_default: ttc0-default { | 
 | 		mux-clk { | 
 | 			groups = "ttc0_clk_0_grp"; | 
 | 			function = "ttc0_clk"; | 
 | 		}; | 
 |  | 
 | 		conf-clk { | 
 | 			groups = "ttc0_clk_0_grp"; | 
 | 			bias-pull-up; | 
 | 		}; | 
 |  | 
 | 		mux-wav { | 
 | 			groups = "ttc0_wav_0_grp"; | 
 | 			function = "ttc0_wav"; | 
 | 		}; | 
 |  | 
 | 		conf-wav { | 
 | 			groups = "ttc0_wav_0_grp"; | 
 | 			bias-disable; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_ttc1_default: ttc1-default { | 
 | 		mux-clk { | 
 | 			groups = "ttc1_clk_0_grp"; | 
 | 			function = "ttc1_clk"; | 
 | 		}; | 
 |  | 
 | 		conf-clk { | 
 | 			groups = "ttc1_clk_0_grp"; | 
 | 			bias-pull-up; | 
 | 		}; | 
 |  | 
 | 		mux-wav { | 
 | 			groups = "ttc1_wav_0_grp"; | 
 | 			function = "ttc1_wav"; | 
 | 		}; | 
 |  | 
 | 		conf-wav { | 
 | 			groups = "ttc1_wav_0_grp"; | 
 | 			bias-disable; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_ttc2_default: ttc2-default { | 
 | 		mux-clk { | 
 | 			groups = "ttc2_clk_0_grp"; | 
 | 			function = "ttc2_clk"; | 
 | 		}; | 
 |  | 
 | 		conf-clk { | 
 | 			groups = "ttc2_clk_0_grp"; | 
 | 			bias-pull-up; | 
 | 		}; | 
 |  | 
 | 		mux-wav { | 
 | 			groups = "ttc2_wav_0_grp"; | 
 | 			function = "ttc2_wav"; | 
 | 		}; | 
 |  | 
 | 		conf-wav { | 
 | 			groups = "ttc2_wav_0_grp"; | 
 | 			bias-disable; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	pinctrl_ttc3_default: ttc3-default { | 
 | 		mux-clk { | 
 | 			groups = "ttc3_clk_0_grp"; | 
 | 			function = "ttc3_clk"; | 
 | 		}; | 
 |  | 
 | 		conf-clk { | 
 | 			groups = "ttc3_clk_0_grp"; | 
 | 			bias-pull-up; | 
 | 		}; | 
 |  | 
 | 		mux-wav { | 
 | 			groups = "ttc3_wav_0_grp"; | 
 | 			function = "ttc3_wav"; | 
 | 		}; | 
 |  | 
 | 		conf-wav { | 
 | 			groups = "ttc3_wav_0_grp"; | 
 | 			bias-disable; | 
 | 			slew-rate = <SLEW_RATE_SLOW>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &sdhci0 { | 
 | 	status = "okay"; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_sdhci0_default>; | 
 | 	no-1-8-v; | 
 | 	xlnx,mio-bank = <0>; | 
 | }; | 
 |  | 
 | &ttc0 { | 
 | 	status = "okay"; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_ttc0_default>; | 
 | }; | 
 |  | 
 | &ttc1 { | 
 | 	status = "okay"; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_ttc1_default>; | 
 | }; | 
 |  | 
 | &ttc2 { | 
 | 	status = "okay"; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_ttc2_default>; | 
 | }; | 
 |  | 
 | &ttc3 { | 
 | 	status = "okay"; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_ttc3_default>; | 
 | }; | 
 |  | 
 | &uart0 { | 
 | 	status = "okay"; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_uart0_default>; | 
 | }; | 
 |  | 
 | &uart1 { | 
 | 	status = "okay"; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_uart1_default>; | 
 | }; | 
 |  | 
 | &watchdog0 { | 
 | 	status = "okay"; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_watchdog0_default>; | 
 | }; |