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

imx6qdl-skov-cpu.dtsi (10085B)


      1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
      2//
      3// Copyright (C) 2020 Pengutronix, Ulrich Oelmann <kernel@pengutronix.de>
      4
      5#include <dt-bindings/gpio/gpio.h>
      6#include <dt-bindings/leds/common.h>
      7
      8/ {
      9	chosen {
     10		stdout-path = &uart2;
     11	};
     12
     13	aliases {
     14		can0 = &can1;
     15		can1 = &can2;
     16		mdio-gpio0 = &mdio;
     17		nand = &gpmi;
     18		rtc0 = &i2c_rtc;
     19		rtc1 = &snvs;
     20		usb0 = &usbh1;
     21		usb1 = &usbotg;
     22	};
     23
     24	iio-hwmon {
     25		compatible = "iio-hwmon";
     26		io-channels = <&adc 0>, /* 24V */
     27		              <&adc 1>; /* temperature */
     28	};
     29
     30	leds {
     31		compatible = "gpio-leds";
     32
     33		led-0 {
     34			label = "D1";
     35			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
     36			function = LED_FUNCTION_STATUS;
     37			default-state = "on";
     38			linux,default-trigger = "heartbeat";
     39		};
     40
     41		led-1 {
     42			label = "D2";
     43			gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
     44			default-state = "off";
     45		};
     46
     47		led-2 {
     48			label = "D3";
     49			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
     50			default-state = "on";
     51		};
     52	};
     53
     54	mdio: mdio {
     55		compatible = "microchip,mdio-smi0";
     56		pinctrl-names = "default";
     57		pinctrl-0 = <&pinctrl_mdio>;
     58		#address-cells = <1>;
     59		#size-cells = <0>;
     60		gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>,
     61			<&gpio1 22 GPIO_ACTIVE_HIGH>;
     62
     63		switch@0 {
     64			compatible = "microchip,ksz8873";
     65			pinctrl-names = "default";
     66			pinctrl-0 = <&pinctrl_switch>;
     67			interrupt-parent = <&gpio3>;
     68			interrupt = <30 IRQ_TYPE_LEVEL_HIGH>;
     69			reset-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
     70			reg = <0>;
     71
     72			ports {
     73				#address-cells = <1>;
     74				#size-cells = <0>;
     75
     76				ports@0 {
     77					reg = <0>;
     78					phy-mode = "internal";
     79					label = "lan1";
     80				};
     81
     82				ports@1 {
     83					reg = <1>;
     84					phy-mode = "internal";
     85					label = "lan2";
     86				};
     87
     88				ports@2 {
     89					reg = <2>;
     90					label = "cpu";
     91					ethernet = <&fec>;
     92					phy-mode = "rmii";
     93
     94					fixed-link {
     95						speed = <100>;
     96						full-duplex;
     97					};
     98				};
     99			};
    100		};
    101
    102	};
    103
    104	clk50m_phy: phy-clock {
    105		compatible = "fixed-clock";
    106		#clock-cells = <0>;
    107		clock-frequency = <50000000>;
    108	};
    109
    110	reg_3v3: regulator-3v3 {
    111		compatible = "regulator-fixed";
    112		vin-supply = <&reg_5v0>;
    113		regulator-name = "3v3";
    114		regulator-min-microvolt = <3300000>;
    115		regulator-max-microvolt = <3300000>;
    116	};
    117
    118	reg_5v0: regulator-5v0 {
    119		compatible = "regulator-fixed";
    120		regulator-name = "5v0";
    121		regulator-min-microvolt = <5000000>;
    122		regulator-max-microvolt = <5000000>;
    123	};
    124
    125	reg_24v0: regulator-24v0 {
    126		compatible = "regulator-fixed";
    127		regulator-name = "24v0";
    128		regulator-min-microvolt = <24000000>;
    129		regulator-max-microvolt = <24000000>;
    130	};
    131
    132	reg_can1_stby: regulator-can1-stby {
    133		compatible = "regulator-fixed";
    134		pinctrl-names = "default";
    135		pinctrl-0 = <&pinctrl_can1_stby>;
    136		regulator-name = "can1-3v3";
    137		regulator-min-microvolt = <3300000>;
    138		regulator-max-microvolt = <3300000>;
    139		gpio = <&gpio3 31 GPIO_ACTIVE_LOW>;
    140	};
    141
    142	reg_can2_stby: regulator-can2-stby {
    143		compatible = "regulator-fixed";
    144		pinctrl-names = "default";
    145		pinctrl-0 = <&pinctrl_can2_stby>;
    146		regulator-name = "can2-3v3";
    147		regulator-min-microvolt = <3300000>;
    148		regulator-max-microvolt = <3300000>;
    149		gpio = <&gpio4 11 GPIO_ACTIVE_LOW>;
    150	};
    151
    152	reg_vcc_mmc: regulator-vcc-mmc {
    153		compatible = "regulator-fixed";
    154		pinctrl-names = "default";
    155		pinctrl-0 = <&pinctrl_vcc_mmc>;
    156		vin-supply = <&reg_3v3>;
    157		regulator-name = "mmc_vcc_supply";
    158		regulator-min-microvolt = <3300000>;
    159		regulator-max-microvolt = <3300000>;
    160		regulator-always-on;
    161		regulator-boot-on;
    162		gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
    163		enable-active-high;
    164		startup-delay-us = <100>;
    165	};
    166
    167	reg_vcc_mmc_io: regulator-vcc-mmc-io {
    168		compatible = "regulator-gpio";
    169		pinctrl-names = "default";
    170		pinctrl-0 = <&pinctrl_vcc_mmc_io>;
    171		vin-supply = <&reg_5v0>;
    172		regulator-name = "mmc_io_supply";
    173		regulator-type = "voltage";
    174		regulator-min-microvolt = <1800000>;
    175		regulator-max-microvolt = <3300000>;
    176		gpios = <&gpio7 13 GPIO_ACTIVE_HIGH>;
    177		enable-active-high;
    178		states = <1800000 0x1>, <3300000 0x0>;
    179		startup-delay-us = <100>;
    180	};
    181};
    182
    183&can1 {
    184	pinctrl-names = "default";
    185	pinctrl-0 = <&pinctrl_can1>;
    186	xceiver-supply = <&reg_can1_stby>;
    187	status = "okay";
    188};
    189
    190&can2 {
    191	pinctrl-names = "default";
    192	pinctrl-0 = <&pinctrl_can2>;
    193	xceiver-supply = <&reg_can2_stby>;
    194	status = "okay";
    195};
    196
    197&ecspi1 {
    198	pinctrl-names = "default";
    199	pinctrl-0 = <&pinctrl_ecspi1>;
    200	cs-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
    201	status = "okay";
    202
    203	flash@0 {
    204		compatible = "jedec,spi-nor";
    205		spi-max-frequency = <54000000>;
    206		reg = <0>;
    207	};
    208};
    209
    210&ecspi2 {
    211	pinctrl-names = "default";
    212	pinctrl-0 = <&pinctrl_ecspi2>;
    213	cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
    214	status = "okay";
    215
    216	adc: adc@0 {
    217		compatible = "microchip,mcp3002";
    218		reg = <0>;
    219		vref-supply = <&reg_3v3>;
    220		spi-max-frequency = <1000000>;
    221		#io-channel-cells = <1>;
    222	};
    223};
    224
    225&fec {
    226	pinctrl-names = "default";
    227	pinctrl-0 = <&pinctrl_enet>;
    228	clocks = <&clks IMX6QDL_CLK_ENET>,
    229		 <&clks IMX6QDL_CLK_ENET>,
    230		 <&clk50m_phy>;
    231	clock-names = "ipg", "ahb", "ptp";
    232	phy-mode = "rmii";
    233	phy-supply = <&reg_3v3>;
    234	status = "okay";
    235
    236	fixed-link {
    237		speed = <100>;
    238		full-duplex;
    239	};
    240};
    241
    242&gpmi {
    243	pinctrl-names = "default";
    244	pinctrl-0 = <&pinctrl_gpmi_nand>;
    245	nand-on-flash-bbt;
    246	#address-cells = <1>;
    247	#size-cells = <0>;
    248	status = "okay";
    249};
    250
    251&i2c3 {
    252	pinctrl-names = "default";
    253	pinctrl-0 = <&pinctrl_i2c3>;
    254	clock-frequency = <400000>;
    255	status = "okay";
    256
    257	i2c_rtc: rtc@51 {
    258		compatible = "nxp,pcf85063";
    259		reg = <0x51>;
    260		quartz-load-femtofarads = <12500>;
    261	};
    262};
    263
    264&pwm2 {
    265	pinctrl-names = "default";
    266	pinctrl-0 = <&pinctrl_pwm2>;
    267	#pwm-cells = <2>;
    268	status = "okay";
    269};
    270
    271&pwm3 {
    272	/* used for LCD contrast control */
    273	pinctrl-names = "default";
    274	pinctrl-0 = <&pinctrl_pwm3>;
    275	status = "okay";
    276};
    277
    278&uart2 {
    279	pinctrl-names = "default";
    280	pinctrl-0 = <&pinctrl_uart2>;
    281	status = "okay";
    282};
    283
    284&usbh1 {
    285	vbus-supply = <&reg_5v0>;
    286	disable-over-current;
    287	status = "okay";
    288};
    289
    290/* no usbh2 */
    291&usbphynop1 {
    292	status = "disabled";
    293};
    294
    295/* no usbh3 */
    296&usbphynop2 {
    297	status = "disabled";
    298};
    299
    300&usbotg {
    301	vbus-supply = <&reg_5v0>;
    302	disable-over-current;
    303	status = "okay";
    304};
    305
    306&usdhc3 {
    307	pinctrl-names = "default";
    308	pinctrl-0 = <&pinctrl_usdhc3>;
    309	wp-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
    310	cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
    311	cap-power-off-card;
    312	full-pwr-cycle;
    313	bus-width = <4>;
    314	max-frequency = <50000000>;
    315	cap-sd-highspeed;
    316	sd-uhs-sdr12;
    317	sd-uhs-sdr25;
    318	sd-uhs-sdr50;
    319	sd-uhs-ddr50;
    320	mmc-ddr-1_8v;
    321	vmmc-supply = <&reg_vcc_mmc>;
    322	vqmmc-supply = <&reg_vcc_mmc_io>;
    323	status = "okay";
    324};
    325
    326&iomuxc {
    327	pinctrl_can1: can1grp {
    328		fsl,pins = <
    329			MX6QDL_PAD_GPIO_7__FLEXCAN1_TX			0x3008
    330			MX6QDL_PAD_GPIO_8__FLEXCAN1_RX			0x1b000
    331		>;
    332	};
    333
    334	pinctrl_can1_stby: can1stbygrp {
    335		fsl,pins = <
    336			MX6QDL_PAD_EIM_D31__GPIO3_IO31			0x13008
    337		>;
    338	};
    339
    340	pinctrl_can2: can2grp {
    341		fsl,pins = <
    342			MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX		0x3008
    343			MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX		0x1b000
    344		>;
    345	};
    346
    347	pinctrl_can2_stby: can2stbygrp {
    348		fsl,pins = <
    349			MX6QDL_PAD_KEY_ROW2__GPIO4_IO11			0x13008
    350		>;
    351	};
    352
    353	pinctrl_ecspi1: ecspi1grp {
    354		fsl,pins = <
    355			MX6QDL_PAD_EIM_D17__ECSPI1_MISO			0x100b1
    356			MX6QDL_PAD_EIM_D18__ECSPI1_MOSI			0xb1
    357			MX6QDL_PAD_EIM_D16__ECSPI1_SCLK			0xb1
    358			/* *no* external pull up */
    359			MX6QDL_PAD_EIM_D24__GPIO3_IO24			0x58
    360		>;
    361	};
    362
    363	pinctrl_ecspi2: ecspi2grp {
    364		fsl,pins = <
    365			MX6QDL_PAD_EIM_OE__ECSPI2_MISO			0x100b1
    366			MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI			0xb1
    367			MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK			0xb1
    368			/* external pull up */
    369			MX6QDL_PAD_EIM_RW__GPIO2_IO26			0x58
    370		>;
    371	};
    372
    373	pinctrl_enet: enetgrp {
    374		fsl,pins = <
    375			/* RMII 50 MHz */
    376			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN		0x100f5
    377			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN		0x100f5
    378			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0		0x100c0
    379			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1		0x100c0
    380			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0		0x100f5
    381			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1		0x100f5
    382			MX6QDL_PAD_GPIO_16__ENET_REF_CLK		0x1b0b0
    383			MX6QDL_PAD_GPIO_5__GPIO1_IO05			0x58
    384			/* GPIO for "link active" */
    385			MX6QDL_PAD_ENET_RX_ER__GPIO1_IO24		0x3038
    386		>;
    387	};
    388
    389	pinctrl_gpmi_nand: gpminandgrp {
    390		fsl,pins = <
    391			MX6QDL_PAD_NANDF_CLE__NAND_CLE			0xb0b1
    392			MX6QDL_PAD_NANDF_ALE__NAND_ALE			0xb0b1
    393			MX6QDL_PAD_NANDF_RB0__NAND_READY_B		0xb000
    394			MX6QDL_PAD_NANDF_CS0__NAND_CE0_B		0xb0b1
    395			MX6QDL_PAD_NANDF_CS1__NAND_CE1_B		0xb0b1
    396			MX6QDL_PAD_SD4_CMD__NAND_RE_B			0xb0b1
    397			MX6QDL_PAD_SD4_CLK__NAND_WE_B			0xb0b1
    398			MX6QDL_PAD_NANDF_D0__NAND_DATA00		0xb0b1
    399			MX6QDL_PAD_NANDF_D1__NAND_DATA01		0xb0b1
    400			MX6QDL_PAD_NANDF_D2__NAND_DATA02		0xb0b1
    401			MX6QDL_PAD_NANDF_D3__NAND_DATA03		0xb0b1
    402			MX6QDL_PAD_NANDF_D4__NAND_DATA04		0xb0b1
    403			MX6QDL_PAD_NANDF_D5__NAND_DATA05		0xb0b1
    404			MX6QDL_PAD_NANDF_D6__NAND_DATA06		0xb0b1
    405			MX6QDL_PAD_NANDF_D7__NAND_DATA07		0xb0b1
    406		>;
    407	};
    408
    409	pinctrl_i2c3: i2c3grp {
    410		fsl,pins = <
    411			/* external 10 k pull up */
    412			MX6QDL_PAD_GPIO_3__I2C3_SCL		0x40010878
    413			/* external 10 k pull up */
    414			MX6QDL_PAD_GPIO_6__I2C3_SDA		0x40010878
    415		>;
    416	};
    417
    418	pinctrl_mdio: mdiogrp {
    419		fsl,pins = <
    420			MX6QDL_PAD_ENET_MDIO__GPIO1_IO22		0x100b1
    421			MX6QDL_PAD_ENET_MDC__GPIO1_IO31			0xb1
    422		>;
    423	};
    424
    425	pinctrl_pwm2: pwm2grp {
    426		fsl,pins = <
    427			MX6QDL_PAD_GPIO_1__PWM2_OUT			0x58
    428		>;
    429	};
    430
    431	pinctrl_pwm3: pwm3grp {
    432		fsl,pins = <
    433			MX6QDL_PAD_SD1_DAT1__PWM3_OUT			0x58
    434		>;
    435	};
    436
    437	pinctrl_switch: switchgrp {
    438		fsl,pins = <
    439			MX6QDL_PAD_EIM_D30__GPIO3_IO30			0xb0
    440		>;
    441	};
    442
    443	pinctrl_uart2: uart2grp {
    444		fsl,pins = <
    445			MX6QDL_PAD_EIM_D26__UART2_TX_DATA		0x1b0b1
    446			MX6QDL_PAD_EIM_D27__UART2_RX_DATA		0x1b0b1
    447		>;
    448	};
    449
    450	pinctrl_usdhc3: usdhc3grp {
    451		fsl,pins = <
    452			/* SoC internal pull up required */
    453			MX6QDL_PAD_SD3_CMD__SD3_CMD			0x17059
    454			MX6QDL_PAD_SD3_CLK__SD3_CLK			0x10059
    455			MX6QDL_PAD_SD3_DAT0__SD3_DATA0			0x17059
    456			MX6QDL_PAD_SD3_DAT1__SD3_DATA1			0x17059
    457			MX6QDL_PAD_SD3_DAT2__SD3_DATA2			0x17059
    458			MX6QDL_PAD_SD3_DAT3__SD3_DATA3			0x17059
    459			/* SoC internal pull up required */
    460			MX6QDL_PAD_SD3_DAT4__GPIO7_IO01			0x1b040
    461			/* SoC internal pull up required */
    462			MX6QDL_PAD_SD3_DAT5__GPIO7_IO00			0x1b040
    463		>;
    464	};
    465
    466	pinctrl_vcc_mmc: vccmmcgrp {
    467		fsl,pins = <
    468			MX6QDL_PAD_SD3_RST__GPIO7_IO08			0x58
    469		>;
    470	};
    471
    472	pinctrl_vcc_mmc_io: vccmmciogrp {
    473		fsl,pins = <
    474			MX6QDL_PAD_GPIO_18__GPIO7_IO13			0x58
    475		>;
    476	};
    477};