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

stm32mp157c-emstamp-argon.dtsi (10829B)


      1// SPDX-License-Identifier: (GPL-2.0 or MIT)
      2//
      3// Copyright (c) 2021 emtrion GmbH
      4// Author: Reinhold Müller <reinhold.mueller@emtrion.de>.
      5//
      6
      7#include "stm32mp157.dtsi"
      8#include "stm32mp15xc.dtsi"
      9#include "stm32mp15-pinctrl.dtsi"
     10#include "stm32mp15xxac-pinctrl.dtsi"
     11#include <dt-bindings/gpio/gpio.h>
     12#include <dt-bindings/mfd/st,stpmic1.h>
     13
     14/ {
     15	aliases {
     16		ethernet0 = &ethernet0;
     17		serial0 = &uart4;
     18		serial1 = &usart2;
     19		serial2 = &usart3;
     20	};
     21
     22	chosen {
     23		stdout-path = "serial0:115200n8";
     24	};
     25
     26	memory@c0000000 {
     27		device_type = "memory";
     28		reg = <0xc0000000 0x20000000>;
     29	};
     30
     31	reserved-memory {
     32		#address-cells = <1>;
     33		#size-cells = <1>;
     34		ranges;
     35
     36		mcuram2: mcuram2@10000000 {
     37			compatible = "shared-dma-pool";
     38			reg = <0x10000000 0x40000>;
     39			no-map;
     40		};
     41
     42		vdev0vring0: vdev0vring0@10040000 {
     43			compatible = "shared-dma-pool";
     44			reg = <0x10040000 0x2000>;
     45			no-map;
     46		};
     47
     48		vdev0vring1: vdev0vring1@10042000 {
     49			compatible = "shared-dma-pool";
     50			reg = <0x10042000 0x2000>;
     51			no-map;
     52		};
     53
     54		vdev0buffer: vdev0buffer@10044000 {
     55			compatible = "shared-dma-pool";
     56			reg = <0x10044000 0x4000>;
     57			no-map;
     58		};
     59
     60		mcuram: mcuram@30000000 {
     61			compatible = "shared-dma-pool";
     62			reg = <0x30000000 0x40000>;
     63			no-map;
     64		};
     65
     66		retram: retram@38000000 {
     67			compatible = "shared-dma-pool";
     68			reg = <0x38000000 0x10000>;
     69			no-map;
     70		};
     71
     72		gpu_reserved: gpu@dc000000 {
     73			reg = <0xdc000000 0x4000000>;
     74			no-map;
     75		};
     76	};
     77
     78	led: gpio_leds {
     79		compatible = "gpio-leds";
     80		led-0 {
     81			label = "panic";
     82			gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
     83			linux,default-trigger = "none";
     84			default-state = "off";
     85			panic-indicator;
     86		};
     87		led-1 {
     88			label = "heartbeat";
     89			gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
     90			linux,default-trigger = "heartbeat";
     91			default-state = "on";
     92		};
     93	};
     94};
     95
     96&adc {
     97	vdd-supply = <&vdd>;
     98	vdda-supply = <&vdd>;
     99	vref-supply = <&vrefbuf>;
    100	status = "okay";
    101
    102	adc1: adc@0 {
    103		pinctrl-names = "default";
    104		pinctrl-0 = <&adc1_in6_pins_a>;
    105		st,min-sample-time-nsecs = <5000>;
    106		st,adc-channels = <6>;
    107		status = "disabled";
    108	};
    109
    110	adc2: adc@100 {
    111		#address-cells = <1>;
    112		#size-cells = <0>;
    113		status = "okay";
    114		channel@12 {
    115			reg = <12>;
    116			label = "sense_temp";
    117			st,min-sample-time-ns = <9000>;
    118		};
    119		channel@15 {
    120			reg = <15>;
    121			label = "vbat";
    122			st,min-sample-time-ns = <9000>;
    123		};
    124		channel@16 {
    125			reg = <16>;
    126			label = "dac_out1";
    127			st,min-sample-time-ns = <9000>;
    128		};
    129		channel@17 {
    130			reg = <17>;
    131			label = "dac_out1";
    132			st,min-sample-time-ns = <9000>;
    133		};
    134	};
    135};
    136
    137&crc1 {
    138	status = "okay";
    139};
    140
    141&cryp1 {
    142	status = "okay";
    143};
    144
    145&dac {
    146	pinctrl-names = "default";
    147	pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
    148	vref-supply = <&vdda>;
    149	status = "disabled";
    150
    151	dac1: dac@1 {
    152		status = "okay";
    153	};
    154	dac2: dac@2 {
    155		status = "okay";
    156	};
    157};
    158
    159&dts {
    160	status = "okay";
    161};
    162
    163&ethernet0 {
    164	status = "okay";
    165	snps,reset-gpio = <&gpioa 1 GPIO_ACTIVE_LOW>;
    166	snps,reset-active-low;
    167	snps,reset-delays-us = <0 30000 50000>;
    168	pinctrl-0 = <&ethernet0_rmii_pins_b>;
    169	pinctrl-1 = <&ethernet0_rmii_sleep_pins_b>;
    170	pinctrl-names = "default", "sleep";
    171	phy-mode = "rmii";
    172	max-speed = <100>;
    173	phy-handle = <&phy0>;
    174	st,eth-ref-clk-sel;
    175
    176	mdio0 {
    177		#address-cells = <1>;
    178		#size-cells = <0>;
    179		compatible = "snps,dwmac-mdio";
    180		phy0: ethernet-phy@0 {
    181			reg = <0>;
    182		};
    183	};
    184};
    185
    186&gpu {
    187	contiguous-area = <&gpu_reserved>;
    188};
    189
    190&hash1 {
    191	status = "okay";
    192};
    193
    194&i2c1 {
    195	pinctrl-names = "default", "sleep";
    196	pinctrl-0 = <&i2c1_pins_a>;
    197	pinctrl-1 = <&i2c1_sleep_pins_a>;
    198	i2c-scl-rising-time-ns = <100>;
    199	i2c-scl-falling-time-ns = <7>;
    200	status = "disabled";
    201	/delete-property/dmas;
    202	/delete-property/dma-names;
    203};
    204
    205&i2c4 {
    206	pinctrl-names = "default", "sleep";
    207	pinctrl-0 = <&i2c4_pins_a>;
    208	pinctrl-1 = <&i2c4_sleep_pins_a>;
    209	i2c-scl-rising-time-ns = <185>;
    210	i2c-scl-falling-time-ns = <20>;
    211	status = "okay";
    212	/delete-property/dmas;
    213	/delete-property/dma-names;
    214
    215	pmic: stpmic@33 {
    216		compatible = "st,stpmic1";
    217		reg = <0x33>;
    218		interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
    219		interrupt-controller;
    220		#interrupt-cells = <2>;
    221		status = "okay";
    222
    223		regulators {
    224			compatible = "st,stpmic1-regulators";
    225
    226			ldo1-supply = <&v3v3>;
    227			ldo3-supply = <&vdd_ddr>;
    228			ldo6-supply = <&v3v3>;
    229			pwr_sw1-supply = <&bst_out>;
    230			pwr_sw2-supply = <&bst_out>;
    231
    232			vddcore: buck1 {
    233				regulator-name = "vddcore";
    234				regulator-min-microvolt = <1200000>;
    235				regulator-max-microvolt = <1350000>;
    236				regulator-always-on;
    237				regulator-initial-mode = <0>;
    238				regulator-over-current-protection;
    239			};
    240
    241			vdd_ddr: buck2 {
    242				regulator-name = "vdd_ddr";
    243				regulator-min-microvolt = <1350000>;
    244				regulator-max-microvolt = <1350000>;
    245				regulator-always-on;
    246				regulator-initial-mode = <0>;
    247				regulator-over-current-protection;
    248			};
    249
    250			vdd: buck3 {
    251				regulator-name = "vdd";
    252				regulator-min-microvolt = <3300000>;
    253				regulator-max-microvolt = <3300000>;
    254				regulator-always-on;
    255				st,mask-reset;
    256				regulator-initial-mode = <0>;
    257				regulator-over-current-protection;
    258			};
    259
    260			v3v3: buck4 {
    261				regulator-name = "v3v3";
    262				regulator-min-microvolt = <3300000>;
    263				regulator-max-microvolt = <3300000>;
    264				regulator-always-on;
    265				regulator-over-current-protection;
    266				regulator-initial-mode = <0>;
    267			};
    268
    269			v1v8_audio: ldo1 {
    270				regulator-name = "v1v8_audio";
    271				regulator-min-microvolt = <1800000>;
    272				regulator-max-microvolt = <1800000>;
    273				regulator-always-on;
    274				interrupts = <IT_CURLIM_LDO1 0>;
    275			};
    276
    277			v3v3_hdmi: ldo2 {
    278				regulator-name = "v3v3_hdmi";
    279				regulator-min-microvolt = <3300000>;
    280				regulator-max-microvolt = <3300000>;
    281				regulator-always-on;
    282				interrupts = <IT_CURLIM_LDO2 0>;
    283			};
    284
    285			vtt_ddr: ldo3 {
    286				regulator-name = "vtt_ddr";
    287				regulator-min-microvolt = <500000>;
    288				regulator-max-microvolt = <750000>;
    289				regulator-always-on;
    290				regulator-over-current-protection;
    291			};
    292
    293			vdd_usb: ldo4 {
    294				regulator-name = "vdd_usb";
    295				regulator-min-microvolt = <3300000>;
    296				regulator-max-microvolt = <3300000>;
    297				interrupts = <IT_CURLIM_LDO4 0>;
    298			};
    299
    300			vdd_sd: ldo5 {
    301				regulator-name = "vdd_sd";
    302				regulator-min-microvolt = <3300000>;
    303				regulator-max-microvolt = <3300000>;
    304				interrupts = <IT_CURLIM_LDO5 0>;
    305				regulator-always-on;
    306			};
    307
    308			vdda: ldo6 {
    309				regulator-name = "vdda";
    310				regulator-min-microvolt = <2900000>;
    311				regulator-max-microvolt = <2900000>;
    312				regulator-always-on;
    313				interrupts = <IT_CURLIM_LDO6 0>;
    314				regulator-boot-on;
    315			};
    316
    317			vref_ddr: vref_ddr {
    318				regulator-name = "vref_ddr";
    319				regulator-always-on;
    320				regulator-over-current-protection;
    321			};
    322
    323			bst_out: boost {
    324				regulator-name = "bst_out";
    325				interrupts = <IT_OCP_BOOST 0>;
    326			};
    327
    328			vbus_otg: pwr_sw1 {
    329				regulator-name = "vbus_otg";
    330				interrupts = <IT_OCP_OTG 0>;
    331				regulator-active-discharge;
    332			};
    333
    334			vbus_usbh: pwr_sw2 {
    335				regulator-name = "usbh_vbus";
    336				interrupts = <IT_OCP_SWOUT 0>;
    337				regulator-always-on;
    338				regulator-boot-on;
    339			};
    340		};
    341
    342		onkey {
    343			compatible = "st,stpmic1-onkey";
    344			interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
    345			interrupt-names = "onkey-falling", "onkey-rising";
    346			status = "okay";
    347		};
    348
    349		watchdog {
    350			compatible = "st,stpmic1-wdt";
    351			status = "disabled";
    352		};
    353	};
    354};
    355
    356&i2c5 {
    357	pinctrl-names = "default", "sleep";
    358	pinctrl-0 = <&i2c5_pins_a>;
    359	pinctrl-1 = <&i2c5_sleep_pins_a>;
    360	i2c-scl-rising-time-ns = <185>;
    361	i2c-scl-falling-time-ns = <20>;
    362	/delete-property/dmas;
    363	/delete-property/dma-names;
    364};
    365
    366&ipcc {
    367	status = "okay";
    368};
    369
    370&iwdg2 {
    371	timeout-sec = <32>;
    372	status = "okay";
    373};
    374
    375&m4_rproc {
    376	memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
    377			<&vdev0vring1>, <&vdev0buffer>;
    378	mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
    379	mbox-names = "vq0", "vq1", "shutdown";
    380	interrupt-parent = <&exti>;
    381	interrupts = <68 1>;
    382	interrupt-names = "wdg";
    383	recovery;
    384	status = "okay";
    385};
    386
    387&pwr_regulators {
    388	vdd-supply = <&vdd>;
    389	vdd_3v3_usbfs-supply = <&vdd_usb>;
    390};
    391
    392&qspi {
    393	pinctrl-names = "default", "sleep";
    394	pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>;
    395	pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>;
    396	reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
    397	#address-cells = <1>;
    398	#size-cells = <0>;
    399	status = "okay";
    400
    401	flash0: flash@0 {
    402		compatible = "jedec,spi-nor";
    403		reg = <0>;
    404		spi-max-frequency = <133000000>;
    405		spi-rx-bus-width = <1>;
    406		spi-tx-bus-width = <1>;
    407		#address-cells = <1>;
    408		#size-cells = <1>;
    409	};
    410};
    411
    412&rng1 {
    413	status = "okay";
    414};
    415
    416&rtc {
    417	status = "okay";
    418};
    419
    420&sdmmc2 {
    421	arm,primecell-periphid = <0x10153180>;
    422	pinctrl-names = "default", "opendrain", "sleep";
    423	pinctrl-0 = <&sdmmc2_b4_pins_b>;
    424	pinctrl-1 = <&sdmmc2_b4_od_pins_b>;
    425	pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
    426	non-removable;
    427	st,neg-edge;
    428	bus-width = <4>;
    429	vmmc-supply = <&v3v3>;
    430	status = "okay";
    431};
    432
    433&spi1 {
    434	pinctrl-names = "default";
    435	pinctrl-0 = <&spi1_pins_a>;
    436	cs-gpios = <&gpioz 3 0>;
    437	status = "disabled";
    438
    439	spidev@0  {
    440		compatible = "spidev";
    441		reg = <0>;
    442		spi-max-frequency = <100000>;
    443	};
    444};
    445
    446&timers1 {
    447	/* spare dmas for other usage */
    448	/delete-property/dmas;
    449	/delete-property/dma-names;
    450	pwm {
    451		pinctrl-0 = <&pwm1_pins_b>;
    452		pinctrl-1 = <&pwm1_sleep_pins_b>;
    453		pinctrl-names = "default", "sleep";
    454		status = "okay";
    455	};
    456	timer@0 {
    457		status = "okay";
    458	};
    459};
    460
    461&timers4 {
    462	/delete-property/dmas;
    463	/delete-property/dma-names;
    464	pwm {
    465		pinctrl-0 = <&pwm4_pins_b>;
    466		pinctrl-1 = <&pwm4_sleep_pins_b>;
    467		pinctrl-names = "default", "sleep";
    468		status = "okay";
    469	};
    470	timer@3 {
    471		status = "okay";
    472	};
    473};
    474
    475&timers5 {
    476	/delete-property/dmas;
    477	/delete-property/dma-names;
    478	pwm {
    479		pinctrl-0 = <&pwm5_pins_a>;
    480		pinctrl-1 = <&pwm5_sleep_pins_a>;
    481		pinctrl-names = "default", "sleep";
    482		status = "okay";
    483	};
    484	timer@4 {
    485		status = "okay";
    486	};
    487};
    488
    489&uart4 {
    490	pinctrl-names = "default", "sleep", "idle";
    491	pinctrl-0 = <&uart4_pins_a>;
    492	pinctrl-1 = <&uart4_sleep_pins_a>;
    493	pinctrl-2 = <&uart4_idle_pins_a>;
    494	status = "okay";
    495};
    496
    497&usart2 {
    498	pinctrl-names = "default", "sleep";
    499	pinctrl-0 = <&usart2_pins_a>;
    500	pinctrl-1 = <&usart2_sleep_pins_a>;
    501	status = "okay";
    502};
    503
    504&usart3 {
    505	pinctrl-names = "default", "sleep", "idle";
    506	pinctrl-0 = <&usart3_pins_d>;
    507	pinctrl-1 = <&usart3_sleep_pins_d>;
    508	pinctrl-2 = <&usart3_idle_pins_d>;
    509	status = "okay";
    510};
    511
    512&usbh_ehci {
    513	phys = <&usbphyc_port0>;
    514	phy-names = "usb";
    515	status = "okay";
    516};
    517
    518&usbh_ohci {
    519	phys = <&usbphyc_port0>;
    520	phy-names = "usb";
    521	status = "okay";
    522};
    523
    524&usbotg_hs {
    525	dr_mode = "peripheral";
    526	pinctrl-names = "default";
    527	pinctrl-0 = <&usbotg_hs_pins_a>;
    528	phy-names = "usb2-phy";
    529	phys = <&usbphyc_port1 0>;
    530	vbus-supply = <&vbus_otg>;
    531	status = "okay";
    532};
    533
    534&usbphyc {
    535	status = "okay";
    536};
    537
    538&usbphyc_port0 {
    539	phy-supply = <&vdd_usb>;
    540};
    541
    542&usbphyc_port1 {
    543	phy-supply = <&vdd_usb>;
    544};
    545
    546&vrefbuf {
    547	regulator-min-microvolt = <2500000>;
    548	regulator-max-microvolt = <2500000>;
    549	vdda-supply = <&vdd>;
    550	status = "okay";
    551};
    552