cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

zynqmp-zcu100-revC.dts (11577B)


      1// SPDX-License-Identifier: GPL-2.0+
      2/*
      3 * dts file for Xilinx ZynqMP ZCU100 revC
      4 *
      5 * (C) Copyright 2016 - 2021, Xilinx, Inc.
      6 *
      7 * Michal Simek <michal.simek@xilinx.com>
      8 * Nathalie Chan King Choy
      9 */
     10
     11/dts-v1/;
     12
     13#include "zynqmp.dtsi"
     14#include "zynqmp-clk-ccf.dtsi"
     15#include <dt-bindings/input/input.h>
     16#include <dt-bindings/interrupt-controller/irq.h>
     17#include <dt-bindings/gpio/gpio.h>
     18#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
     19#include <dt-bindings/phy/phy.h>
     20
     21/ {
     22	model = "ZynqMP ZCU100 RevC";
     23	compatible = "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100", "xlnx,zynqmp";
     24
     25	aliases {
     26		i2c0 = &i2c1;
     27		rtc0 = &rtc;
     28		serial0 = &uart1;
     29		serial1 = &uart0;
     30		serial2 = &dcc;
     31		spi0 = &spi0;
     32		spi1 = &spi1;
     33		usb0 = &usb0;
     34		usb1 = &usb1;
     35		mmc0 = &sdhci0;
     36		mmc1 = &sdhci1;
     37	};
     38
     39	chosen {
     40		bootargs = "earlycon";
     41		stdout-path = "serial0:115200n8";
     42	};
     43
     44	memory@0 {
     45		device_type = "memory";
     46		reg = <0x0 0x0 0x0 0x80000000>;
     47	};
     48
     49	gpio-keys {
     50		compatible = "gpio-keys";
     51		autorepeat;
     52		sw4 {
     53			label = "sw4";
     54			gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
     55			linux,code = <KEY_POWER>;
     56			wakeup-source;
     57			autorepeat;
     58		};
     59	};
     60
     61	leds {
     62		compatible = "gpio-leds";
     63		led-ds2 {
     64			label = "ds2";
     65			gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
     66			linux,default-trigger = "heartbeat";
     67		};
     68
     69		led-ds3 {
     70			label = "ds3";
     71			gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
     72			linux,default-trigger = "phy0tx"; /* WLAN tx */
     73			default-state = "off";
     74		};
     75
     76		led-ds4 {
     77			label = "ds4";
     78			gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
     79			linux,default-trigger = "phy0rx"; /* WLAN rx */
     80			default-state = "off";
     81		};
     82
     83		led-ds5 {
     84			label = "ds5";
     85			gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
     86			linux,default-trigger = "bluetooth-power";
     87		};
     88
     89		vbus-det { /* U5 USB5744 VBUS detection via MIO25 */
     90			label = "vbus_det";
     91			gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
     92			default-state = "on";
     93		};
     94	};
     95
     96	wmmcsdio_fixed: fixedregulator-mmcsdio {
     97		compatible = "regulator-fixed";
     98		regulator-name = "wmmcsdio_fixed";
     99		regulator-min-microvolt = <3300000>;
    100		regulator-max-microvolt = <3300000>;
    101		regulator-always-on;
    102		regulator-boot-on;
    103	};
    104
    105	sdio_pwrseq: sdio-pwrseq {
    106		compatible = "mmc-pwrseq-simple";
    107		reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */
    108		post-power-on-delay-ms = <10>;
    109	};
    110
    111	ina226 {
    112		compatible = "iio-hwmon";
    113		io-channels = <&u35 0>, <&u35 1>, <&u35 2>, <&u35 3>;
    114	};
    115
    116	si5335_0: si5335_0 { /* clk0_usb - u23 */
    117		compatible = "fixed-clock";
    118		#clock-cells = <0>;
    119		clock-frequency = <26000000>;
    120	};
    121
    122	si5335_1: si5335_1 { /* clk1_dp - u23 */
    123		compatible = "fixed-clock";
    124		#clock-cells = <0>;
    125		clock-frequency = <27000000>;
    126	};
    127};
    128
    129&dcc {
    130	status = "okay";
    131};
    132
    133&gpio {
    134	status = "okay";
    135	gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL",
    136			  "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS",
    137			  "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1",
    138			  "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1",
    139			  "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT",
    140			  "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE",
    141			  "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL",
    142			  "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C",
    143			  "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E",
    144			  "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3",
    145			  "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2",
    146			  "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3",
    147			  "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK",
    148			  "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1",
    149			  "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6",
    150			  "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */
    151			  "", "",
    152			  "", "", "", "", "", "", "", "", "", "",
    153			  "", "", "", "", "", "", "", "", "", "",
    154			  "", "", "", "", "", "", "", "", "", "",
    155			  "", "", "", "", "", "", "", "", "", "",
    156			  "", "", "", "", "", "", "", "", "", "",
    157			  "", "", "", "", "", "", "", "", "", "",
    158			  "", "", "", "", "", "", "", "", "", "",
    159			  "", "", "", "", "", "", "", "", "", "",
    160			  "", "", "", "", "", "", "", "", "", "",
    161			  "", "", "", "";
    162};
    163
    164&i2c1 {
    165	status = "okay";
    166	pinctrl-names = "default", "gpio";
    167	pinctrl-0 = <&pinctrl_i2c1_default>;
    168	pinctrl-1 = <&pinctrl_i2c1_gpio>;
    169	scl-gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
    170	sda-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
    171	clock-frequency = <100000>;
    172	i2c-mux@75 { /* u11 */
    173		compatible = "nxp,pca9548";
    174		#address-cells = <1>;
    175		#size-cells = <0>;
    176		reg = <0x75>;
    177		i2csw_0: i2c@0 {
    178			#address-cells = <1>;
    179			#size-cells = <0>;
    180			reg = <0>;
    181			label = "LS-I2C0";
    182		};
    183		i2csw_1: i2c@1 {
    184			#address-cells = <1>;
    185			#size-cells = <0>;
    186			reg = <1>;
    187			label = "LS-I2C1";
    188		};
    189		i2csw_2: i2c@2 {
    190			#address-cells = <1>;
    191			#size-cells = <0>;
    192			reg = <2>;
    193			label = "HS-I2C2";
    194		};
    195		i2csw_3: i2c@3 {
    196			#address-cells = <1>;
    197			#size-cells = <0>;
    198			reg = <3>;
    199			label = "HS-I2C3";
    200		};
    201		i2csw_4: i2c@4 {
    202			#address-cells = <1>;
    203			#size-cells = <0>;
    204			reg = <0x4>;
    205
    206			pmic: pmic@5e { /* Custom TI PMIC u33 */
    207				compatible = "ti,tps65086";
    208				reg = <0x5e>;
    209				interrupt-parent = <&gpio>;
    210				interrupts = <77 IRQ_TYPE_LEVEL_LOW>;
    211				#gpio-cells = <2>;
    212				gpio-controller;
    213			};
    214		};
    215		i2csw_5: i2c@5 {
    216			#address-cells = <1>;
    217			#size-cells = <0>;
    218			reg = <5>;
    219			/* PS_PMBUS */
    220			u35: ina226@40 { /* u35 */
    221				compatible = "ti,ina226";
    222				#io-channel-cells = <1>;
    223				reg = <0x40>;
    224				shunt-resistor = <10000>;
    225				/* MIO31 is alert which should be routed to PMUFW */
    226			};
    227		};
    228		i2csw_6: i2c@6 {
    229			#address-cells = <1>;
    230			#size-cells = <0>;
    231			reg = <6>;
    232			/*
    233			 * Not Connected
    234			 */
    235		};
    236		i2csw_7: i2c@7 {
    237			#address-cells = <1>;
    238			#size-cells = <0>;
    239			reg = <7>;
    240			/*
    241			 * usb5744 (DNP) - U5
    242			 * 100kHz - this is default freq for us
    243			 */
    244		};
    245	};
    246};
    247
    248&pinctrl0 {
    249	status = "okay";
    250	pinctrl_i2c1_default: i2c1-default {
    251		mux {
    252			groups = "i2c1_1_grp";
    253			function = "i2c1";
    254		};
    255
    256		conf {
    257			groups = "i2c1_1_grp";
    258			bias-pull-up;
    259			slew-rate = <SLEW_RATE_SLOW>;
    260			power-source = <IO_STANDARD_LVCMOS18>;
    261		};
    262	};
    263
    264	pinctrl_i2c1_gpio: i2c1-gpio {
    265		mux {
    266			groups = "gpio0_4_grp", "gpio0_5_grp";
    267			function = "gpio0";
    268		};
    269
    270		conf {
    271			groups = "gpio0_4_grp", "gpio0_5_grp";
    272			slew-rate = <SLEW_RATE_SLOW>;
    273			power-source = <IO_STANDARD_LVCMOS18>;
    274		};
    275	};
    276
    277	pinctrl_sdhci0_default: sdhci0-default {
    278		mux {
    279			groups = "sdio0_3_grp";
    280			function = "sdio0";
    281		};
    282
    283		conf {
    284			groups = "sdio0_3_grp";
    285			slew-rate = <SLEW_RATE_SLOW>;
    286			power-source = <IO_STANDARD_LVCMOS18>;
    287			bias-disable;
    288		};
    289
    290		mux-cd {
    291			groups = "sdio0_cd_0_grp";
    292			function = "sdio0_cd";
    293		};
    294
    295		conf-cd {
    296			groups = "sdio0_cd_0_grp";
    297			bias-high-impedance;
    298			bias-pull-up;
    299			slew-rate = <SLEW_RATE_SLOW>;
    300			power-source = <IO_STANDARD_LVCMOS18>;
    301		};
    302	};
    303
    304	pinctrl_sdhci1_default: sdhci1-default {
    305		mux {
    306			groups = "sdio1_2_grp";
    307			function = "sdio1";
    308		};
    309
    310		conf {
    311			groups = "sdio1_2_grp";
    312			slew-rate = <SLEW_RATE_SLOW>;
    313			power-source = <IO_STANDARD_LVCMOS18>;
    314			bias-disable;
    315		};
    316	};
    317
    318	pinctrl_spi0_default: spi0-default {
    319		mux {
    320			groups = "spi0_3_grp";
    321			function = "spi0";
    322		};
    323
    324		conf {
    325			groups = "spi0_3_grp";
    326			bias-disable;
    327			slew-rate = <SLEW_RATE_SLOW>;
    328			power-source = <IO_STANDARD_LVCMOS18>;
    329		};
    330
    331		mux-cs {
    332			groups = "spi0_ss_9_grp";
    333			function = "spi0_ss";
    334		};
    335
    336		conf-cs {
    337			groups = "spi0_ss_9_grp";
    338			bias-disable;
    339		};
    340
    341	};
    342
    343	pinctrl_spi1_default: spi1-default {
    344		mux {
    345			groups = "spi1_0_grp";
    346			function = "spi1";
    347		};
    348
    349		conf {
    350			groups = "spi1_0_grp";
    351			bias-disable;
    352			slew-rate = <SLEW_RATE_SLOW>;
    353			power-source = <IO_STANDARD_LVCMOS18>;
    354		};
    355
    356		mux-cs {
    357			groups = "spi1_ss_0_grp";
    358			function = "spi1_ss";
    359		};
    360
    361		conf-cs {
    362			groups = "spi1_ss_0_grp";
    363			bias-disable;
    364		};
    365
    366	};
    367
    368	pinctrl_uart0_default: uart0-default {
    369		mux {
    370			groups = "uart0_0_grp";
    371			function = "uart0";
    372		};
    373
    374		conf {
    375			groups = "uart0_0_grp";
    376			slew-rate = <SLEW_RATE_SLOW>;
    377			power-source = <IO_STANDARD_LVCMOS18>;
    378		};
    379
    380		conf-rx {
    381			pins = "MIO3";
    382			bias-high-impedance;
    383		};
    384
    385		conf-tx {
    386			pins = "MIO2";
    387			bias-disable;
    388		};
    389	};
    390
    391	pinctrl_uart1_default: uart1-default {
    392		mux {
    393			groups = "uart1_0_grp";
    394			function = "uart1";
    395		};
    396
    397		conf {
    398			groups = "uart1_0_grp";
    399			slew-rate = <SLEW_RATE_SLOW>;
    400			power-source = <IO_STANDARD_LVCMOS18>;
    401		};
    402
    403		conf-rx {
    404			pins = "MIO1";
    405			bias-high-impedance;
    406		};
    407
    408		conf-tx {
    409			pins = "MIO0";
    410			bias-disable;
    411		};
    412	};
    413
    414	pinctrl_usb0_default: usb0-default {
    415		mux {
    416			groups = "usb0_0_grp";
    417			function = "usb0";
    418		};
    419
    420		conf {
    421			groups = "usb0_0_grp";
    422			slew-rate = <SLEW_RATE_SLOW>;
    423			power-source = <IO_STANDARD_LVCMOS18>;
    424		};
    425
    426		conf-rx {
    427			pins = "MIO52", "MIO53", "MIO55";
    428			bias-high-impedance;
    429		};
    430
    431		conf-tx {
    432			pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
    433			       "MIO60", "MIO61", "MIO62", "MIO63";
    434			bias-disable;
    435		};
    436	};
    437
    438	pinctrl_usb1_default: usb1-default {
    439		mux {
    440			groups = "usb1_0_grp";
    441			function = "usb1";
    442		};
    443
    444		conf {
    445			groups = "usb1_0_grp";
    446			slew-rate = <SLEW_RATE_SLOW>;
    447			power-source = <IO_STANDARD_LVCMOS18>;
    448		};
    449
    450		conf-rx {
    451			pins = "MIO64", "MIO65", "MIO67";
    452			bias-high-impedance;
    453		};
    454
    455		conf-tx {
    456			pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
    457			       "MIO72", "MIO73", "MIO74", "MIO75";
    458			bias-disable;
    459		};
    460	};
    461};
    462
    463&psgtr {
    464	status = "okay";
    465	/* usb3, dp */
    466	clocks = <&si5335_0>, <&si5335_1>;
    467	clock-names = "ref0", "ref1";
    468};
    469
    470&rtc {
    471	status = "okay";
    472};
    473
    474/* SD0 only supports 3.3V, no level shifter */
    475&sdhci0 {
    476	status = "okay";
    477	no-1-8-v;
    478	disable-wp;
    479	pinctrl-names = "default";
    480	pinctrl-0 = <&pinctrl_sdhci0_default>;
    481	xlnx,mio-bank = <0>;
    482};
    483
    484&sdhci1 {
    485	status = "okay";
    486	bus-width = <0x4>;
    487	pinctrl-names = "default";
    488	pinctrl-0 = <&pinctrl_sdhci1_default>;
    489	xlnx,mio-bank = <0>;
    490	non-removable;
    491	disable-wp;
    492	cap-power-off-card;
    493	mmc-pwrseq = <&sdio_pwrseq>;
    494	vqmmc-supply = <&wmmcsdio_fixed>;
    495	#address-cells = <1>;
    496	#size-cells = <0>;
    497	wlcore: wifi@2 {
    498		compatible = "ti,wl1831";
    499		reg = <2>;
    500		interrupt-parent = <&gpio>;
    501		interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */
    502	};
    503};
    504
    505&spi0 { /* Low Speed connector */
    506	status = "okay";
    507	label = "LS-SPI0";
    508	num-cs = <1>;
    509	pinctrl-names = "default";
    510	pinctrl-0 = <&pinctrl_spi0_default>;
    511};
    512
    513&spi1 { /* High Speed connector */
    514	status = "okay";
    515	label = "HS-SPI1";
    516	num-cs = <1>;
    517	pinctrl-names = "default";
    518	pinctrl-0 = <&pinctrl_spi1_default>;
    519};
    520
    521&uart0 {
    522	status = "okay";
    523	pinctrl-names = "default";
    524	pinctrl-0 = <&pinctrl_uart0_default>;
    525	bluetooth {
    526		compatible = "ti,wl1831-st";
    527		enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
    528	};
    529};
    530
    531&uart1 {
    532	status = "okay";
    533	pinctrl-names = "default";
    534	pinctrl-0 = <&pinctrl_uart1_default>;
    535};
    536
    537/* ULPI SMSC USB3320 */
    538&usb0 {
    539	status = "okay";
    540	pinctrl-names = "default";
    541	pinctrl-0 = <&pinctrl_usb0_default>;
    542	phy-names = "usb3-phy";
    543	phys = <&psgtr 2 PHY_TYPE_USB3 0 0>;
    544};
    545
    546&dwc3_0 {
    547	status = "okay";
    548	dr_mode = "peripheral";
    549	maximum-speed = "super-speed";
    550};
    551
    552/* ULPI SMSC USB3320 */
    553&usb1 {
    554	status = "okay";
    555	pinctrl-names = "default";
    556	pinctrl-0 = <&pinctrl_usb1_default>;
    557	phy-names = "usb3-phy";
    558	phys = <&psgtr 3 PHY_TYPE_USB3 1 0>;
    559};
    560
    561&dwc3_1 {
    562	status = "okay";
    563	dr_mode = "host";
    564	maximum-speed = "super-speed";
    565};
    566
    567&watchdog0 {
    568	status = "okay";
    569};
    570
    571&zynqmp_dpdma {
    572	status = "okay";
    573};
    574
    575&zynqmp_dpsub {
    576	status = "okay";
    577	phy-names = "dp-phy0", "dp-phy1";
    578	phys = <&psgtr 1 PHY_TYPE_DP 0 1>,
    579	       <&psgtr 0 PHY_TYPE_DP 1 1>;
    580};