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

uniphier-ld11.dtsi (14810B)


      1// SPDX-License-Identifier: GPL-2.0+ OR MIT
      2//
      3// Device Tree Source for UniPhier LD11 SoC
      4//
      5// Copyright (C) 2016 Socionext Inc.
      6//   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
      7
      8#include <dt-bindings/gpio/gpio.h>
      9#include <dt-bindings/gpio/uniphier-gpio.h>
     10
     11/ {
     12	compatible = "socionext,uniphier-ld11";
     13	#address-cells = <2>;
     14	#size-cells = <2>;
     15	interrupt-parent = <&gic>;
     16
     17	cpus {
     18		#address-cells = <2>;
     19		#size-cells = <0>;
     20
     21		cpu-map {
     22			cluster0 {
     23				core0 {
     24					cpu = <&cpu0>;
     25				};
     26				core1 {
     27					cpu = <&cpu1>;
     28				};
     29			};
     30		};
     31
     32		cpu0: cpu@0 {
     33			device_type = "cpu";
     34			compatible = "arm,cortex-a53";
     35			reg = <0 0x000>;
     36			clocks = <&sys_clk 33>;
     37			enable-method = "psci";
     38			operating-points-v2 = <&cluster0_opp>;
     39		};
     40
     41		cpu1: cpu@1 {
     42			device_type = "cpu";
     43			compatible = "arm,cortex-a53";
     44			reg = <0 0x001>;
     45			clocks = <&sys_clk 33>;
     46			enable-method = "psci";
     47			operating-points-v2 = <&cluster0_opp>;
     48		};
     49	};
     50
     51	cluster0_opp: opp-table {
     52		compatible = "operating-points-v2";
     53		opp-shared;
     54
     55		opp-245000000 {
     56			opp-hz = /bits/ 64 <245000000>;
     57			clock-latency-ns = <300>;
     58		};
     59		opp-250000000 {
     60			opp-hz = /bits/ 64 <250000000>;
     61			clock-latency-ns = <300>;
     62		};
     63		opp-490000000 {
     64			opp-hz = /bits/ 64 <490000000>;
     65			clock-latency-ns = <300>;
     66		};
     67		opp-500000000 {
     68			opp-hz = /bits/ 64 <500000000>;
     69			clock-latency-ns = <300>;
     70		};
     71		opp-653334000 {
     72			opp-hz = /bits/ 64 <653334000>;
     73			clock-latency-ns = <300>;
     74		};
     75		opp-666667000 {
     76			opp-hz = /bits/ 64 <666667000>;
     77			clock-latency-ns = <300>;
     78		};
     79		opp-980000000 {
     80			opp-hz = /bits/ 64 <980000000>;
     81			clock-latency-ns = <300>;
     82		};
     83	};
     84
     85	psci {
     86		compatible = "arm,psci-1.0";
     87		method = "smc";
     88	};
     89
     90	clocks {
     91		refclk: ref {
     92			compatible = "fixed-clock";
     93			#clock-cells = <0>;
     94			clock-frequency = <25000000>;
     95		};
     96	};
     97
     98	emmc_pwrseq: emmc-pwrseq {
     99		compatible = "mmc-pwrseq-emmc";
    100		reset-gpios = <&gpio UNIPHIER_GPIO_PORT(3, 2) GPIO_ACTIVE_LOW>;
    101	};
    102
    103	timer {
    104		compatible = "arm,armv8-timer";
    105		interrupts = <1 13 4>,
    106			     <1 14 4>,
    107			     <1 11 4>,
    108			     <1 10 4>;
    109	};
    110
    111	reserved-memory {
    112		#address-cells = <2>;
    113		#size-cells = <2>;
    114		ranges;
    115
    116		secure-memory@81000000 {
    117			reg = <0x0 0x81000000 0x0 0x01000000>;
    118			no-map;
    119		};
    120	};
    121
    122	soc@0 {
    123		compatible = "simple-bus";
    124		#address-cells = <1>;
    125		#size-cells = <1>;
    126		ranges = <0 0 0 0xffffffff>;
    127
    128		spi0: spi@54006000 {
    129			compatible = "socionext,uniphier-scssi";
    130			status = "disabled";
    131			reg = <0x54006000 0x100>;
    132			#address-cells = <1>;
    133			#size-cells = <0>;
    134			interrupts = <0 39 4>;
    135			pinctrl-names = "default";
    136			pinctrl-0 = <&pinctrl_spi0>;
    137			clocks = <&peri_clk 11>;
    138			resets = <&peri_rst 11>;
    139		};
    140
    141		spi1: spi@54006100 {
    142			compatible = "socionext,uniphier-scssi";
    143			status = "disabled";
    144			reg = <0x54006100 0x100>;
    145			#address-cells = <1>;
    146			#size-cells = <0>;
    147			interrupts = <0 216 4>;
    148			pinctrl-names = "default";
    149			pinctrl-0 = <&pinctrl_spi1>;
    150			clocks = <&peri_clk 12>;
    151			resets = <&peri_rst 12>;
    152		};
    153
    154		serial0: serial@54006800 {
    155			compatible = "socionext,uniphier-uart";
    156			status = "disabled";
    157			reg = <0x54006800 0x40>;
    158			interrupts = <0 33 4>;
    159			pinctrl-names = "default";
    160			pinctrl-0 = <&pinctrl_uart0>;
    161			clocks = <&peri_clk 0>;
    162			resets = <&peri_rst 0>;
    163		};
    164
    165		serial1: serial@54006900 {
    166			compatible = "socionext,uniphier-uart";
    167			status = "disabled";
    168			reg = <0x54006900 0x40>;
    169			interrupts = <0 35 4>;
    170			pinctrl-names = "default";
    171			pinctrl-0 = <&pinctrl_uart1>;
    172			clocks = <&peri_clk 1>;
    173			resets = <&peri_rst 1>;
    174		};
    175
    176		serial2: serial@54006a00 {
    177			compatible = "socionext,uniphier-uart";
    178			status = "disabled";
    179			reg = <0x54006a00 0x40>;
    180			interrupts = <0 37 4>;
    181			pinctrl-names = "default";
    182			pinctrl-0 = <&pinctrl_uart2>;
    183			clocks = <&peri_clk 2>;
    184			resets = <&peri_rst 2>;
    185		};
    186
    187		serial3: serial@54006b00 {
    188			compatible = "socionext,uniphier-uart";
    189			status = "disabled";
    190			reg = <0x54006b00 0x40>;
    191			interrupts = <0 177 4>;
    192			pinctrl-names = "default";
    193			pinctrl-0 = <&pinctrl_uart3>;
    194			clocks = <&peri_clk 3>;
    195			resets = <&peri_rst 3>;
    196		};
    197
    198		gpio: gpio@55000000 {
    199			compatible = "socionext,uniphier-gpio";
    200			reg = <0x55000000 0x200>;
    201			interrupt-parent = <&aidet>;
    202			interrupt-controller;
    203			#interrupt-cells = <2>;
    204			gpio-controller;
    205			#gpio-cells = <2>;
    206			gpio-ranges = <&pinctrl 0 0 0>,
    207				      <&pinctrl 43 0 0>,
    208				      <&pinctrl 51 0 0>,
    209				      <&pinctrl 96 0 0>,
    210				      <&pinctrl 160 0 0>,
    211				      <&pinctrl 184 0 0>;
    212			gpio-ranges-group-names = "gpio_range0",
    213						  "gpio_range1",
    214						  "gpio_range2",
    215						  "gpio_range3",
    216						  "gpio_range4",
    217						  "gpio_range5";
    218			ngpios = <200>;
    219			socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
    220						     <21 217 3>;
    221		};
    222
    223		audio@56000000 {
    224			compatible = "socionext,uniphier-ld11-aio";
    225			reg = <0x56000000 0x80000>;
    226			interrupts = <0 144 4>;
    227			pinctrl-names = "default";
    228			pinctrl-0 = <&pinctrl_aout1>,
    229				    <&pinctrl_aoutiec1>;
    230			clock-names = "aio";
    231			clocks = <&sys_clk 40>;
    232			reset-names = "aio";
    233			resets = <&sys_rst 40>;
    234			#sound-dai-cells = <1>;
    235			socionext,syscon = <&soc_glue>;
    236
    237			i2s_port0: port@0 {
    238				i2s_hdmi: endpoint {
    239				};
    240			};
    241
    242			i2s_port1: port@1 {
    243				i2s_pcmin2: endpoint {
    244				};
    245			};
    246
    247			i2s_port2: port@2 {
    248				i2s_line: endpoint {
    249					dai-format = "i2s";
    250					remote-endpoint = <&evea_line>;
    251				};
    252			};
    253
    254			i2s_port3: port@3 {
    255				i2s_hpcmout1: endpoint {
    256				};
    257			};
    258
    259			i2s_port4: port@4 {
    260				i2s_hp: endpoint {
    261					dai-format = "i2s";
    262					remote-endpoint = <&evea_hp>;
    263				};
    264			};
    265
    266			spdif_port0: port@5 {
    267				spdif_hiecout1: endpoint {
    268				};
    269			};
    270
    271			src_port0: port@6 {
    272				i2s_epcmout2: endpoint {
    273				};
    274			};
    275
    276			src_port1: port@7 {
    277				i2s_epcmout3: endpoint {
    278				};
    279			};
    280
    281			comp_spdif_port0: port@8 {
    282				comp_spdif_hiecout1: endpoint {
    283				};
    284			};
    285		};
    286
    287		codec@57900000 {
    288			compatible = "socionext,uniphier-evea";
    289			reg = <0x57900000 0x1000>;
    290			clock-names = "evea", "exiv";
    291			clocks = <&sys_clk 41>, <&sys_clk 42>;
    292			reset-names = "evea", "exiv", "adamv";
    293			resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
    294			#sound-dai-cells = <1>;
    295
    296			port@0 {
    297				evea_line: endpoint {
    298					remote-endpoint = <&i2s_line>;
    299				};
    300			};
    301
    302			port@1 {
    303				evea_hp: endpoint {
    304					remote-endpoint = <&i2s_hp>;
    305				};
    306			};
    307		};
    308
    309		adamv@57920000 {
    310			compatible = "socionext,uniphier-ld11-adamv",
    311				     "simple-mfd", "syscon";
    312			reg = <0x57920000 0x1000>;
    313
    314			adamv_rst: reset {
    315				compatible = "socionext,uniphier-ld11-adamv-reset";
    316				#reset-cells = <1>;
    317			};
    318		};
    319
    320		i2c0: i2c@58780000 {
    321			compatible = "socionext,uniphier-fi2c";
    322			status = "disabled";
    323			reg = <0x58780000 0x80>;
    324			#address-cells = <1>;
    325			#size-cells = <0>;
    326			interrupts = <0 41 4>;
    327			pinctrl-names = "default";
    328			pinctrl-0 = <&pinctrl_i2c0>;
    329			clocks = <&peri_clk 4>;
    330			resets = <&peri_rst 4>;
    331			clock-frequency = <100000>;
    332		};
    333
    334		i2c1: i2c@58781000 {
    335			compatible = "socionext,uniphier-fi2c";
    336			status = "disabled";
    337			reg = <0x58781000 0x80>;
    338			#address-cells = <1>;
    339			#size-cells = <0>;
    340			interrupts = <0 42 4>;
    341			pinctrl-names = "default";
    342			pinctrl-0 = <&pinctrl_i2c1>;
    343			clocks = <&peri_clk 5>;
    344			resets = <&peri_rst 5>;
    345			clock-frequency = <100000>;
    346		};
    347
    348		i2c2: i2c@58782000 {
    349			compatible = "socionext,uniphier-fi2c";
    350			reg = <0x58782000 0x80>;
    351			#address-cells = <1>;
    352			#size-cells = <0>;
    353			interrupts = <0 43 4>;
    354			clocks = <&peri_clk 6>;
    355			resets = <&peri_rst 6>;
    356			clock-frequency = <400000>;
    357		};
    358
    359		i2c3: i2c@58783000 {
    360			compatible = "socionext,uniphier-fi2c";
    361			status = "disabled";
    362			reg = <0x58783000 0x80>;
    363			#address-cells = <1>;
    364			#size-cells = <0>;
    365			interrupts = <0 44 4>;
    366			pinctrl-names = "default";
    367			pinctrl-0 = <&pinctrl_i2c3>;
    368			clocks = <&peri_clk 7>;
    369			resets = <&peri_rst 7>;
    370			clock-frequency = <100000>;
    371		};
    372
    373		i2c4: i2c@58784000 {
    374			compatible = "socionext,uniphier-fi2c";
    375			status = "disabled";
    376			reg = <0x58784000 0x80>;
    377			#address-cells = <1>;
    378			#size-cells = <0>;
    379			interrupts = <0 45 4>;
    380			pinctrl-names = "default";
    381			pinctrl-0 = <&pinctrl_i2c4>;
    382			clocks = <&peri_clk 8>;
    383			resets = <&peri_rst 8>;
    384			clock-frequency = <100000>;
    385		};
    386
    387		i2c5: i2c@58785000 {
    388			compatible = "socionext,uniphier-fi2c";
    389			reg = <0x58785000 0x80>;
    390			#address-cells = <1>;
    391			#size-cells = <0>;
    392			interrupts = <0 25 4>;
    393			clocks = <&peri_clk 9>;
    394			resets = <&peri_rst 9>;
    395			clock-frequency = <400000>;
    396		};
    397
    398		system_bus: system-bus@58c00000 {
    399			compatible = "socionext,uniphier-system-bus";
    400			status = "disabled";
    401			reg = <0x58c00000 0x400>;
    402			#address-cells = <2>;
    403			#size-cells = <1>;
    404			pinctrl-names = "default";
    405			pinctrl-0 = <&pinctrl_system_bus>;
    406		};
    407
    408		smpctrl@59801000 {
    409			compatible = "socionext,uniphier-smpctrl";
    410			reg = <0x59801000 0x400>;
    411		};
    412
    413		sdctrl@59810000 {
    414			compatible = "socionext,uniphier-ld11-sdctrl",
    415				     "simple-mfd", "syscon";
    416			reg = <0x59810000 0x400>;
    417
    418			sd_rst: reset {
    419				compatible = "socionext,uniphier-ld11-sd-reset";
    420				#reset-cells = <1>;
    421			};
    422		};
    423
    424		perictrl@59820000 {
    425			compatible = "socionext,uniphier-ld11-perictrl",
    426				     "simple-mfd", "syscon";
    427			reg = <0x59820000 0x200>;
    428
    429			peri_clk: clock {
    430				compatible = "socionext,uniphier-ld11-peri-clock";
    431				#clock-cells = <1>;
    432			};
    433
    434			peri_rst: reset {
    435				compatible = "socionext,uniphier-ld11-peri-reset";
    436				#reset-cells = <1>;
    437			};
    438		};
    439
    440		emmc: mmc@5a000000 {
    441			compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
    442			reg = <0x5a000000 0x400>;
    443			interrupts = <0 78 4>;
    444			pinctrl-names = "default";
    445			pinctrl-0 = <&pinctrl_emmc>;
    446			clocks = <&sys_clk 4>;
    447			resets = <&sys_rst 4>;
    448			bus-width = <8>;
    449			mmc-ddr-1_8v;
    450			mmc-hs200-1_8v;
    451			mmc-pwrseq = <&emmc_pwrseq>;
    452			cdns,phy-input-delay-legacy = <9>;
    453			cdns,phy-input-delay-mmc-highspeed = <2>;
    454			cdns,phy-input-delay-mmc-ddr = <3>;
    455			cdns,phy-dll-delay-sdclk = <21>;
    456			cdns,phy-dll-delay-sdclk-hsmmc = <21>;
    457		};
    458
    459		usb0: usb@5a800100 {
    460			compatible = "socionext,uniphier-ehci", "generic-ehci";
    461			status = "disabled";
    462			reg = <0x5a800100 0x100>;
    463			interrupts = <0 243 4>;
    464			pinctrl-names = "default";
    465			pinctrl-0 = <&pinctrl_usb0>;
    466			clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 8>,
    467				 <&mio_clk 12>;
    468			resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
    469				 <&mio_rst 12>;
    470			phy-names = "usb";
    471			phys = <&usb_phy0>;
    472			has-transaction-translator;
    473		};
    474
    475		usb1: usb@5a810100 {
    476			compatible = "socionext,uniphier-ehci", "generic-ehci";
    477			status = "disabled";
    478			reg = <0x5a810100 0x100>;
    479			interrupts = <0 244 4>;
    480			pinctrl-names = "default";
    481			pinctrl-0 = <&pinctrl_usb1>;
    482			clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 9>,
    483				 <&mio_clk 13>;
    484			resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
    485				 <&mio_rst 13>;
    486			phy-names = "usb";
    487			phys = <&usb_phy1>;
    488			has-transaction-translator;
    489		};
    490
    491		usb2: usb@5a820100 {
    492			compatible = "socionext,uniphier-ehci", "generic-ehci";
    493			status = "disabled";
    494			reg = <0x5a820100 0x100>;
    495			interrupts = <0 245 4>;
    496			pinctrl-names = "default";
    497			pinctrl-0 = <&pinctrl_usb2>;
    498			clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 10>,
    499				 <&mio_clk 14>;
    500			resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 10>,
    501				 <&mio_rst 14>;
    502			phy-names = "usb";
    503			phys = <&usb_phy2>;
    504			has-transaction-translator;
    505		};
    506
    507		mioctrl@5b3e0000 {
    508			compatible = "socionext,uniphier-ld11-mioctrl",
    509				     "simple-mfd", "syscon";
    510			reg = <0x5b3e0000 0x800>;
    511
    512			mio_clk: clock {
    513				compatible = "socionext,uniphier-ld11-mio-clock";
    514				#clock-cells = <1>;
    515			};
    516
    517			mio_rst: reset {
    518				compatible = "socionext,uniphier-ld11-mio-reset";
    519				#reset-cells = <1>;
    520				resets = <&sys_rst 7>;
    521			};
    522		};
    523
    524		soc_glue: soc-glue@5f800000 {
    525			compatible = "socionext,uniphier-ld11-soc-glue",
    526				     "simple-mfd", "syscon";
    527			reg = <0x5f800000 0x2000>;
    528
    529			pinctrl: pinctrl {
    530				compatible = "socionext,uniphier-ld11-pinctrl";
    531			};
    532
    533			usb-phy {
    534				compatible = "socionext,uniphier-ld11-usb2-phy";
    535				#address-cells = <1>;
    536				#size-cells = <0>;
    537
    538				usb_phy0: phy@0 {
    539					reg = <0>;
    540					#phy-cells = <0>;
    541				};
    542
    543				usb_phy1: phy@1 {
    544					reg = <1>;
    545					#phy-cells = <0>;
    546				};
    547
    548				usb_phy2: phy@2 {
    549					reg = <2>;
    550					#phy-cells = <0>;
    551				};
    552			};
    553		};
    554
    555		soc-glue@5f900000 {
    556			compatible = "socionext,uniphier-ld11-soc-glue-debug",
    557				     "simple-mfd";
    558			#address-cells = <1>;
    559			#size-cells = <1>;
    560			ranges = <0 0x5f900000 0x2000>;
    561
    562			efuse@100 {
    563				compatible = "socionext,uniphier-efuse";
    564				reg = <0x100 0x28>;
    565			};
    566
    567			efuse@200 {
    568				compatible = "socionext,uniphier-efuse";
    569				reg = <0x200 0x68>;
    570			};
    571		};
    572
    573		xdmac: dma-controller@5fc10000 {
    574			compatible = "socionext,uniphier-xdmac";
    575			reg = <0x5fc10000 0x5300>;
    576			interrupts = <0 188 4>;
    577			dma-channels = <16>;
    578			#dma-cells = <2>;
    579		};
    580
    581		aidet: interrupt-controller@5fc20000 {
    582			compatible = "socionext,uniphier-ld11-aidet";
    583			reg = <0x5fc20000 0x200>;
    584			interrupt-controller;
    585			#interrupt-cells = <2>;
    586		};
    587
    588		gic: interrupt-controller@5fe00000 {
    589			compatible = "arm,gic-v3";
    590			reg = <0x5fe00000 0x10000>,	/* GICD */
    591			      <0x5fe40000 0x80000>;	/* GICR */
    592			interrupt-controller;
    593			#interrupt-cells = <3>;
    594			interrupts = <1 9 4>;
    595		};
    596
    597		sysctrl@61840000 {
    598			compatible = "socionext,uniphier-ld11-sysctrl",
    599				     "simple-mfd", "syscon";
    600			reg = <0x61840000 0x10000>;
    601
    602			sys_clk: clock {
    603				compatible = "socionext,uniphier-ld11-clock";
    604				#clock-cells = <1>;
    605			};
    606
    607			sys_rst: reset {
    608				compatible = "socionext,uniphier-ld11-reset";
    609				#reset-cells = <1>;
    610			};
    611
    612			watchdog {
    613				compatible = "socionext,uniphier-wdt";
    614			};
    615		};
    616
    617		eth: ethernet@65000000 {
    618			compatible = "socionext,uniphier-ld11-ave4";
    619			status = "disabled";
    620			reg = <0x65000000 0x8500>;
    621			interrupts = <0 66 4>;
    622			clock-names = "ether";
    623			clocks = <&sys_clk 6>;
    624			reset-names = "ether";
    625			resets = <&sys_rst 6>;
    626			phy-mode = "internal";
    627			local-mac-address = [00 00 00 00 00 00];
    628			socionext,syscon-phy-mode = <&soc_glue 0>;
    629
    630			mdio: mdio {
    631				#address-cells = <1>;
    632				#size-cells = <0>;
    633			};
    634		};
    635
    636		nand: nand-controller@68000000 {
    637			compatible = "socionext,uniphier-denali-nand-v5b";
    638			status = "disabled";
    639			reg-names = "nand_data", "denali_reg";
    640			reg = <0x68000000 0x20>, <0x68100000 0x1000>;
    641			#address-cells = <1>;
    642			#size-cells = <0>;
    643			interrupts = <0 65 4>;
    644			pinctrl-names = "default";
    645			pinctrl-0 = <&pinctrl_nand>;
    646			clock-names = "nand", "nand_x", "ecc";
    647			clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>;
    648			reset-names = "nand", "reg";
    649			resets = <&sys_rst 2>, <&sys_rst 2>;
    650		};
    651	};
    652};
    653
    654#include "uniphier-pinctrl.dtsi"
    655
    656&pinctrl_aoutiec1 {
    657	drive-strength = <4>;	/* default: 4mA */
    658
    659	ao1arc {
    660		pins = "AO1ARC";
    661		drive-strength = <8>;	/* 8mA */
    662	};
    663};