1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * dts file for Xilinx ZynqMP ZCU106 4c66ec88fSEmmanuel Vadot * 5*8cc087a1SEmmanuel Vadot * (C) Copyright 2016 - 2021, Xilinx, Inc. 6c66ec88fSEmmanuel Vadot * 7c66ec88fSEmmanuel Vadot * Michal Simek <michal.simek@xilinx.com> 8c66ec88fSEmmanuel Vadot */ 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadot/dts-v1/; 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadot#include "zynqmp.dtsi" 13c66ec88fSEmmanuel Vadot#include "zynqmp-clk-ccf.dtsi" 14c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h> 15c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 16*8cc087a1SEmmanuel Vadot#include <dt-bindings/pinctrl/pinctrl-zynqmp.h> 175def4c47SEmmanuel Vadot#include <dt-bindings/phy/phy.h> 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot/ { 20c66ec88fSEmmanuel Vadot model = "ZynqMP ZCU106 RevA"; 21c66ec88fSEmmanuel Vadot compatible = "xlnx,zynqmp-zcu106-revA", "xlnx,zynqmp-zcu106", "xlnx,zynqmp"; 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot aliases { 24c66ec88fSEmmanuel Vadot ethernet0 = &gem3; 25c66ec88fSEmmanuel Vadot i2c0 = &i2c0; 26c66ec88fSEmmanuel Vadot i2c1 = &i2c1; 27c66ec88fSEmmanuel Vadot mmc0 = &sdhci1; 28*8cc087a1SEmmanuel Vadot nvmem0 = &eeprom; 29c66ec88fSEmmanuel Vadot rtc0 = &rtc; 30c66ec88fSEmmanuel Vadot serial0 = &uart0; 31c66ec88fSEmmanuel Vadot serial1 = &uart1; 32c66ec88fSEmmanuel Vadot serial2 = &dcc; 33*8cc087a1SEmmanuel Vadot spi0 = &qspi; 34*8cc087a1SEmmanuel Vadot usb0 = &usb0; 35c66ec88fSEmmanuel Vadot }; 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel Vadot chosen { 38c66ec88fSEmmanuel Vadot bootargs = "earlycon"; 39c66ec88fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 40c66ec88fSEmmanuel Vadot }; 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot memory@0 { 43c66ec88fSEmmanuel Vadot device_type = "memory"; 44c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>; 45c66ec88fSEmmanuel Vadot }; 46c66ec88fSEmmanuel Vadot 47c66ec88fSEmmanuel Vadot gpio-keys { 48c66ec88fSEmmanuel Vadot compatible = "gpio-keys"; 49c66ec88fSEmmanuel Vadot autorepeat; 50c66ec88fSEmmanuel Vadot sw19 { 51c66ec88fSEmmanuel Vadot label = "sw19"; 52c66ec88fSEmmanuel Vadot gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; 53c66ec88fSEmmanuel Vadot linux,code = <KEY_DOWN>; 54c66ec88fSEmmanuel Vadot wakeup-source; 55c66ec88fSEmmanuel Vadot autorepeat; 56c66ec88fSEmmanuel Vadot }; 57c66ec88fSEmmanuel Vadot }; 58c66ec88fSEmmanuel Vadot 59c66ec88fSEmmanuel Vadot leds { 60c66ec88fSEmmanuel Vadot compatible = "gpio-leds"; 61c66ec88fSEmmanuel Vadot heartbeat-led { 62c66ec88fSEmmanuel Vadot label = "heartbeat"; 63c66ec88fSEmmanuel Vadot gpios = <&gpio 23 GPIO_ACTIVE_HIGH>; 64c66ec88fSEmmanuel Vadot linux,default-trigger = "heartbeat"; 65c66ec88fSEmmanuel Vadot }; 66c66ec88fSEmmanuel Vadot }; 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot ina226-u76 { 69c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 70c66ec88fSEmmanuel Vadot io-channels = <&u76 0>, <&u76 1>, <&u76 2>, <&u76 3>; 71c66ec88fSEmmanuel Vadot }; 72c66ec88fSEmmanuel Vadot ina226-u77 { 73c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 74c66ec88fSEmmanuel Vadot io-channels = <&u77 0>, <&u77 1>, <&u77 2>, <&u77 3>; 75c66ec88fSEmmanuel Vadot }; 76c66ec88fSEmmanuel Vadot ina226-u78 { 77c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 78c66ec88fSEmmanuel Vadot io-channels = <&u78 0>, <&u78 1>, <&u78 2>, <&u78 3>; 79c66ec88fSEmmanuel Vadot }; 80c66ec88fSEmmanuel Vadot ina226-u87 { 81c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 82c66ec88fSEmmanuel Vadot io-channels = <&u87 0>, <&u87 1>, <&u87 2>, <&u87 3>; 83c66ec88fSEmmanuel Vadot }; 84c66ec88fSEmmanuel Vadot ina226-u85 { 85c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 86c66ec88fSEmmanuel Vadot io-channels = <&u85 0>, <&u85 1>, <&u85 2>, <&u85 3>; 87c66ec88fSEmmanuel Vadot }; 88c66ec88fSEmmanuel Vadot ina226-u86 { 89c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 90c66ec88fSEmmanuel Vadot io-channels = <&u86 0>, <&u86 1>, <&u86 2>, <&u86 3>; 91c66ec88fSEmmanuel Vadot }; 92c66ec88fSEmmanuel Vadot ina226-u93 { 93c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 94c66ec88fSEmmanuel Vadot io-channels = <&u93 0>, <&u93 1>, <&u93 2>, <&u93 3>; 95c66ec88fSEmmanuel Vadot }; 96c66ec88fSEmmanuel Vadot ina226-u88 { 97c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 98c66ec88fSEmmanuel Vadot io-channels = <&u88 0>, <&u88 1>, <&u88 2>, <&u88 3>; 99c66ec88fSEmmanuel Vadot }; 100c66ec88fSEmmanuel Vadot ina226-u15 { 101c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 102c66ec88fSEmmanuel Vadot io-channels = <&u15 0>, <&u15 1>, <&u15 2>, <&u15 3>; 103c66ec88fSEmmanuel Vadot }; 104c66ec88fSEmmanuel Vadot ina226-u92 { 105c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 106c66ec88fSEmmanuel Vadot io-channels = <&u92 0>, <&u92 1>, <&u92 2>, <&u92 3>; 107c66ec88fSEmmanuel Vadot }; 108c66ec88fSEmmanuel Vadot ina226-u79 { 109c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 110c66ec88fSEmmanuel Vadot io-channels = <&u79 0>, <&u79 1>, <&u79 2>, <&u79 3>; 111c66ec88fSEmmanuel Vadot }; 112c66ec88fSEmmanuel Vadot ina226-u81 { 113c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 114c66ec88fSEmmanuel Vadot io-channels = <&u81 0>, <&u81 1>, <&u81 2>, <&u81 3>; 115c66ec88fSEmmanuel Vadot }; 116c66ec88fSEmmanuel Vadot ina226-u80 { 117c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 118c66ec88fSEmmanuel Vadot io-channels = <&u80 0>, <&u80 1>, <&u80 2>, <&u80 3>; 119c66ec88fSEmmanuel Vadot }; 120c66ec88fSEmmanuel Vadot ina226-u84 { 121c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 122c66ec88fSEmmanuel Vadot io-channels = <&u84 0>, <&u84 1>, <&u84 2>, <&u84 3>; 123c66ec88fSEmmanuel Vadot }; 124c66ec88fSEmmanuel Vadot ina226-u16 { 125c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 126c66ec88fSEmmanuel Vadot io-channels = <&u16 0>, <&u16 1>, <&u16 2>, <&u16 3>; 127c66ec88fSEmmanuel Vadot }; 128c66ec88fSEmmanuel Vadot ina226-u65 { 129c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 130c66ec88fSEmmanuel Vadot io-channels = <&u65 0>, <&u65 1>, <&u65 2>, <&u65 3>; 131c66ec88fSEmmanuel Vadot }; 132c66ec88fSEmmanuel Vadot ina226-u74 { 133c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 134c66ec88fSEmmanuel Vadot io-channels = <&u74 0>, <&u74 1>, <&u74 2>, <&u74 3>; 135c66ec88fSEmmanuel Vadot }; 136c66ec88fSEmmanuel Vadot ina226-u75 { 137c66ec88fSEmmanuel Vadot compatible = "iio-hwmon"; 138c66ec88fSEmmanuel Vadot io-channels = <&u75 0>, <&u75 1>, <&u75 2>, <&u75 3>; 139c66ec88fSEmmanuel Vadot }; 1405def4c47SEmmanuel Vadot 1415def4c47SEmmanuel Vadot /* 48MHz reference crystal */ 1425def4c47SEmmanuel Vadot ref48: ref48M { 1435def4c47SEmmanuel Vadot compatible = "fixed-clock"; 1445def4c47SEmmanuel Vadot #clock-cells = <0>; 1455def4c47SEmmanuel Vadot clock-frequency = <48000000>; 1465def4c47SEmmanuel Vadot }; 1475def4c47SEmmanuel Vadot 1485def4c47SEmmanuel Vadot refhdmi: refhdmi { 1495def4c47SEmmanuel Vadot compatible = "fixed-clock"; 1505def4c47SEmmanuel Vadot #clock-cells = <0>; 1515def4c47SEmmanuel Vadot clock-frequency = <114285000>; 1525def4c47SEmmanuel Vadot }; 153c66ec88fSEmmanuel Vadot}; 154c66ec88fSEmmanuel Vadot 155c66ec88fSEmmanuel Vadot&can1 { 156c66ec88fSEmmanuel Vadot status = "okay"; 157*8cc087a1SEmmanuel Vadot pinctrl-names = "default"; 158*8cc087a1SEmmanuel Vadot pinctrl-0 = <&pinctrl_can1_default>; 159c66ec88fSEmmanuel Vadot}; 160c66ec88fSEmmanuel Vadot 161c66ec88fSEmmanuel Vadot&dcc { 162c66ec88fSEmmanuel Vadot status = "okay"; 163c66ec88fSEmmanuel Vadot}; 164c66ec88fSEmmanuel Vadot 165c66ec88fSEmmanuel Vadot&fpd_dma_chan1 { 166c66ec88fSEmmanuel Vadot status = "okay"; 167c66ec88fSEmmanuel Vadot}; 168c66ec88fSEmmanuel Vadot 169c66ec88fSEmmanuel Vadot&fpd_dma_chan2 { 170c66ec88fSEmmanuel Vadot status = "okay"; 171c66ec88fSEmmanuel Vadot}; 172c66ec88fSEmmanuel Vadot 173c66ec88fSEmmanuel Vadot&fpd_dma_chan3 { 174c66ec88fSEmmanuel Vadot status = "okay"; 175c66ec88fSEmmanuel Vadot}; 176c66ec88fSEmmanuel Vadot 177c66ec88fSEmmanuel Vadot&fpd_dma_chan4 { 178c66ec88fSEmmanuel Vadot status = "okay"; 179c66ec88fSEmmanuel Vadot}; 180c66ec88fSEmmanuel Vadot 181c66ec88fSEmmanuel Vadot&fpd_dma_chan5 { 182c66ec88fSEmmanuel Vadot status = "okay"; 183c66ec88fSEmmanuel Vadot}; 184c66ec88fSEmmanuel Vadot 185c66ec88fSEmmanuel Vadot&fpd_dma_chan6 { 186c66ec88fSEmmanuel Vadot status = "okay"; 187c66ec88fSEmmanuel Vadot}; 188c66ec88fSEmmanuel Vadot 189c66ec88fSEmmanuel Vadot&fpd_dma_chan7 { 190c66ec88fSEmmanuel Vadot status = "okay"; 191c66ec88fSEmmanuel Vadot}; 192c66ec88fSEmmanuel Vadot 193c66ec88fSEmmanuel Vadot&fpd_dma_chan8 { 194c66ec88fSEmmanuel Vadot status = "okay"; 195c66ec88fSEmmanuel Vadot}; 196c66ec88fSEmmanuel Vadot 197c66ec88fSEmmanuel Vadot&gem3 { 198c66ec88fSEmmanuel Vadot status = "okay"; 199c66ec88fSEmmanuel Vadot phy-handle = <&phy0>; 200c66ec88fSEmmanuel Vadot phy-mode = "rgmii-id"; 201*8cc087a1SEmmanuel Vadot pinctrl-names = "default"; 202*8cc087a1SEmmanuel Vadot pinctrl-0 = <&pinctrl_gem3_default>; 203c66ec88fSEmmanuel Vadot phy0: ethernet-phy@c { 204c66ec88fSEmmanuel Vadot reg = <0xc>; 205c66ec88fSEmmanuel Vadot ti,rx-internal-delay = <0x8>; 206c66ec88fSEmmanuel Vadot ti,tx-internal-delay = <0xa>; 207c66ec88fSEmmanuel Vadot ti,fifo-depth = <0x1>; 208c66ec88fSEmmanuel Vadot ti,dp83867-rxctrl-strap-quirk; 209c66ec88fSEmmanuel Vadot }; 210c66ec88fSEmmanuel Vadot}; 211c66ec88fSEmmanuel Vadot 212c66ec88fSEmmanuel Vadot&gpio { 213c66ec88fSEmmanuel Vadot status = "okay"; 214*8cc087a1SEmmanuel Vadot pinctrl-names = "default"; 215*8cc087a1SEmmanuel Vadot pinctrl-0 = <&pinctrl_gpio_default>; 216c66ec88fSEmmanuel Vadot}; 217c66ec88fSEmmanuel Vadot 218c66ec88fSEmmanuel Vadot&i2c0 { 219c66ec88fSEmmanuel Vadot status = "okay"; 220c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 221*8cc087a1SEmmanuel Vadot pinctrl-names = "default", "gpio"; 222*8cc087a1SEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c0_default>; 223*8cc087a1SEmmanuel Vadot pinctrl-1 = <&pinctrl_i2c0_gpio>; 224*8cc087a1SEmmanuel Vadot scl-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; 225*8cc087a1SEmmanuel Vadot sda-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>; 226c66ec88fSEmmanuel Vadot 227c66ec88fSEmmanuel Vadot tca6416_u97: gpio@20 { 228c66ec88fSEmmanuel Vadot compatible = "ti,tca6416"; 229c66ec88fSEmmanuel Vadot reg = <0x20>; 230c66ec88fSEmmanuel Vadot gpio-controller; /* interrupt not connected */ 231c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 232c66ec88fSEmmanuel Vadot /* 233c66ec88fSEmmanuel Vadot * IRQ not connected 234c66ec88fSEmmanuel Vadot * Lines: 235c66ec88fSEmmanuel Vadot * 0 - SFP_SI5328_INT_ALM 236c66ec88fSEmmanuel Vadot * 1 - HDMI_SI5328_INT_ALM 237c66ec88fSEmmanuel Vadot * 5 - IIC_MUX_RESET_B 238c66ec88fSEmmanuel Vadot * 6 - GEM3_EXP_RESET_B 239c66ec88fSEmmanuel Vadot * 10 - FMC_HPC0_PRSNT_M2C_B 240c66ec88fSEmmanuel Vadot * 11 - FMC_HPC1_PRSNT_M2C_B 241c66ec88fSEmmanuel Vadot * 2-4, 7, 12-17 - not connected 242c66ec88fSEmmanuel Vadot */ 243c66ec88fSEmmanuel Vadot }; 244c66ec88fSEmmanuel Vadot 245c66ec88fSEmmanuel Vadot tca6416_u61: gpio@21 { 246c66ec88fSEmmanuel Vadot compatible = "ti,tca6416"; 247c66ec88fSEmmanuel Vadot reg = <0x21>; 248c66ec88fSEmmanuel Vadot gpio-controller; 249c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 250c66ec88fSEmmanuel Vadot /* 251c66ec88fSEmmanuel Vadot * IRQ not connected 252c66ec88fSEmmanuel Vadot * Lines: 253c66ec88fSEmmanuel Vadot * 0 - VCCPSPLL_EN 254c66ec88fSEmmanuel Vadot * 1 - MGTRAVCC_EN 255c66ec88fSEmmanuel Vadot * 2 - MGTRAVTT_EN 256c66ec88fSEmmanuel Vadot * 3 - VCCPSDDRPLL_EN 257c66ec88fSEmmanuel Vadot * 4 - MIO26_PMU_INPUT_LS 258c66ec88fSEmmanuel Vadot * 5 - PL_PMBUS_ALERT 259c66ec88fSEmmanuel Vadot * 6 - PS_PMBUS_ALERT 260c66ec88fSEmmanuel Vadot * 7 - MAXIM_PMBUS_ALERT 261c66ec88fSEmmanuel Vadot * 10 - PL_DDR4_VTERM_EN 262c66ec88fSEmmanuel Vadot * 11 - PL_DDR4_VPP_2V5_EN 263c66ec88fSEmmanuel Vadot * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON 264c66ec88fSEmmanuel Vadot * 13 - PS_DIMM_SUSPEND_EN 265c66ec88fSEmmanuel Vadot * 14 - PS_DDR4_VTERM_EN 266c66ec88fSEmmanuel Vadot * 15 - PS_DDR4_VPP_2V5_EN 267c66ec88fSEmmanuel Vadot * 16 - 17 - not connected 268c66ec88fSEmmanuel Vadot */ 269c66ec88fSEmmanuel Vadot }; 270c66ec88fSEmmanuel Vadot 271c66ec88fSEmmanuel Vadot i2c-mux@75 { /* u60 */ 272c66ec88fSEmmanuel Vadot compatible = "nxp,pca9544"; 273c66ec88fSEmmanuel Vadot #address-cells = <1>; 274c66ec88fSEmmanuel Vadot #size-cells = <0>; 275c66ec88fSEmmanuel Vadot reg = <0x75>; 276c66ec88fSEmmanuel Vadot i2c@0 { 277c66ec88fSEmmanuel Vadot #address-cells = <1>; 278c66ec88fSEmmanuel Vadot #size-cells = <0>; 279c66ec88fSEmmanuel Vadot reg = <0>; 280c66ec88fSEmmanuel Vadot /* PS_PMBUS */ 281c66ec88fSEmmanuel Vadot u76: ina226@40 { /* u76 */ 282c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 283c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 284c66ec88fSEmmanuel Vadot label = "ina226-u76"; 285c66ec88fSEmmanuel Vadot reg = <0x40>; 286c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 287c66ec88fSEmmanuel Vadot }; 288c66ec88fSEmmanuel Vadot u77: ina226@41 { /* u77 */ 289c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 290c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 291c66ec88fSEmmanuel Vadot label = "ina226-u77"; 292c66ec88fSEmmanuel Vadot reg = <0x41>; 293c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 294c66ec88fSEmmanuel Vadot }; 295c66ec88fSEmmanuel Vadot u78: ina226@42 { /* u78 */ 296c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 297c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 298c66ec88fSEmmanuel Vadot label = "ina226-u78"; 299c66ec88fSEmmanuel Vadot reg = <0x42>; 300c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 301c66ec88fSEmmanuel Vadot }; 302c66ec88fSEmmanuel Vadot u87: ina226@43 { /* u87 */ 303c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 304c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 305c66ec88fSEmmanuel Vadot label = "ina226-u87"; 306c66ec88fSEmmanuel Vadot reg = <0x43>; 307c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 308c66ec88fSEmmanuel Vadot }; 309c66ec88fSEmmanuel Vadot u85: ina226@44 { /* u85 */ 310c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 311c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 312c66ec88fSEmmanuel Vadot label = "ina226-u85"; 313c66ec88fSEmmanuel Vadot reg = <0x44>; 314c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 315c66ec88fSEmmanuel Vadot }; 316c66ec88fSEmmanuel Vadot u86: ina226@45 { /* u86 */ 317c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 318c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 319c66ec88fSEmmanuel Vadot label = "ina226-u86"; 320c66ec88fSEmmanuel Vadot reg = <0x45>; 321c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 322c66ec88fSEmmanuel Vadot }; 323c66ec88fSEmmanuel Vadot u93: ina226@46 { /* u93 */ 324c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 325c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 326c66ec88fSEmmanuel Vadot label = "ina226-u93"; 327c66ec88fSEmmanuel Vadot reg = <0x46>; 328c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 329c66ec88fSEmmanuel Vadot }; 330c66ec88fSEmmanuel Vadot u88: ina226@47 { /* u88 */ 331c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 332c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 333c66ec88fSEmmanuel Vadot label = "ina226-u88"; 334c66ec88fSEmmanuel Vadot reg = <0x47>; 335c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 336c66ec88fSEmmanuel Vadot }; 337c66ec88fSEmmanuel Vadot u15: ina226@4a { /* u15 */ 338c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 339c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 340c66ec88fSEmmanuel Vadot label = "ina226-u15"; 341c66ec88fSEmmanuel Vadot reg = <0x4a>; 342c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 343c66ec88fSEmmanuel Vadot }; 344c66ec88fSEmmanuel Vadot u92: ina226@4b { /* u92 */ 345c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 346c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 347c66ec88fSEmmanuel Vadot label = "ina226-u92"; 348c66ec88fSEmmanuel Vadot reg = <0x4b>; 349c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 350c66ec88fSEmmanuel Vadot }; 351c66ec88fSEmmanuel Vadot }; 352c66ec88fSEmmanuel Vadot i2c@1 { 353c66ec88fSEmmanuel Vadot #address-cells = <1>; 354c66ec88fSEmmanuel Vadot #size-cells = <0>; 355c66ec88fSEmmanuel Vadot reg = <1>; 356c66ec88fSEmmanuel Vadot /* PL_PMBUS */ 357c66ec88fSEmmanuel Vadot u79: ina226@40 { /* u79 */ 358c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 359c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 360c66ec88fSEmmanuel Vadot label = "ina226-u79"; 361c66ec88fSEmmanuel Vadot reg = <0x40>; 362c66ec88fSEmmanuel Vadot shunt-resistor = <2000>; 363c66ec88fSEmmanuel Vadot }; 364c66ec88fSEmmanuel Vadot u81: ina226@41 { /* u81 */ 365c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 366c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 367c66ec88fSEmmanuel Vadot label = "ina226-u81"; 368c66ec88fSEmmanuel Vadot reg = <0x41>; 369c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 370c66ec88fSEmmanuel Vadot }; 371c66ec88fSEmmanuel Vadot u80: ina226@42 { /* u80 */ 372c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 373c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 374c66ec88fSEmmanuel Vadot label = "ina226-u80"; 375c66ec88fSEmmanuel Vadot reg = <0x42>; 376c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 377c66ec88fSEmmanuel Vadot }; 378c66ec88fSEmmanuel Vadot u84: ina226@43 { /* u84 */ 379c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 380c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 381c66ec88fSEmmanuel Vadot label = "ina226-u84"; 382c66ec88fSEmmanuel Vadot reg = <0x43>; 383c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 384c66ec88fSEmmanuel Vadot }; 385c66ec88fSEmmanuel Vadot u16: ina226@44 { /* u16 */ 386c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 387c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 388c66ec88fSEmmanuel Vadot label = "ina226-u16"; 389c66ec88fSEmmanuel Vadot reg = <0x44>; 390c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 391c66ec88fSEmmanuel Vadot }; 392c66ec88fSEmmanuel Vadot u65: ina226@45 { /* u65 */ 393c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 394c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 395c66ec88fSEmmanuel Vadot label = "ina226-u65"; 396c66ec88fSEmmanuel Vadot reg = <0x45>; 397c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 398c66ec88fSEmmanuel Vadot }; 399c66ec88fSEmmanuel Vadot u74: ina226@46 { /* u74 */ 400c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 401c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 402c66ec88fSEmmanuel Vadot label = "ina226-u74"; 403c66ec88fSEmmanuel Vadot reg = <0x46>; 404c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 405c66ec88fSEmmanuel Vadot }; 406c66ec88fSEmmanuel Vadot u75: ina226@47 { /* u75 */ 407c66ec88fSEmmanuel Vadot compatible = "ti,ina226"; 408c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 409c66ec88fSEmmanuel Vadot label = "ina226-u75"; 410c66ec88fSEmmanuel Vadot reg = <0x47>; 411c66ec88fSEmmanuel Vadot shunt-resistor = <5000>; 412c66ec88fSEmmanuel Vadot }; 413c66ec88fSEmmanuel Vadot }; 414c66ec88fSEmmanuel Vadot i2c@2 { 415c66ec88fSEmmanuel Vadot #address-cells = <1>; 416c66ec88fSEmmanuel Vadot #size-cells = <0>; 417c66ec88fSEmmanuel Vadot reg = <2>; 418c66ec88fSEmmanuel Vadot /* MAXIM_PMBUS - 00 */ 419c66ec88fSEmmanuel Vadot max15301@a { /* u46 */ 420c66ec88fSEmmanuel Vadot compatible = "maxim,max15301"; 421c66ec88fSEmmanuel Vadot reg = <0xa>; 422c66ec88fSEmmanuel Vadot }; 423c66ec88fSEmmanuel Vadot max15303@b { /* u4 */ 424c66ec88fSEmmanuel Vadot compatible = "maxim,max15303"; 425c66ec88fSEmmanuel Vadot reg = <0xb>; 426c66ec88fSEmmanuel Vadot }; 427c66ec88fSEmmanuel Vadot max15303@10 { /* u13 */ 428c66ec88fSEmmanuel Vadot compatible = "maxim,max15303"; 429c66ec88fSEmmanuel Vadot reg = <0x10>; 430c66ec88fSEmmanuel Vadot }; 431c66ec88fSEmmanuel Vadot max15301@13 { /* u47 */ 432c66ec88fSEmmanuel Vadot compatible = "maxim,max15301"; 433c66ec88fSEmmanuel Vadot reg = <0x13>; 434c66ec88fSEmmanuel Vadot }; 435c66ec88fSEmmanuel Vadot max15303@14 { /* u7 */ 436c66ec88fSEmmanuel Vadot compatible = "maxim,max15303"; 437c66ec88fSEmmanuel Vadot reg = <0x14>; 438c66ec88fSEmmanuel Vadot }; 439c66ec88fSEmmanuel Vadot max15303@15 { /* u6 */ 440c66ec88fSEmmanuel Vadot compatible = "maxim,max15303"; 441c66ec88fSEmmanuel Vadot reg = <0x15>; 442c66ec88fSEmmanuel Vadot }; 443c66ec88fSEmmanuel Vadot max15303@16 { /* u10 */ 444c66ec88fSEmmanuel Vadot compatible = "maxim,max15303"; 445c66ec88fSEmmanuel Vadot reg = <0x16>; 446c66ec88fSEmmanuel Vadot }; 447c66ec88fSEmmanuel Vadot max15303@17 { /* u9 */ 448c66ec88fSEmmanuel Vadot compatible = "maxim,max15303"; 449c66ec88fSEmmanuel Vadot reg = <0x17>; 450c66ec88fSEmmanuel Vadot }; 451c66ec88fSEmmanuel Vadot max15301@18 { /* u63 */ 452c66ec88fSEmmanuel Vadot compatible = "maxim,max15301"; 453c66ec88fSEmmanuel Vadot reg = <0x18>; 454c66ec88fSEmmanuel Vadot }; 455c66ec88fSEmmanuel Vadot max15303@1a { /* u49 */ 456c66ec88fSEmmanuel Vadot compatible = "maxim,max15303"; 457c66ec88fSEmmanuel Vadot reg = <0x1a>; 458c66ec88fSEmmanuel Vadot }; 459c66ec88fSEmmanuel Vadot max15303@1b { /* u8 */ 460c66ec88fSEmmanuel Vadot compatible = "maxim,max15303"; 461c66ec88fSEmmanuel Vadot reg = <0x1b>; 462c66ec88fSEmmanuel Vadot }; 463c66ec88fSEmmanuel Vadot max15303@1d { /* u18 */ 464c66ec88fSEmmanuel Vadot compatible = "maxim,max15303"; 465c66ec88fSEmmanuel Vadot reg = <0x1d>; 466c66ec88fSEmmanuel Vadot }; 467c66ec88fSEmmanuel Vadot 468c66ec88fSEmmanuel Vadot max20751@72 { /* u95 */ 469c66ec88fSEmmanuel Vadot compatible = "maxim,max20751"; 470c66ec88fSEmmanuel Vadot reg = <0x72>; 471c66ec88fSEmmanuel Vadot }; 472c66ec88fSEmmanuel Vadot max20751@73 { /* u96 */ 473c66ec88fSEmmanuel Vadot compatible = "maxim,max20751"; 474c66ec88fSEmmanuel Vadot reg = <0x73>; 475c66ec88fSEmmanuel Vadot }; 476c66ec88fSEmmanuel Vadot }; 477c66ec88fSEmmanuel Vadot /* Bus 3 is not connected */ 478c66ec88fSEmmanuel Vadot }; 479c66ec88fSEmmanuel Vadot}; 480c66ec88fSEmmanuel Vadot 481c66ec88fSEmmanuel Vadot&i2c1 { 482c66ec88fSEmmanuel Vadot status = "okay"; 483c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 484*8cc087a1SEmmanuel Vadot pinctrl-names = "default", "gpio"; 485*8cc087a1SEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c1_default>; 486*8cc087a1SEmmanuel Vadot pinctrl-1 = <&pinctrl_i2c1_gpio>; 487*8cc087a1SEmmanuel Vadot scl-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; 488*8cc087a1SEmmanuel Vadot sda-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; 489c66ec88fSEmmanuel Vadot 490c66ec88fSEmmanuel Vadot /* PL i2c via PCA9306 - u45 */ 491c66ec88fSEmmanuel Vadot i2c-mux@74 { /* u34 */ 492c66ec88fSEmmanuel Vadot compatible = "nxp,pca9548"; 493c66ec88fSEmmanuel Vadot #address-cells = <1>; 494c66ec88fSEmmanuel Vadot #size-cells = <0>; 495c66ec88fSEmmanuel Vadot reg = <0x74>; 496c66ec88fSEmmanuel Vadot i2c@0 { 497c66ec88fSEmmanuel Vadot #address-cells = <1>; 498c66ec88fSEmmanuel Vadot #size-cells = <0>; 499c66ec88fSEmmanuel Vadot reg = <0>; 500c66ec88fSEmmanuel Vadot /* 501c66ec88fSEmmanuel Vadot * IIC_EEPROM 1kB memory which uses 256B blocks 502c66ec88fSEmmanuel Vadot * where every block has different address. 503c66ec88fSEmmanuel Vadot * 0 - 256B address 0x54 504c66ec88fSEmmanuel Vadot * 256B - 512B address 0x55 505c66ec88fSEmmanuel Vadot * 512B - 768B address 0x56 506c66ec88fSEmmanuel Vadot * 768B - 1024B address 0x57 507c66ec88fSEmmanuel Vadot */ 508c66ec88fSEmmanuel Vadot eeprom: eeprom@54 { /* u23 */ 509c66ec88fSEmmanuel Vadot compatible = "atmel,24c08"; 510c66ec88fSEmmanuel Vadot reg = <0x54>; 511c66ec88fSEmmanuel Vadot }; 512c66ec88fSEmmanuel Vadot }; 513c66ec88fSEmmanuel Vadot i2c@1 { 514c66ec88fSEmmanuel Vadot #address-cells = <1>; 515c66ec88fSEmmanuel Vadot #size-cells = <0>; 516c66ec88fSEmmanuel Vadot reg = <1>; 517c66ec88fSEmmanuel Vadot si5341: clock-generator@36 { /* SI5341 - u69 */ 5185def4c47SEmmanuel Vadot compatible = "silabs,si5341"; 519c66ec88fSEmmanuel Vadot reg = <0x36>; 5205def4c47SEmmanuel Vadot #clock-cells = <2>; 5215def4c47SEmmanuel Vadot #address-cells = <1>; 5225def4c47SEmmanuel Vadot #size-cells = <0>; 5235def4c47SEmmanuel Vadot clocks = <&ref48>; 5245def4c47SEmmanuel Vadot clock-names = "xtal"; 5255def4c47SEmmanuel Vadot clock-output-names = "si5341"; 5265def4c47SEmmanuel Vadot 5275def4c47SEmmanuel Vadot si5341_0: out@0 { 5285def4c47SEmmanuel Vadot /* refclk0 for PS-GT, used for DP */ 5295def4c47SEmmanuel Vadot reg = <0>; 5305def4c47SEmmanuel Vadot always-on; 5315def4c47SEmmanuel Vadot }; 5325def4c47SEmmanuel Vadot si5341_2: out@2 { 5335def4c47SEmmanuel Vadot /* refclk2 for PS-GT, used for USB3 */ 5345def4c47SEmmanuel Vadot reg = <2>; 5355def4c47SEmmanuel Vadot always-on; 5365def4c47SEmmanuel Vadot }; 5375def4c47SEmmanuel Vadot si5341_3: out@3 { 5385def4c47SEmmanuel Vadot /* refclk3 for PS-GT, used for SATA */ 5395def4c47SEmmanuel Vadot reg = <3>; 5405def4c47SEmmanuel Vadot always-on; 5415def4c47SEmmanuel Vadot }; 5425def4c47SEmmanuel Vadot si5341_6: out@6 { 5435def4c47SEmmanuel Vadot /* refclk6 PL CLK125 */ 5445def4c47SEmmanuel Vadot reg = <6>; 5455def4c47SEmmanuel Vadot always-on; 5465def4c47SEmmanuel Vadot }; 5475def4c47SEmmanuel Vadot si5341_7: out@7 { 5485def4c47SEmmanuel Vadot /* refclk7 PL CLK74 */ 5495def4c47SEmmanuel Vadot reg = <7>; 5505def4c47SEmmanuel Vadot always-on; 5515def4c47SEmmanuel Vadot }; 5525def4c47SEmmanuel Vadot si5341_9: out@9 { 5535def4c47SEmmanuel Vadot /* refclk9 used for PS_REF_CLK 33.3 MHz */ 5545def4c47SEmmanuel Vadot reg = <9>; 5555def4c47SEmmanuel Vadot always-on; 5565def4c47SEmmanuel Vadot }; 557c66ec88fSEmmanuel Vadot }; 558c66ec88fSEmmanuel Vadot 559c66ec88fSEmmanuel Vadot }; 560c66ec88fSEmmanuel Vadot i2c@2 { 561c66ec88fSEmmanuel Vadot #address-cells = <1>; 562c66ec88fSEmmanuel Vadot #size-cells = <0>; 563c66ec88fSEmmanuel Vadot reg = <2>; 564c66ec88fSEmmanuel Vadot si570_1: clock-generator@5d { /* USER SI570 - u42 */ 565c66ec88fSEmmanuel Vadot #clock-cells = <0>; 566c66ec88fSEmmanuel Vadot compatible = "silabs,si570"; 567c66ec88fSEmmanuel Vadot reg = <0x5d>; 568c66ec88fSEmmanuel Vadot temperature-stability = <50>; 569c66ec88fSEmmanuel Vadot factory-fout = <300000000>; 570c66ec88fSEmmanuel Vadot clock-frequency = <300000000>; 571c66ec88fSEmmanuel Vadot clock-output-names = "si570_user"; 572c66ec88fSEmmanuel Vadot }; 573c66ec88fSEmmanuel Vadot }; 574c66ec88fSEmmanuel Vadot i2c@3 { 575c66ec88fSEmmanuel Vadot #address-cells = <1>; 576c66ec88fSEmmanuel Vadot #size-cells = <0>; 577c66ec88fSEmmanuel Vadot reg = <3>; 578c66ec88fSEmmanuel Vadot si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */ 579c66ec88fSEmmanuel Vadot #clock-cells = <0>; 580c66ec88fSEmmanuel Vadot compatible = "silabs,si570"; 581c66ec88fSEmmanuel Vadot reg = <0x5d>; 582c66ec88fSEmmanuel Vadot temperature-stability = <50>; /* copy from zc702 */ 583c66ec88fSEmmanuel Vadot factory-fout = <156250000>; 584c66ec88fSEmmanuel Vadot clock-frequency = <148500000>; 585c66ec88fSEmmanuel Vadot clock-output-names = "si570_mgt"; 586c66ec88fSEmmanuel Vadot }; 587c66ec88fSEmmanuel Vadot }; 588c66ec88fSEmmanuel Vadot i2c@4 { 589c66ec88fSEmmanuel Vadot #address-cells = <1>; 590c66ec88fSEmmanuel Vadot #size-cells = <0>; 591c66ec88fSEmmanuel Vadot reg = <4>; 5922eb4d8dcSEmmanuel Vadot /* SI5328 - u20 */ 593c66ec88fSEmmanuel Vadot }; 594c66ec88fSEmmanuel Vadot i2c@5 { 595c66ec88fSEmmanuel Vadot #address-cells = <1>; 596c66ec88fSEmmanuel Vadot #size-cells = <0>; 597c66ec88fSEmmanuel Vadot reg = <5>; /* FAN controller */ 598c66ec88fSEmmanuel Vadot temp@4c {/* lm96163 - u128 */ 599c66ec88fSEmmanuel Vadot compatible = "national,lm96163"; 600c66ec88fSEmmanuel Vadot reg = <0x4c>; 601c66ec88fSEmmanuel Vadot }; 602c66ec88fSEmmanuel Vadot }; 603c66ec88fSEmmanuel Vadot /* 6 - 7 unconnected */ 604c66ec88fSEmmanuel Vadot }; 605c66ec88fSEmmanuel Vadot 606c66ec88fSEmmanuel Vadot i2c-mux@75 { 607c66ec88fSEmmanuel Vadot compatible = "nxp,pca9548"; /* u135 */ 608c66ec88fSEmmanuel Vadot #address-cells = <1>; 609c66ec88fSEmmanuel Vadot #size-cells = <0>; 610c66ec88fSEmmanuel Vadot reg = <0x75>; 611c66ec88fSEmmanuel Vadot 612c66ec88fSEmmanuel Vadot i2c@0 { 613c66ec88fSEmmanuel Vadot #address-cells = <1>; 614c66ec88fSEmmanuel Vadot #size-cells = <0>; 615c66ec88fSEmmanuel Vadot reg = <0>; 616c66ec88fSEmmanuel Vadot /* HPC0_IIC */ 617c66ec88fSEmmanuel Vadot }; 618c66ec88fSEmmanuel Vadot i2c@1 { 619c66ec88fSEmmanuel Vadot #address-cells = <1>; 620c66ec88fSEmmanuel Vadot #size-cells = <0>; 621c66ec88fSEmmanuel Vadot reg = <1>; 622c66ec88fSEmmanuel Vadot /* HPC1_IIC */ 623c66ec88fSEmmanuel Vadot }; 624c66ec88fSEmmanuel Vadot i2c@2 { 625c66ec88fSEmmanuel Vadot #address-cells = <1>; 626c66ec88fSEmmanuel Vadot #size-cells = <0>; 627c66ec88fSEmmanuel Vadot reg = <2>; 628c66ec88fSEmmanuel Vadot /* SYSMON */ 629c66ec88fSEmmanuel Vadot }; 630c66ec88fSEmmanuel Vadot i2c@3 { 631c66ec88fSEmmanuel Vadot #address-cells = <1>; 632c66ec88fSEmmanuel Vadot #size-cells = <0>; 633c66ec88fSEmmanuel Vadot reg = <3>; 634c66ec88fSEmmanuel Vadot /* DDR4 SODIMM */ 635c66ec88fSEmmanuel Vadot }; 636c66ec88fSEmmanuel Vadot i2c@4 { 637c66ec88fSEmmanuel Vadot #address-cells = <1>; 638c66ec88fSEmmanuel Vadot #size-cells = <0>; 639c66ec88fSEmmanuel Vadot reg = <4>; 640c66ec88fSEmmanuel Vadot /* SEP 3 */ 641c66ec88fSEmmanuel Vadot }; 642c66ec88fSEmmanuel Vadot i2c@5 { 643c66ec88fSEmmanuel Vadot #address-cells = <1>; 644c66ec88fSEmmanuel Vadot #size-cells = <0>; 645c66ec88fSEmmanuel Vadot reg = <5>; 646c66ec88fSEmmanuel Vadot /* SEP 2 */ 647c66ec88fSEmmanuel Vadot }; 648c66ec88fSEmmanuel Vadot i2c@6 { 649c66ec88fSEmmanuel Vadot #address-cells = <1>; 650c66ec88fSEmmanuel Vadot #size-cells = <0>; 651c66ec88fSEmmanuel Vadot reg = <6>; 652c66ec88fSEmmanuel Vadot /* SEP 1 */ 653c66ec88fSEmmanuel Vadot }; 654c66ec88fSEmmanuel Vadot i2c@7 { 655c66ec88fSEmmanuel Vadot #address-cells = <1>; 656c66ec88fSEmmanuel Vadot #size-cells = <0>; 657c66ec88fSEmmanuel Vadot reg = <7>; 658c66ec88fSEmmanuel Vadot /* SEP 0 */ 659c66ec88fSEmmanuel Vadot }; 660c66ec88fSEmmanuel Vadot }; 661c66ec88fSEmmanuel Vadot}; 662c66ec88fSEmmanuel Vadot 663*8cc087a1SEmmanuel Vadot&pinctrl0 { 664*8cc087a1SEmmanuel Vadot status = "okay"; 665*8cc087a1SEmmanuel Vadot pinctrl_i2c0_default: i2c0-default { 666*8cc087a1SEmmanuel Vadot mux { 667*8cc087a1SEmmanuel Vadot groups = "i2c0_3_grp"; 668*8cc087a1SEmmanuel Vadot function = "i2c0"; 669*8cc087a1SEmmanuel Vadot }; 670*8cc087a1SEmmanuel Vadot 671*8cc087a1SEmmanuel Vadot conf { 672*8cc087a1SEmmanuel Vadot groups = "i2c0_3_grp"; 673*8cc087a1SEmmanuel Vadot bias-pull-up; 674*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 675*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 676*8cc087a1SEmmanuel Vadot }; 677*8cc087a1SEmmanuel Vadot }; 678*8cc087a1SEmmanuel Vadot 679*8cc087a1SEmmanuel Vadot pinctrl_i2c0_gpio: i2c0-gpio { 680*8cc087a1SEmmanuel Vadot mux { 681*8cc087a1SEmmanuel Vadot groups = "gpio0_14_grp", "gpio0_15_grp"; 682*8cc087a1SEmmanuel Vadot function = "gpio0"; 683*8cc087a1SEmmanuel Vadot }; 684*8cc087a1SEmmanuel Vadot 685*8cc087a1SEmmanuel Vadot conf { 686*8cc087a1SEmmanuel Vadot groups = "gpio0_14_grp", "gpio0_15_grp"; 687*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 688*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 689*8cc087a1SEmmanuel Vadot }; 690*8cc087a1SEmmanuel Vadot }; 691*8cc087a1SEmmanuel Vadot 692*8cc087a1SEmmanuel Vadot pinctrl_i2c1_default: i2c1-default { 693*8cc087a1SEmmanuel Vadot mux { 694*8cc087a1SEmmanuel Vadot groups = "i2c1_4_grp"; 695*8cc087a1SEmmanuel Vadot function = "i2c1"; 696*8cc087a1SEmmanuel Vadot }; 697*8cc087a1SEmmanuel Vadot 698*8cc087a1SEmmanuel Vadot conf { 699*8cc087a1SEmmanuel Vadot groups = "i2c1_4_grp"; 700*8cc087a1SEmmanuel Vadot bias-pull-up; 701*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 702*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 703*8cc087a1SEmmanuel Vadot }; 704*8cc087a1SEmmanuel Vadot }; 705*8cc087a1SEmmanuel Vadot 706*8cc087a1SEmmanuel Vadot pinctrl_i2c1_gpio: i2c1-gpio { 707*8cc087a1SEmmanuel Vadot mux { 708*8cc087a1SEmmanuel Vadot groups = "gpio0_16_grp", "gpio0_17_grp"; 709*8cc087a1SEmmanuel Vadot function = "gpio0"; 710*8cc087a1SEmmanuel Vadot }; 711*8cc087a1SEmmanuel Vadot 712*8cc087a1SEmmanuel Vadot conf { 713*8cc087a1SEmmanuel Vadot groups = "gpio0_16_grp", "gpio0_17_grp"; 714*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 715*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 716*8cc087a1SEmmanuel Vadot }; 717*8cc087a1SEmmanuel Vadot }; 718*8cc087a1SEmmanuel Vadot 719*8cc087a1SEmmanuel Vadot pinctrl_uart0_default: uart0-default { 720*8cc087a1SEmmanuel Vadot mux { 721*8cc087a1SEmmanuel Vadot groups = "uart0_4_grp"; 722*8cc087a1SEmmanuel Vadot function = "uart0"; 723*8cc087a1SEmmanuel Vadot }; 724*8cc087a1SEmmanuel Vadot 725*8cc087a1SEmmanuel Vadot conf { 726*8cc087a1SEmmanuel Vadot groups = "uart0_4_grp"; 727*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 728*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 729*8cc087a1SEmmanuel Vadot }; 730*8cc087a1SEmmanuel Vadot 731*8cc087a1SEmmanuel Vadot conf-rx { 732*8cc087a1SEmmanuel Vadot pins = "MIO18"; 733*8cc087a1SEmmanuel Vadot bias-high-impedance; 734*8cc087a1SEmmanuel Vadot }; 735*8cc087a1SEmmanuel Vadot 736*8cc087a1SEmmanuel Vadot conf-tx { 737*8cc087a1SEmmanuel Vadot pins = "MIO19"; 738*8cc087a1SEmmanuel Vadot bias-disable; 739*8cc087a1SEmmanuel Vadot }; 740*8cc087a1SEmmanuel Vadot }; 741*8cc087a1SEmmanuel Vadot 742*8cc087a1SEmmanuel Vadot pinctrl_uart1_default: uart1-default { 743*8cc087a1SEmmanuel Vadot mux { 744*8cc087a1SEmmanuel Vadot groups = "uart1_5_grp"; 745*8cc087a1SEmmanuel Vadot function = "uart1"; 746*8cc087a1SEmmanuel Vadot }; 747*8cc087a1SEmmanuel Vadot 748*8cc087a1SEmmanuel Vadot conf { 749*8cc087a1SEmmanuel Vadot groups = "uart1_5_grp"; 750*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 751*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 752*8cc087a1SEmmanuel Vadot }; 753*8cc087a1SEmmanuel Vadot 754*8cc087a1SEmmanuel Vadot conf-rx { 755*8cc087a1SEmmanuel Vadot pins = "MIO21"; 756*8cc087a1SEmmanuel Vadot bias-high-impedance; 757*8cc087a1SEmmanuel Vadot }; 758*8cc087a1SEmmanuel Vadot 759*8cc087a1SEmmanuel Vadot conf-tx { 760*8cc087a1SEmmanuel Vadot pins = "MIO20"; 761*8cc087a1SEmmanuel Vadot bias-disable; 762*8cc087a1SEmmanuel Vadot }; 763*8cc087a1SEmmanuel Vadot }; 764*8cc087a1SEmmanuel Vadot 765*8cc087a1SEmmanuel Vadot pinctrl_usb0_default: usb0-default { 766*8cc087a1SEmmanuel Vadot mux { 767*8cc087a1SEmmanuel Vadot groups = "usb0_0_grp"; 768*8cc087a1SEmmanuel Vadot function = "usb0"; 769*8cc087a1SEmmanuel Vadot }; 770*8cc087a1SEmmanuel Vadot 771*8cc087a1SEmmanuel Vadot conf { 772*8cc087a1SEmmanuel Vadot groups = "usb0_0_grp"; 773*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 774*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 775*8cc087a1SEmmanuel Vadot }; 776*8cc087a1SEmmanuel Vadot 777*8cc087a1SEmmanuel Vadot conf-rx { 778*8cc087a1SEmmanuel Vadot pins = "MIO52", "MIO53", "MIO55"; 779*8cc087a1SEmmanuel Vadot bias-high-impedance; 780*8cc087a1SEmmanuel Vadot }; 781*8cc087a1SEmmanuel Vadot 782*8cc087a1SEmmanuel Vadot conf-tx { 783*8cc087a1SEmmanuel Vadot pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", 784*8cc087a1SEmmanuel Vadot "MIO60", "MIO61", "MIO62", "MIO63"; 785*8cc087a1SEmmanuel Vadot bias-disable; 786*8cc087a1SEmmanuel Vadot }; 787*8cc087a1SEmmanuel Vadot }; 788*8cc087a1SEmmanuel Vadot 789*8cc087a1SEmmanuel Vadot pinctrl_gem3_default: gem3-default { 790*8cc087a1SEmmanuel Vadot mux { 791*8cc087a1SEmmanuel Vadot function = "ethernet3"; 792*8cc087a1SEmmanuel Vadot groups = "ethernet3_0_grp"; 793*8cc087a1SEmmanuel Vadot }; 794*8cc087a1SEmmanuel Vadot 795*8cc087a1SEmmanuel Vadot conf { 796*8cc087a1SEmmanuel Vadot groups = "ethernet3_0_grp"; 797*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 798*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 799*8cc087a1SEmmanuel Vadot }; 800*8cc087a1SEmmanuel Vadot 801*8cc087a1SEmmanuel Vadot conf-rx { 802*8cc087a1SEmmanuel Vadot pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74", 803*8cc087a1SEmmanuel Vadot "MIO75"; 804*8cc087a1SEmmanuel Vadot bias-high-impedance; 805*8cc087a1SEmmanuel Vadot low-power-disable; 806*8cc087a1SEmmanuel Vadot }; 807*8cc087a1SEmmanuel Vadot 808*8cc087a1SEmmanuel Vadot conf-tx { 809*8cc087a1SEmmanuel Vadot pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68", 810*8cc087a1SEmmanuel Vadot "MIO69"; 811*8cc087a1SEmmanuel Vadot bias-disable; 812*8cc087a1SEmmanuel Vadot low-power-enable; 813*8cc087a1SEmmanuel Vadot }; 814*8cc087a1SEmmanuel Vadot 815*8cc087a1SEmmanuel Vadot mux-mdio { 816*8cc087a1SEmmanuel Vadot function = "mdio3"; 817*8cc087a1SEmmanuel Vadot groups = "mdio3_0_grp"; 818*8cc087a1SEmmanuel Vadot }; 819*8cc087a1SEmmanuel Vadot 820*8cc087a1SEmmanuel Vadot conf-mdio { 821*8cc087a1SEmmanuel Vadot groups = "mdio3_0_grp"; 822*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 823*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 824*8cc087a1SEmmanuel Vadot bias-disable; 825*8cc087a1SEmmanuel Vadot }; 826*8cc087a1SEmmanuel Vadot }; 827*8cc087a1SEmmanuel Vadot 828*8cc087a1SEmmanuel Vadot pinctrl_can1_default: can1-default { 829*8cc087a1SEmmanuel Vadot mux { 830*8cc087a1SEmmanuel Vadot function = "can1"; 831*8cc087a1SEmmanuel Vadot groups = "can1_6_grp"; 832*8cc087a1SEmmanuel Vadot }; 833*8cc087a1SEmmanuel Vadot 834*8cc087a1SEmmanuel Vadot conf { 835*8cc087a1SEmmanuel Vadot groups = "can1_6_grp"; 836*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 837*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 838*8cc087a1SEmmanuel Vadot }; 839*8cc087a1SEmmanuel Vadot 840*8cc087a1SEmmanuel Vadot conf-rx { 841*8cc087a1SEmmanuel Vadot pins = "MIO25"; 842*8cc087a1SEmmanuel Vadot bias-high-impedance; 843*8cc087a1SEmmanuel Vadot }; 844*8cc087a1SEmmanuel Vadot 845*8cc087a1SEmmanuel Vadot conf-tx { 846*8cc087a1SEmmanuel Vadot pins = "MIO24"; 847*8cc087a1SEmmanuel Vadot bias-disable; 848*8cc087a1SEmmanuel Vadot }; 849*8cc087a1SEmmanuel Vadot }; 850*8cc087a1SEmmanuel Vadot 851*8cc087a1SEmmanuel Vadot pinctrl_sdhci1_default: sdhci1-default { 852*8cc087a1SEmmanuel Vadot mux { 853*8cc087a1SEmmanuel Vadot groups = "sdio1_0_grp"; 854*8cc087a1SEmmanuel Vadot function = "sdio1"; 855*8cc087a1SEmmanuel Vadot }; 856*8cc087a1SEmmanuel Vadot 857*8cc087a1SEmmanuel Vadot conf { 858*8cc087a1SEmmanuel Vadot groups = "sdio1_0_grp"; 859*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 860*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 861*8cc087a1SEmmanuel Vadot bias-disable; 862*8cc087a1SEmmanuel Vadot }; 863*8cc087a1SEmmanuel Vadot 864*8cc087a1SEmmanuel Vadot mux-cd { 865*8cc087a1SEmmanuel Vadot groups = "sdio1_cd_0_grp"; 866*8cc087a1SEmmanuel Vadot function = "sdio1_cd"; 867*8cc087a1SEmmanuel Vadot }; 868*8cc087a1SEmmanuel Vadot 869*8cc087a1SEmmanuel Vadot conf-cd { 870*8cc087a1SEmmanuel Vadot groups = "sdio1_cd_0_grp"; 871*8cc087a1SEmmanuel Vadot bias-high-impedance; 872*8cc087a1SEmmanuel Vadot bias-pull-up; 873*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 874*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 875*8cc087a1SEmmanuel Vadot }; 876*8cc087a1SEmmanuel Vadot 877*8cc087a1SEmmanuel Vadot mux-wp { 878*8cc087a1SEmmanuel Vadot groups = "sdio1_wp_0_grp"; 879*8cc087a1SEmmanuel Vadot function = "sdio1_wp"; 880*8cc087a1SEmmanuel Vadot }; 881*8cc087a1SEmmanuel Vadot 882*8cc087a1SEmmanuel Vadot conf-wp { 883*8cc087a1SEmmanuel Vadot groups = "sdio1_wp_0_grp"; 884*8cc087a1SEmmanuel Vadot bias-high-impedance; 885*8cc087a1SEmmanuel Vadot bias-pull-up; 886*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 887*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 888*8cc087a1SEmmanuel Vadot }; 889*8cc087a1SEmmanuel Vadot }; 890*8cc087a1SEmmanuel Vadot 891*8cc087a1SEmmanuel Vadot pinctrl_gpio_default: gpio-default { 892*8cc087a1SEmmanuel Vadot mux { 893*8cc087a1SEmmanuel Vadot function = "gpio0"; 894*8cc087a1SEmmanuel Vadot groups = "gpio0_22_grp", "gpio0_23_grp"; 895*8cc087a1SEmmanuel Vadot }; 896*8cc087a1SEmmanuel Vadot 897*8cc087a1SEmmanuel Vadot conf { 898*8cc087a1SEmmanuel Vadot groups = "gpio0_22_grp", "gpio0_23_grp"; 899*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 900*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 901*8cc087a1SEmmanuel Vadot }; 902*8cc087a1SEmmanuel Vadot 903*8cc087a1SEmmanuel Vadot mux-msp { 904*8cc087a1SEmmanuel Vadot function = "gpio0"; 905*8cc087a1SEmmanuel Vadot groups = "gpio0_13_grp", "gpio0_38_grp"; 906*8cc087a1SEmmanuel Vadot }; 907*8cc087a1SEmmanuel Vadot 908*8cc087a1SEmmanuel Vadot conf-msp { 909*8cc087a1SEmmanuel Vadot groups = "gpio0_13_grp", "gpio0_38_grp"; 910*8cc087a1SEmmanuel Vadot slew-rate = <SLEW_RATE_SLOW>; 911*8cc087a1SEmmanuel Vadot power-source = <IO_STANDARD_LVCMOS18>; 912*8cc087a1SEmmanuel Vadot }; 913*8cc087a1SEmmanuel Vadot 914*8cc087a1SEmmanuel Vadot conf-pull-up { 915*8cc087a1SEmmanuel Vadot pins = "MIO22"; 916*8cc087a1SEmmanuel Vadot bias-pull-up; 917*8cc087a1SEmmanuel Vadot }; 918*8cc087a1SEmmanuel Vadot 919*8cc087a1SEmmanuel Vadot conf-pull-none { 920*8cc087a1SEmmanuel Vadot pins = "MIO13", "MIO23", "MIO38"; 921*8cc087a1SEmmanuel Vadot bias-disable; 922*8cc087a1SEmmanuel Vadot }; 923*8cc087a1SEmmanuel Vadot }; 924*8cc087a1SEmmanuel Vadot}; 925*8cc087a1SEmmanuel Vadot 9265def4c47SEmmanuel Vadot&psgtr { 9275def4c47SEmmanuel Vadot status = "okay"; 9285def4c47SEmmanuel Vadot /* nc, sata, usb3, dp */ 9295def4c47SEmmanuel Vadot clocks = <&si5341 0 3>, <&si5341 0 2>, <&si5341 0 0>; 9305def4c47SEmmanuel Vadot clock-names = "ref1", "ref2", "ref3"; 9315def4c47SEmmanuel Vadot}; 9325def4c47SEmmanuel Vadot 933*8cc087a1SEmmanuel Vadot&qspi { 934*8cc087a1SEmmanuel Vadot status = "okay"; 935*8cc087a1SEmmanuel Vadot flash@0 { 936*8cc087a1SEmmanuel Vadot compatible = "m25p80", "jedec,spi-nor"; /* 16MB + 16MB */ 937*8cc087a1SEmmanuel Vadot #address-cells = <1>; 938*8cc087a1SEmmanuel Vadot #size-cells = <1>; 939*8cc087a1SEmmanuel Vadot reg = <0x0>; 940*8cc087a1SEmmanuel Vadot spi-tx-bus-width = <1>; 941*8cc087a1SEmmanuel Vadot spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */ 942*8cc087a1SEmmanuel Vadot spi-max-frequency = <108000000>; /* Based on DC1 spec */ 943*8cc087a1SEmmanuel Vadot }; 944*8cc087a1SEmmanuel Vadot}; 945*8cc087a1SEmmanuel Vadot 946c66ec88fSEmmanuel Vadot&rtc { 947c66ec88fSEmmanuel Vadot status = "okay"; 948c66ec88fSEmmanuel Vadot}; 949c66ec88fSEmmanuel Vadot 950c66ec88fSEmmanuel Vadot&sata { 951c66ec88fSEmmanuel Vadot status = "okay"; 952c66ec88fSEmmanuel Vadot /* SATA OOB timing settings */ 953c66ec88fSEmmanuel Vadot ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 954c66ec88fSEmmanuel Vadot ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 955c66ec88fSEmmanuel Vadot ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 956c66ec88fSEmmanuel Vadot ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 957c66ec88fSEmmanuel Vadot ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 958c66ec88fSEmmanuel Vadot ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 959c66ec88fSEmmanuel Vadot ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 960c66ec88fSEmmanuel Vadot ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 9615def4c47SEmmanuel Vadot phy-names = "sata-phy"; 9625def4c47SEmmanuel Vadot phys = <&psgtr 3 PHY_TYPE_SATA 1 1>; 963c66ec88fSEmmanuel Vadot}; 964c66ec88fSEmmanuel Vadot 965c66ec88fSEmmanuel Vadot/* SD1 with level shifter */ 966c66ec88fSEmmanuel Vadot&sdhci1 { 967c66ec88fSEmmanuel Vadot status = "okay"; 968*8cc087a1SEmmanuel Vadot /* 969*8cc087a1SEmmanuel Vadot * This property should be removed for supporting UHS mode 970*8cc087a1SEmmanuel Vadot */ 971c66ec88fSEmmanuel Vadot no-1-8-v; 972*8cc087a1SEmmanuel Vadot pinctrl-names = "default"; 973*8cc087a1SEmmanuel Vadot pinctrl-0 = <&pinctrl_sdhci1_default>; 9745def4c47SEmmanuel Vadot xlnx,mio-bank = <1>; 975c66ec88fSEmmanuel Vadot}; 976c66ec88fSEmmanuel Vadot 977c66ec88fSEmmanuel Vadot&uart0 { 978c66ec88fSEmmanuel Vadot status = "okay"; 979*8cc087a1SEmmanuel Vadot pinctrl-names = "default"; 980*8cc087a1SEmmanuel Vadot pinctrl-0 = <&pinctrl_uart0_default>; 981c66ec88fSEmmanuel Vadot}; 982c66ec88fSEmmanuel Vadot 983c66ec88fSEmmanuel Vadot&uart1 { 984c66ec88fSEmmanuel Vadot status = "okay"; 985*8cc087a1SEmmanuel Vadot pinctrl-names = "default"; 986*8cc087a1SEmmanuel Vadot pinctrl-0 = <&pinctrl_uart1_default>; 987c66ec88fSEmmanuel Vadot}; 988c66ec88fSEmmanuel Vadot 989c66ec88fSEmmanuel Vadot/* ULPI SMSC USB3320 */ 990c66ec88fSEmmanuel Vadot&usb0 { 991c66ec88fSEmmanuel Vadot status = "okay"; 992*8cc087a1SEmmanuel Vadot pinctrl-names = "default"; 993*8cc087a1SEmmanuel Vadot pinctrl-0 = <&pinctrl_usb0_default>; 994*8cc087a1SEmmanuel Vadot phy-names = "usb3-phy"; 995*8cc087a1SEmmanuel Vadot phys = <&psgtr 2 PHY_TYPE_USB3 0 2>; 996*8cc087a1SEmmanuel Vadot}; 997*8cc087a1SEmmanuel Vadot 998*8cc087a1SEmmanuel Vadot&dwc3_0 { 999*8cc087a1SEmmanuel Vadot status = "okay"; 1000c66ec88fSEmmanuel Vadot dr_mode = "host"; 1001*8cc087a1SEmmanuel Vadot snps,usb3_lpm_capable; 1002*8cc087a1SEmmanuel Vadot maximum-speed = "super-speed"; 1003c66ec88fSEmmanuel Vadot}; 1004c66ec88fSEmmanuel Vadot 1005c66ec88fSEmmanuel Vadot&watchdog0 { 1006c66ec88fSEmmanuel Vadot status = "okay"; 1007c66ec88fSEmmanuel Vadot}; 1008*8cc087a1SEmmanuel Vadot 1009*8cc087a1SEmmanuel Vadot&zynqmp_dpdma { 1010*8cc087a1SEmmanuel Vadot status = "okay"; 1011*8cc087a1SEmmanuel Vadot}; 1012*8cc087a1SEmmanuel Vadot 1013*8cc087a1SEmmanuel Vadot&zynqmp_dpsub { 1014*8cc087a1SEmmanuel Vadot status = "okay"; 1015*8cc087a1SEmmanuel Vadot phy-names = "dp-phy0", "dp-phy1"; 1016*8cc087a1SEmmanuel Vadot phys = <&psgtr 1 PHY_TYPE_DP 0 3>, 1017*8cc087a1SEmmanuel Vadot <&psgtr 0 PHY_TYPE_DP 1 3>; 1018*8cc087a1SEmmanuel Vadot}; 1019