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

stm32mp151a-prtt1c.dts (6852B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
      2/*
      3 * Copyright (C) Protonic Holland
      4 * Author: David Jander <david@protonic.nl>
      5 */
      6/dts-v1/;
      7
      8#include "stm32mp151a-prtt1l.dtsi"
      9
     10/ {
     11	model = "Protonic PRTT1C";
     12	compatible = "prt,prtt1c", "st,stm32mp151";
     13
     14	clock_ksz9031: clock-ksz9031 {
     15		compatible = "fixed-clock";
     16		#clock-cells = <0>;
     17		clock-frequency = <25000000>;
     18	};
     19
     20	clock_sja1105: clock-sja1105 {
     21		compatible = "fixed-clock";
     22		#clock-cells = <0>;
     23		clock-frequency = <25000000>;
     24	};
     25
     26	mdio0: mdio {
     27		compatible = "virtual,mdio-gpio";
     28		#address-cells = <1>;
     29		#size-cells = <0>;
     30		gpios = <&gpioc 1 GPIO_ACTIVE_HIGH
     31			 &gpioa 2 GPIO_ACTIVE_HIGH>;
     32
     33	};
     34
     35	wifi_pwrseq: wifi-pwrseq {
     36		compatible = "mmc-pwrseq-simple";
     37		reset-gpios = <&gpiod 8 GPIO_ACTIVE_LOW>;
     38	};
     39};
     40
     41&ethernet0 {
     42	fixed-link {
     43		speed = <100>;
     44		full-duplex;
     45	};
     46};
     47
     48&gpioa {
     49	gpio-line-names =
     50		"", "", "", "PHY0_nRESET", "PHY0_nINT", "", "", "",
     51		"", "", "", "", "", "", "", "SPI1_nSS";
     52};
     53
     54&gpiod {
     55	gpio-line-names =
     56		"", "", "", "", "", "", "", "",
     57		"WFM_RESET", "", "", "", "", "", "", "";
     58};
     59
     60&gpioe {
     61	gpio-line-names =
     62		"SDMMC2_nRESET", "", "", "", "", "", "SPI1_nRESET", "",
     63		"", "", "", "", "WFM_nIRQ", "", "", "";
     64};
     65
     66&gpiog {
     67	gpio-line-names =
     68		"", "", "", "", "", "", "", "PHY3_nINT",
     69		"PHY1_nINT", "PHY3_nRESET", "PHY2_nINT", "PHY2_nRESET",
     70		"PHY1_nRESET", "SPE1_PWR", "SPE0_PWR", "";
     71};
     72
     73&mdio0 {
     74	/* All this DP83TD510E PHYs can't be probed before switch@0 is
     75	 * probed so we need to use compatible with PHYid
     76	 */
     77	/* TI DP83TD510E */
     78	t1l0_phy: ethernet-phy@6 {
     79		compatible = "ethernet-phy-id2000.0181";
     80		reg = <6>;
     81		interrupts-extended = <&gpioa 4 IRQ_TYPE_LEVEL_LOW>;
     82		reset-gpios = <&gpioa 3 GPIO_ACTIVE_LOW>;
     83		reset-assert-us = <10>;
     84		reset-deassert-us = <35>;
     85	};
     86
     87	/* TI DP83TD510E */
     88	t1l1_phy: ethernet-phy@7 {
     89		compatible = "ethernet-phy-id2000.0181";
     90		reg = <7>;
     91		interrupts-extended = <&gpiog 8 IRQ_TYPE_LEVEL_LOW>;
     92		reset-gpios = <&gpiog 12 GPIO_ACTIVE_LOW>;
     93		reset-assert-us = <10>;
     94		reset-deassert-us = <35>;
     95	};
     96
     97	/* TI DP83TD510E */
     98	t1l2_phy: ethernet-phy@10 {
     99		compatible = "ethernet-phy-id2000.0181";
    100		reg = <10>;
    101		interrupts-extended = <&gpiog 10 IRQ_TYPE_LEVEL_LOW>;
    102		reset-gpios = <&gpiog 11 GPIO_ACTIVE_LOW>;
    103		reset-assert-us = <10>;
    104		reset-deassert-us = <35>;
    105	};
    106
    107	/* Micrel KSZ9031 */
    108	rj45_phy: ethernet-phy@2 {
    109		reg = <2>;
    110		interrupts-extended = <&gpiog 7 IRQ_TYPE_LEVEL_LOW>;
    111		reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>;
    112		reset-assert-us = <10000>;
    113		reset-deassert-us = <1000>;
    114
    115		clocks = <&clock_ksz9031>;
    116	};
    117};
    118
    119&qspi {
    120	status = "disabled";
    121};
    122
    123&sdmmc2 {
    124	pinctrl-names = "default", "opendrain", "sleep";
    125	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
    126	pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>;
    127	pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>;
    128	non-removable;
    129	no-sd;
    130	no-sdio;
    131	no-1-8-v;
    132	st,neg-edge;
    133	bus-width = <8>;
    134	vmmc-supply = <&reg_3v3>;
    135	vqmmc-supply = <&reg_3v3>;
    136	status = "okay";
    137};
    138
    139&sdmmc2_b4_od_pins_a {
    140	pins1 {
    141		pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
    142			 <STM32_PINMUX('B', 7, AF10)>, /* SDMMC2_D1 */
    143			 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
    144			 <STM32_PINMUX('B', 4, AF9)>; /* SDMMC2_D3 */
    145	};
    146};
    147
    148&sdmmc2_b4_pins_a {
    149	pins1 {
    150		pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
    151			 <STM32_PINMUX('B', 7, AF10)>, /* SDMMC2_D1 */
    152			 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
    153			 <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */
    154			 <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
    155	};
    156};
    157
    158&sdmmc2_b4_sleep_pins_a {
    159	pins {
    160		pinmux = <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */
    161			 <STM32_PINMUX('B', 7, ANALOG)>, /* SDMMC2_D1 */
    162			 <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */
    163			 <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */
    164			 <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */
    165			 <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */
    166	};
    167};
    168
    169&sdmmc2_d47_pins_a {
    170	pins {
    171		pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
    172			 <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
    173			 <STM32_PINMUX('C', 6, AF10)>, /* SDMMC2_D6 */
    174			 <STM32_PINMUX('C', 7, AF10)>; /* SDMMC2_D7 */
    175	};
    176};
    177
    178&sdmmc2_d47_sleep_pins_a {
    179	pins {
    180		pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */
    181			 <STM32_PINMUX('A', 9, ANALOG)>, /* SDMMC2_D5 */
    182			 <STM32_PINMUX('C', 6, ANALOG)>, /* SDMMC2_D6 */
    183			 <STM32_PINMUX('D', 3, ANALOG)>; /* SDMMC2_D7 */
    184	};
    185};
    186
    187&sdmmc3 {
    188	pinctrl-names = "default", "opendrain", "sleep";
    189	pinctrl-0 = <&sdmmc3_b4_pins_b>;
    190	pinctrl-1 = <&sdmmc3_b4_od_pins_b>;
    191	pinctrl-2 = <&sdmmc3_b4_sleep_pins_b>;
    192	non-removable;
    193	no-1-8-v;
    194	st,neg-edge;
    195	bus-width = <4>;
    196	vmmc-supply = <&reg_3v3>;
    197	vqmmc-supply = <&reg_3v3>;
    198	mmc-pwrseq = <&wifi_pwrseq>;
    199	#address-cells = <1>;
    200	#size-cells = <0>;
    201	status = "okay";
    202
    203	mmc@1 {
    204		compatible = "prt,prtt1c-wfm200", "silabs,wf200";
    205		reg = <1>;
    206	};
    207};
    208
    209&sdmmc3_b4_od_pins_b {
    210	pins1 {
    211		pinmux = <STM32_PINMUX('D', 1, AF10)>, /* SDMMC3_D0 */
    212			 <STM32_PINMUX('D', 4, AF10)>, /* SDMMC3_D1 */
    213			 <STM32_PINMUX('D', 5, AF10)>, /* SDMMC3_D2 */
    214			 <STM32_PINMUX('D', 7, AF10)>; /* SDMMC3_D3 */
    215	};
    216};
    217
    218&sdmmc3_b4_pins_b {
    219	pins1 {
    220		pinmux = <STM32_PINMUX('D', 1, AF10)>, /* SDMMC3_D0 */
    221			 <STM32_PINMUX('D', 4, AF10)>, /* SDMMC3_D1 */
    222			 <STM32_PINMUX('D', 5, AF10)>, /* SDMMC3_D2 */
    223			 <STM32_PINMUX('D', 7, AF10)>, /* SDMMC3_D3 */
    224			 <STM32_PINMUX('D', 0, AF10)>; /* SDMMC3_CMD */
    225	};
    226};
    227
    228&sdmmc3_b4_sleep_pins_b {
    229	pins {
    230		pinmux = <STM32_PINMUX('D', 1, ANALOG)>, /* SDMMC3_D0 */
    231			 <STM32_PINMUX('D', 4, ANALOG)>, /* SDMMC3_D1 */
    232			 <STM32_PINMUX('D', 5, ANALOG)>, /* SDMMC3_D2 */
    233			 <STM32_PINMUX('D', 7, ANALOG)>, /* SDMMC3_D3 */
    234			 <STM32_PINMUX('G', 15, ANALOG)>, /* SDMMC3_CK */
    235			 <STM32_PINMUX('D', 0, ANALOG)>; /* SDMMC3_CMD */
    236	};
    237};
    238
    239&spi1 {
    240	pinctrl-0 = <&spi1_pins_b>;
    241	pinctrl-names = "default";
    242	cs-gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
    243	/delete-property/dmas;
    244	/delete-property/dma-names;
    245	status = "okay";
    246
    247	switch@0 {
    248		compatible = "nxp,sja1105q";
    249		reg = <0>;
    250		spi-max-frequency = <4000000>;
    251		spi-rx-delay-us = <1>;
    252		spi-tx-delay-us = <1>;
    253		spi-cpha;
    254
    255		reset-gpios = <&gpioe 6 GPIO_ACTIVE_LOW>;
    256
    257		clocks = <&clock_sja1105>;
    258
    259		ports {
    260			#address-cells = <1>;
    261			#size-cells = <0>;
    262
    263			port@0 {
    264				reg = <0>;
    265				label = "t1l0";
    266				phy-mode = "rmii";
    267				phy-handle = <&t1l0_phy>;
    268			};
    269
    270			port@1 {
    271				reg = <1>;
    272				label = "t1l1";
    273				phy-mode = "rmii";
    274				phy-handle = <&t1l1_phy>;
    275			};
    276
    277			port@2 {
    278				reg = <2>;
    279				label = "t1l2";
    280				phy-mode = "rmii";
    281				phy-handle = <&t1l2_phy>;
    282			};
    283
    284			port@3 {
    285				reg = <3>;
    286				label = "rj45";
    287				phy-handle = <&rj45_phy>;
    288				phy-mode = "rgmii-id";
    289			};
    290
    291			port@4 {
    292				reg = <4>;
    293				label = "cpu";
    294				ethernet = <&ethernet0>;
    295				phy-mode = "rmii";
    296
    297				fixed-link {
    298					speed = <100>;
    299					full-duplex;
    300				};
    301			};
    302		};
    303	};
    304};