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

am437x-cm-t43.dts (10718B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/*
      3 * Copyright (C) 2015 CompuLab, Ltd. - http://www.compulab.co.il/
      4 */
      5
      6/dts-v1/;
      7
      8#include <dt-bindings/pinctrl/am43xx.h>
      9#include <dt-bindings/gpio/gpio.h>
     10#include <dt-bindings/interrupt-controller/irq.h>
     11#include "am4372.dtsi"
     12
     13/ {
     14	model = "CompuLab CM-T43";
     15	compatible = "compulab,am437x-cm-t43", "ti,am4372", "ti,am43";
     16
     17	leds {
     18		compatible = "gpio-leds";
     19
     20		ledb {
     21			label = "cm-t43:green";
     22			gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
     23			linux,default-trigger = "heartbeat";
     24		};
     25	};
     26
     27	vmmc_3v3: fixedregulator-v3_3 {
     28		compatible = "regulator-fixed";
     29		regulator-name = "vmmc_3v3";
     30		regulator-min-microvolt = <3300000>;
     31		regulator-max-microvolt = <3300000>;
     32		regulator-always-on;
     33		enable-active-high;
     34	};
     35};
     36
     37&am43xx_pinmux {
     38	pinctrl-names = "default";
     39	pinctrl-0 = <&cm_t43_led_pins>;
     40
     41	cm_t43_led_pins: cm_t43_led_pins {
     42		pinctrl-single,pins = <
     43			AM4372_IOPAD(0xa78, MUX_MODE7)
     44		>;
     45	};
     46
     47	i2c0_pins: i2c0_pins {
     48		pinctrl-single,pins = <
     49			AM4372_IOPAD(0x988, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)  /* i2c0_sda.i2c0_sda */
     50			AM4372_IOPAD(0x98c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)  /* i2c0_scl.i2c0_scl */
     51		>;
     52	};
     53
     54	emmc_pins: emmc_pins {
     55		pinctrl-single,pins = <
     56			AM4372_IOPAD(0x820, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad8.mmc1_dat0 */
     57			AM4372_IOPAD(0x824, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad9.mmc1_dat1 */
     58			AM4372_IOPAD(0x828, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad10.mmc1_dat2 */
     59			AM4372_IOPAD(0x82c, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad11.mmc1_dat3 */
     60			AM4372_IOPAD(0x830, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad12.mmc1_dat4 */
     61			AM4372_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad13.mmc1_dat5 */
     62			AM4372_IOPAD(0x838, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad14.mmc1_dat6 */
     63			AM4372_IOPAD(0x83c, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad15.mmc1_dat7 */
     64			AM4372_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
     65			AM4372_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
     66		>;
     67	};
     68
     69	spi0_pins: pinmux_spi0_pins {
     70		pinctrl-single,pins = <
     71			AM4372_IOPAD(0x950, PIN_INPUT | MUX_MODE0) /* spi0_sclk.spi0_sclk */
     72			AM4372_IOPAD(0x954, PIN_INPUT | MUX_MODE0) /* spi0_d0.spi0_d0 */
     73			AM4372_IOPAD(0x958, PIN_OUTPUT | MUX_MODE0) /* spi0_d1.spi0_d1 */
     74			AM4372_IOPAD(0x95C, PIN_OUTPUT | MUX_MODE0) /* spi0_cs0.spi0_cs0 */
     75		>;
     76	};
     77
     78	nand_flash_x8: nand_flash_x8 {
     79		pinctrl-single,pins = <
     80			AM4372_IOPAD(0x800, PIN_INPUT | PULL_DISABLE | MUX_MODE0)
     81			AM4372_IOPAD(0x804, PIN_INPUT | PULL_DISABLE | MUX_MODE0)
     82			AM4372_IOPAD(0x808, PIN_INPUT | PULL_DISABLE | MUX_MODE0)
     83			AM4372_IOPAD(0x80c, PIN_INPUT | PULL_DISABLE | MUX_MODE0)
     84			AM4372_IOPAD(0x810, PIN_INPUT | PULL_DISABLE | MUX_MODE0)
     85			AM4372_IOPAD(0x814, PIN_INPUT | PULL_DISABLE | MUX_MODE0)
     86			AM4372_IOPAD(0x818, PIN_INPUT | PULL_DISABLE | MUX_MODE0)
     87			AM4372_IOPAD(0x81c, PIN_INPUT | PULL_DISABLE | MUX_MODE0)
     88			AM4372_IOPAD(0x870, PIN_INPUT_PULLUP  | MUX_MODE0)
     89			AM4372_IOPAD(0x874, PIN_OUTPUT_PULLUP | MUX_MODE0)
     90			AM4372_IOPAD(0x87c, PIN_OUTPUT_PULLUP | MUX_MODE0)
     91			AM4372_IOPAD(0x898, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
     92			AM4372_IOPAD(0x894, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
     93			AM4372_IOPAD(0x890, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
     94			AM4372_IOPAD(0x89c, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
     95		>;
     96	};
     97
     98	cpsw_default: cpsw_default {
     99		pinctrl-single,pins = <
    100			/* Slave 1 */
    101			AM4372_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_txen */
    102			AM4372_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxdv.rgmii1_rxctl */
    103			AM4372_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_txd3 */
    104			AM4372_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_txd2 */
    105			AM4372_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_txd1 */
    106			AM4372_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_txd0 */
    107			AM4372_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txclk.rmii1_tclk */
    108			AM4372_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxclk.rmii1_rclk */
    109			AM4372_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rxd3 */
    110			AM4372_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rxd2 */
    111			AM4372_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rxd1 */
    112			AM4372_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rxd0 */
    113			AM4372_IOPAD(0xa74, MUX_MODE3)
    114			/* Slave 2 */
    115			AM4372_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a0.txen */
    116			AM4372_IOPAD(0x844, PIN_INPUT_PULLDOWN  | MUX_MODE2)	/* gpmc_a1.rxctl */
    117			AM4372_IOPAD(0x848, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a2.txd3 */
    118			AM4372_IOPAD(0x84c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a3.txd2 */
    119			AM4372_IOPAD(0x850, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a4.txd1 */
    120			AM4372_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a5.txd0 */
    121			AM4372_IOPAD(0x858, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a6.tclk */
    122			AM4372_IOPAD(0x85c, PIN_INPUT_PULLDOWN  | MUX_MODE2)	/* gpmc_a7.rclk */
    123			AM4372_IOPAD(0x860, PIN_INPUT_PULLDOWN  | MUX_MODE2)	/* gpmc_a8.rxd3 */
    124			AM4372_IOPAD(0x864, PIN_INPUT_PULLDOWN  | MUX_MODE2)	/* gpmc_a9.rxd2 */
    125			AM4372_IOPAD(0x868, PIN_INPUT_PULLDOWN  | MUX_MODE2)	/* gpmc_a10.rxd1 */
    126			AM4372_IOPAD(0x86c, PIN_INPUT_PULLDOWN  | MUX_MODE2)	/* gpmc_a11.rxd0 */
    127			AM4372_IOPAD(0xa38, MUX_MODE7)
    128		>;
    129	};
    130
    131	davinci_mdio_default: davinci_mdio_default {
    132		pinctrl-single,pins = <
    133			/* MDIO */
    134			AM4372_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
    135			AM4372_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
    136		>;
    137	};
    138};
    139
    140&gpmc {
    141	status = "okay";
    142	pinctrl-names = "default";
    143	pinctrl-0 = <&nand_flash_x8>;
    144	ranges = <0 0 0x08000000 0x1000000>;
    145	nand@0,0 {
    146		compatible = "ti,omap2-nand";
    147		reg = <0 0 4>;		/* CS0, offset 0, IO size 4 */
    148		interrupt-parent = <&gpmc>;
    149		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
    150			     <1 IRQ_TYPE_NONE>;	/* termcount */
    151		ti,nand-ecc-opt = "bch8";
    152		ti,elm-id = <&elm>;
    153
    154		nand-bus-width = <8>;
    155		gpmc,device-width = <1>;
    156		gpmc,sync-clk-ps = <0>;
    157		gpmc,cs-on-ns = <0>;
    158		gpmc,cs-rd-off-ns = <44>;
    159		gpmc,cs-wr-off-ns = <44>;
    160		gpmc,adv-on-ns = <6>;
    161		gpmc,adv-rd-off-ns = <34>;
    162		gpmc,adv-wr-off-ns = <44>;
    163		gpmc,we-on-ns = <0>;
    164		gpmc,we-off-ns = <40>;
    165		gpmc,oe-on-ns = <0>;
    166		gpmc,oe-off-ns = <54>;
    167		gpmc,access-ns = <64>;
    168		gpmc,rd-cycle-ns = <82>;
    169		gpmc,wr-cycle-ns = <82>;
    170		gpmc,bus-turnaround-ns = <0>;
    171		gpmc,cycle2cycle-delay-ns = <0>;
    172		gpmc,clk-activation-ns = <0>;
    173		gpmc,wr-access-ns = <40>;
    174		gpmc,wr-data-mux-bus-ns = <0>;
    175
    176		#address-cells = <1>;
    177		#size-cells = <1>;
    178		/* MTD partition table */
    179		partition@0 {
    180			label = "kernel";
    181			reg = <0x0 0x00980000>;
    182		};
    183		partition@980000 {
    184			label = "dtb";
    185			reg = <0x00980000 0x00080000>;
    186		};
    187		partition@a00000 {
    188			label = "rootfs";
    189			reg = <0x00a00000 0x0>;
    190		};
    191	};
    192};
    193
    194&i2c0 {
    195	status = "okay";
    196	pinctrl-names = "default";
    197	pinctrl-0 = <&i2c0_pins>;
    198	clock-frequency = <100000>;
    199
    200	tps65218: tps65218@24 {
    201		compatible = "ti,tps65218";
    202		reg = <0x24>;
    203		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* NMIn */
    204		interrupt-parent = <&gic>;
    205		interrupt-controller;
    206		#interrupt-cells = <2>;
    207
    208		dcdc1: regulator-dcdc1 {
    209			regulator-name = "vdd_core";
    210			regulator-min-microvolt = <912000>;
    211			regulator-max-microvolt = <1144000>;
    212			regulator-boot-on;
    213			regulator-always-on;
    214		};
    215
    216		dcdc2: regulator-dcdc2 {
    217			regulator-name = "vdd_mpu";
    218			regulator-min-microvolt = <912000>;
    219			regulator-max-microvolt = <1378000>;
    220			regulator-boot-on;
    221			regulator-always-on;
    222		};
    223
    224		dcdc3: regulator-dcdc3 {
    225			regulator-name = "vdcdc3";
    226			regulator-suspend-enable;
    227			regulator-min-microvolt = <1500000>;
    228			regulator-max-microvolt = <1500000>;
    229			regulator-boot-on;
    230			regulator-always-on;
    231		};
    232
    233		dcdc5: regulator-dcdc5 {
    234			regulator-name = "v1_0bat";
    235			regulator-min-microvolt = <1000000>;
    236			regulator-max-microvolt = <1000000>;
    237			regulator-boot-on;
    238			regulator-always-on;
    239		};
    240
    241		dcdc6: regulator-dcdc6 {
    242			regulator-name = "v1_8bat";
    243			regulator-min-microvolt = <1800000>;
    244			regulator-max-microvolt = <1800000>;
    245			regulator-boot-on;
    246			regulator-always-on;
    247		};
    248
    249		ldo1: regulator-ldo1 {
    250			regulator-min-microvolt = <1800000>;
    251			regulator-max-microvolt = <1800000>;
    252			regulator-boot-on;
    253			regulator-always-on;
    254		};
    255	};
    256
    257	eeprom_module: at24@50 {
    258		compatible = "atmel,24c02";
    259		reg = <0x50>;
    260		pagesize = <16>;
    261	};
    262};
    263
    264&gpio0 {
    265	status = "okay";
    266};
    267
    268&gpio1 {
    269	status = "okay";
    270};
    271
    272&gpio2 {
    273	status = "okay";
    274};
    275
    276&gpio3 {
    277	status = "okay";
    278};
    279
    280&gpio4 {
    281	status = "okay";
    282};
    283
    284&gpio5 {
    285	status = "okay";
    286};
    287
    288&mmc2 {
    289	status = "okay";
    290	pinctrl-names = "default";
    291	pinctrl-0 = <&emmc_pins>;
    292	vmmc-supply = <&vmmc_3v3>;
    293	bus-width = <8>;
    294	non-removable;
    295};
    296
    297&spi0 {
    298	status = "okay";
    299	pinctrl-names = "default";
    300	pinctrl-0 = <&spi0_pins>;
    301	dmas = <&edma 16 0
    302		&edma 17 0>;
    303	dma-names = "tx0", "rx0";
    304
    305	flash: flash@0 {
    306		#address-cells = <1>;
    307		#size-cells = <1>;
    308		compatible = "jedec,spi-nor";
    309		reg = <0>;
    310		spi-max-frequency = <20000000>;
    311		partition@0 {
    312			label = "uboot";
    313			reg = <0x0 0xc0000>;
    314		};
    315
    316		partition@c0000 {
    317			label = "uboot environment";
    318			reg = <0xc0000 0x40000>;
    319		};
    320
    321		partition@100000 {
    322			label = "reserved";
    323			reg = <0x100000 0x100000>;
    324		};
    325	};
    326};
    327
    328&mac_sw {
    329	pinctrl-names = "default";
    330	pinctrl-0 = <&cpsw_default>;
    331	status = "okay";
    332};
    333
    334&davinci_mdio_sw {
    335	pinctrl-names = "default";
    336	pinctrl-0 = <&davinci_mdio_default>;
    337
    338	ethphy0: ethernet-phy@0 {
    339		reg = <0>;
    340	};
    341
    342	ethphy1: ethernet-phy@1 {
    343		reg = <1>;
    344	};
    345};
    346
    347&cpsw_port1 {
    348	phy-handle = <&ethphy0>;
    349	phy-mode = "rgmii-txid";
    350	ti,dual-emac-pvid = <1>;
    351};
    352
    353&cpsw_port2 {
    354	phy-handle = <&ethphy1>;
    355	phy-mode = "rgmii-txid";
    356	ti,dual-emac-pvid = <2>;
    357};
    358
    359&dwc3_1 {
    360	status = "okay";
    361};
    362
    363&usb2_phy1 {
    364	status = "okay";
    365};
    366
    367&usb1 {
    368	dr_mode = "host";
    369	status = "okay";
    370};
    371
    372&dwc3_2 {
    373	status = "okay";
    374};
    375
    376&usb2_phy2 {
    377	status = "okay";
    378};
    379
    380&usb2 {
    381	dr_mode = "host";
    382	status = "okay";
    383	interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>,
    384		     <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>,
    385		     <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
    386	interrupt-names = "peripheral", "host", "otg";
    387};
    388
    389&elm {
    390	status = "okay";
    391};
    392
    393&uart0 {
    394	status = "okay";
    395};
    396
    397&tscadc {
    398	status = "okay";
    399	tsc {
    400		ti,wires = <4>;
    401		ti,x-plate-resistance = <200>;
    402		ti,coordinate-readouts = <5>;
    403		ti,wire-config = <0x00 0x11 0x22 0x33>;
    404	};
    405
    406	adc {
    407		ti,adc-channels = <4 5 6 7>;
    408	};
    409};
    410
    411&cpu {
    412	cpu0-supply = <&dcdc2>;
    413	operating-points = <1000000 1330000>,
    414			   <800000 1260000>,
    415			   <720000 1200000>,
    416			   <600000 1100000>,
    417			   <300000 950000>;
    418};
    419
    420&pruss1_mdio {
    421	status = "disabled";
    422};