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

fsd.dtsi (21740B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Tesla Full Self-Driving SoC device tree source
      4 *
      5 * Copyright (c) 2017-2022 Samsung Electronics Co., Ltd.
      6 *		https://www.samsung.com
      7 * Copyright (c) 2017-2022 Tesla, Inc.
      8 *		https://www.tesla.com
      9 */
     10
     11#include <dt-bindings/clock/fsd-clk.h>
     12#include <dt-bindings/interrupt-controller/arm-gic.h>
     13
     14/ {
     15	compatible = "tesla,fsd";
     16	interrupt-parent = <&gic>;
     17	#address-cells = <2>;
     18	#size-cells = <2>;
     19
     20	aliases {
     21		i2c0 = &hsi2c_0;
     22		i2c1 = &hsi2c_1;
     23		i2c2 = &hsi2c_2;
     24		i2c3 = &hsi2c_3;
     25		i2c4 = &hsi2c_4;
     26		i2c5 = &hsi2c_5;
     27		i2c6 = &hsi2c_6;
     28		i2c7 = &hsi2c_7;
     29		pinctrl0 = &pinctrl_fsys0;
     30		pinctrl1 = &pinctrl_peric;
     31		pinctrl2 = &pinctrl_pmu;
     32		spi0 = &spi_0;
     33		spi1 = &spi_1;
     34		spi2 = &spi_2;
     35	};
     36
     37	cpus {
     38		#address-cells = <2>;
     39		#size-cells = <0>;
     40
     41		cpu-map {
     42			cluster0 {
     43				core0 {
     44					cpu = <&cpucl0_0>;
     45				};
     46				core1 {
     47					cpu = <&cpucl0_1>;
     48				};
     49				core2 {
     50					cpu = <&cpucl0_2>;
     51				};
     52				core3 {
     53					cpu = <&cpucl0_3>;
     54				};
     55			};
     56
     57			cluster1 {
     58				core0 {
     59					cpu = <&cpucl1_0>;
     60				};
     61				core1 {
     62					cpu = <&cpucl1_1>;
     63				};
     64				core2 {
     65					cpu = <&cpucl1_2>;
     66				};
     67				core3 {
     68					cpu = <&cpucl1_3>;
     69				};
     70			};
     71
     72			cluster2 {
     73				core0 {
     74					cpu = <&cpucl2_0>;
     75				};
     76				core1 {
     77					cpu = <&cpucl2_1>;
     78				};
     79				core2 {
     80					cpu = <&cpucl2_2>;
     81				};
     82				core3 {
     83					cpu = <&cpucl2_3>;
     84				};
     85			};
     86		};
     87
     88		/* Cluster 0 */
     89		cpucl0_0: cpu@0 {
     90				device_type = "cpu";
     91				compatible = "arm,cortex-a72";
     92				reg = <0x0 0x000>;
     93				enable-method = "psci";
     94				clock-frequency = <2400000000>;
     95				cpu-idle-states = <&CPU_SLEEP>;
     96		};
     97
     98		cpucl0_1: cpu@1 {
     99				device_type = "cpu";
    100				compatible = "arm,cortex-a72";
    101				reg = <0x0 0x001>;
    102				enable-method = "psci";
    103				clock-frequency = <2400000000>;
    104				cpu-idle-states = <&CPU_SLEEP>;
    105		};
    106
    107		cpucl0_2: cpu@2 {
    108				device_type = "cpu";
    109				compatible = "arm,cortex-a72";
    110				reg = <0x0 0x002>;
    111				enable-method = "psci";
    112				clock-frequency = <2400000000>;
    113				cpu-idle-states = <&CPU_SLEEP>;
    114		};
    115
    116		cpucl0_3: cpu@3 {
    117				device_type = "cpu";
    118				compatible = "arm,cortex-a72";
    119				reg = <0x0 0x003>;
    120				enable-method = "psci";
    121				cpu-idle-states = <&CPU_SLEEP>;
    122		};
    123
    124		/* Cluster 1 */
    125		cpucl1_0: cpu@100 {
    126				device_type = "cpu";
    127				compatible = "arm,cortex-a72";
    128				reg = <0x0 0x100>;
    129				enable-method = "psci";
    130				clock-frequency = <2400000000>;
    131				cpu-idle-states = <&CPU_SLEEP>;
    132		};
    133
    134		cpucl1_1: cpu@101 {
    135				device_type = "cpu";
    136				compatible = "arm,cortex-a72";
    137				reg = <0x0 0x101>;
    138				enable-method = "psci";
    139				clock-frequency = <2400000000>;
    140				cpu-idle-states = <&CPU_SLEEP>;
    141		};
    142
    143		cpucl1_2: cpu@102 {
    144				device_type = "cpu";
    145				compatible = "arm,cortex-a72";
    146				reg = <0x0 0x102>;
    147				enable-method = "psci";
    148				clock-frequency = <2400000000>;
    149				cpu-idle-states = <&CPU_SLEEP>;
    150		};
    151
    152		cpucl1_3: cpu@103 {
    153				device_type = "cpu";
    154				compatible = "arm,cortex-a72";
    155				reg = <0x0 0x103>;
    156				enable-method = "psci";
    157				clock-frequency = <2400000000>;
    158				cpu-idle-states = <&CPU_SLEEP>;
    159		};
    160
    161		/* Cluster 2 */
    162		cpucl2_0: cpu@200 {
    163				device_type = "cpu";
    164				compatible = "arm,cortex-a72";
    165				reg = <0x0 0x200>;
    166				enable-method = "psci";
    167				clock-frequency = <2400000000>;
    168				cpu-idle-states = <&CPU_SLEEP>;
    169		};
    170
    171		cpucl2_1: cpu@201 {
    172				device_type = "cpu";
    173				compatible = "arm,cortex-a72";
    174				reg = <0x0 0x201>;
    175				enable-method = "psci";
    176				clock-frequency = <2400000000>;
    177				cpu-idle-states = <&CPU_SLEEP>;
    178		};
    179
    180		cpucl2_2: cpu@202 {
    181				device_type = "cpu";
    182				compatible = "arm,cortex-a72";
    183				reg = <0x0 0x202>;
    184				enable-method = "psci";
    185				clock-frequency = <2400000000>;
    186				cpu-idle-states = <&CPU_SLEEP>;
    187		};
    188
    189		cpucl2_3: cpu@203 {
    190				device_type = "cpu";
    191				compatible = "arm,cortex-a72";
    192				reg = <0x0 0x203>;
    193				enable-method = "psci";
    194				clock-frequency = <2400000000>;
    195				cpu-idle-states = <&CPU_SLEEP>;
    196		};
    197
    198		idle-states {
    199			entry-method = "psci";
    200
    201			CPU_SLEEP: cpu-sleep {
    202				idle-state-name = "c2";
    203				compatible = "arm,idle-state";
    204				local-timer-stop;
    205				arm,psci-suspend-param = <0x0010000>;
    206				entry-latency-us = <30>;
    207				exit-latency-us = <75>;
    208				min-residency-us = <300>;
    209			};
    210		};
    211	};
    212
    213	arm-pmu {
    214		compatible = "arm,armv8-pmuv3";
    215		interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>,
    216			     <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>,
    217			     <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
    218			     <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
    219			     <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>,
    220			     <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>,
    221			     <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>,
    222			     <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>,
    223			     <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>,
    224			     <GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>,
    225			     <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>,
    226			     <GIC_SPI 387 IRQ_TYPE_LEVEL_HIGH>;
    227		interrupt-affinity = <&cpucl0_0>, <&cpucl0_1>, <&cpucl0_2>,
    228				     <&cpucl0_3>, <&cpucl1_0>, <&cpucl1_1>,
    229				     <&cpucl1_2>, <&cpucl1_3>, <&cpucl2_0>,
    230				     <&cpucl2_1>, <&cpucl2_2>, <&cpucl2_3>;
    231	};
    232
    233	psci {
    234		compatible = "arm,psci-1.0";
    235		method = "smc";
    236	};
    237
    238	timer {
    239		compatible = "arm,armv8-timer";
    240		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
    241			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
    242			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
    243			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
    244	};
    245
    246	fin_pll: clock {
    247		compatible = "fixed-clock";
    248		clock-output-names = "fin_pll";
    249		#clock-cells = <0>;
    250	};
    251
    252	soc: soc@0 {
    253		compatible = "simple-bus";
    254		#address-cells = <2>;
    255		#size-cells = <2>;
    256		ranges = <0x0 0x0 0x0 0x0 0x0 0x18000000>;
    257		dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>;
    258
    259		gic: interrupt-controller@10400000 {
    260			compatible = "arm,gic-v3";
    261			#interrupt-cells = <3>;
    262			interrupt-controller;
    263			reg =	<0x0 0x10400000 0x0 0x10000>, /* GICD */
    264				<0x0 0x10600000 0x0 0x200000>; /* GICR_RD+GICR_SGI */
    265			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
    266		};
    267
    268		smmu_imem: iommu@10200000 {
    269			compatible = "arm,mmu-500";
    270			reg = <0x0 0x10200000 0x0 0x10000>;
    271			#iommu-cells = <2>;
    272			#global-interrupts = <7>;
    273			interrupts = <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */
    274				     <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */
    275				     <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>, /* Combined secure interrupt */
    276				     <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */
    277				     /* Performance counter interrupts */
    278				     <GIC_SPI 441 IRQ_TYPE_LEVEL_HIGH>, /* for FSYS1_0 */
    279				     <GIC_SPI 442 IRQ_TYPE_LEVEL_HIGH>, /* for FSYS1_1 */
    280				     <GIC_SPI 443 IRQ_TYPE_LEVEL_HIGH>, /* for IMEM_0  */
    281				     /* Per context non-secure context interrupts, 0-3 interrupts */
    282				     <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_0 */
    283				     <GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_1 */
    284				     <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_2 */
    285				     <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>; /* for CONTEXT_3 */
    286		};
    287
    288		smmu_isp: iommu@12100000 {
    289			compatible = "arm,mmu-500";
    290			reg = <0x0 0x12100000 0x0 0x10000>;
    291			#iommu-cells = <2>;
    292			#global-interrupts = <11>;
    293			interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */
    294				     <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */
    295				     <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>, /* Combined secure interrupt */
    296				     <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */
    297				     /* Performance counter interrupts */
    298				     <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_CSI   */
    299				     <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_DP_0  */
    300				     <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_DP_1  */
    301				     <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_ISP_0 */
    302				     <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_ISP_1 */
    303				     <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_MFC_0 */
    304				     <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_MFC_1 */
    305				     /* Per context non-secure context interrupts, 0-7 interrupts */
    306				     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_0 */
    307				     <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_1 */
    308				     <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_2 */
    309				     <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_3 */
    310				     <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_4 */
    311				     <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_5 */
    312				     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_6 */
    313				     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; /* for CONTEXT_7 */
    314		};
    315
    316		smmu_peric: iommu@14900000 {
    317			compatible = "arm,mmu-500";
    318			reg = <0x0 0x14900000 0x0 0x10000>;
    319			#iommu-cells = <2>;
    320			#global-interrupts = <5>;
    321			interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */
    322				     <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */
    323				     <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>, /* Combined secure interrupt */
    324				     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */
    325				     /* Performance counter interrupts */
    326				     <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, /* for PERIC */
    327				     /* Per context non-secure context interrupts, 0-1 interrupts */
    328				     <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_0 */
    329				     <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; /* for CONTEXT_1 */
    330		};
    331
    332		smmu_fsys0: iommu@15450000 {
    333			compatible = "arm,mmu-500";
    334			reg = <0x0 0x15450000 0x0 0x10000>;
    335			#iommu-cells = <2>;
    336			#global-interrupts = <5>;
    337			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */
    338				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */
    339				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, /* Combined secure interrupt */
    340				     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */
    341				     /* Performance counter interrupts */
    342				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, /* for FSYS0   */
    343				     /* Per context non-secure context interrupts, 0-1 interrupts */
    344				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_0 */
    345				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; /* for CONTEXT_1 */
    346		};
    347
    348		clock_imem: clock-controller@10010000 {
    349			compatible = "tesla,fsd-clock-imem";
    350			reg = <0x0 0x10010000 0x0 0x3000>;
    351			#clock-cells = <1>;
    352			clocks = <&fin_pll>,
    353				<&clock_cmu DOUT_CMU_IMEM_TCUCLK>,
    354				<&clock_cmu DOUT_CMU_IMEM_ACLK>,
    355				<&clock_cmu DOUT_CMU_IMEM_DMACLK>;
    356			clock-names = "fin_pll",
    357				"dout_cmu_imem_tcuclk",
    358				"dout_cmu_imem_aclk",
    359				"dout_cmu_imem_dmaclk";
    360		};
    361
    362		clock_cmu: clock-controller@11c10000 {
    363			compatible = "tesla,fsd-clock-cmu";
    364			reg = <0x0 0x11c10000 0x0 0x3000>;
    365			#clock-cells = <1>;
    366			clocks = <&fin_pll>;
    367			clock-names = "fin_pll";
    368		};
    369
    370		clock_csi: clock-controller@12610000 {
    371			compatible = "tesla,fsd-clock-cam_csi";
    372			reg = <0x0 0x12610000 0x0 0x3000>;
    373			#clock-cells = <1>;
    374			clocks = <&fin_pll>;
    375			clock-names = "fin_pll";
    376		};
    377
    378		clock_mfc: clock-controller@12810000 {
    379			compatible = "tesla,fsd-clock-mfc";
    380			reg = <0x0 0x12810000 0x0 0x3000>;
    381			#clock-cells = <1>;
    382			clocks = <&fin_pll>;
    383			clock-names = "fin_pll";
    384		};
    385
    386		clock_peric: clock-controller@14010000 {
    387			compatible = "tesla,fsd-clock-peric";
    388			reg = <0x0 0x14010000 0x0 0x3000>;
    389			#clock-cells = <1>;
    390			clocks = <&fin_pll>,
    391				<&clock_cmu DOUT_CMU_PLL_SHARED0_DIV4>,
    392				<&clock_cmu DOUT_CMU_PERIC_SHARED1DIV36>,
    393				<&clock_cmu DOUT_CMU_PERIC_SHARED0DIV3_TBUCLK>,
    394				<&clock_cmu DOUT_CMU_PERIC_SHARED0DIV20>,
    395				<&clock_cmu DOUT_CMU_PERIC_SHARED1DIV4_DMACLK>;
    396			clock-names = "fin_pll",
    397				"dout_cmu_pll_shared0_div4",
    398				"dout_cmu_peric_shared1div36",
    399				"dout_cmu_peric_shared0div3_tbuclk",
    400				"dout_cmu_peric_shared0div20",
    401				"dout_cmu_peric_shared1div4_dmaclk";
    402		};
    403
    404		clock_fsys0: clock-controller@15010000 {
    405			compatible = "tesla,fsd-clock-fsys0";
    406			reg = <0x0 0x15010000 0x0 0x3000>;
    407			#clock-cells = <1>;
    408			clocks = <&fin_pll>,
    409				<&clock_cmu DOUT_CMU_PLL_SHARED0_DIV6>,
    410				<&clock_cmu DOUT_CMU_FSYS0_SHARED1DIV4>,
    411				<&clock_cmu DOUT_CMU_FSYS0_SHARED0DIV4>;
    412			clock-names = "fin_pll",
    413				"dout_cmu_pll_shared0_div6",
    414				"dout_cmu_fsys0_shared1div4",
    415				"dout_cmu_fsys0_shared0div4";
    416		};
    417
    418		clock_fsys1: clock-controller@16810000 {
    419			compatible = "tesla,fsd-clock-fsys1";
    420			reg = <0x0 0x16810000 0x0 0x3000>;
    421			#clock-cells = <1>;
    422			clocks = <&fin_pll>,
    423				<&clock_cmu DOUT_CMU_FSYS1_SHARED0DIV8>,
    424				<&clock_cmu DOUT_CMU_FSYS1_SHARED0DIV4>;
    425			clock-names = "fin_pll",
    426				"dout_cmu_fsys1_shared0div8",
    427				"dout_cmu_fsys1_shared0div4";
    428		};
    429
    430		mdma0: dma-controller@10100000 {
    431			compatible = "arm,pl330", "arm,primecell";
    432			reg = <0x0 0x10100000 0x0 0x1000>;
    433			interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>;
    434			#dma-cells = <1>;
    435			clocks = <&clock_imem IMEM_DMA0_IPCLKPORT_ACLK>;
    436			clock-names = "apb_pclk";
    437			iommus = <&smmu_imem 0x800 0x0>;
    438		};
    439
    440		mdma1: dma-controller@10110000 {
    441			compatible = "arm,pl330", "arm,primecell";
    442			reg = <0x0 0x10110000 0x0 0x1000>;
    443			interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
    444			#dma-cells = <1>;
    445			clocks = <&clock_imem IMEM_DMA1_IPCLKPORT_ACLK>;
    446			clock-names = "apb_pclk";
    447			iommus = <&smmu_imem 0x801 0x0>;
    448		};
    449
    450		pdma0: dma-controller@14280000 {
    451			compatible = "arm,pl330", "arm,primecell";
    452			reg = <0x0 0x14280000 0x0 0x1000>;
    453			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
    454			#dma-cells = <1>;
    455			clocks = <&clock_peric PERIC_DMA0_IPCLKPORT_ACLK>;
    456			clock-names = "apb_pclk";
    457			iommus = <&smmu_peric 0x2 0x0>;
    458		};
    459
    460		pdma1: dma-controller@14290000 {
    461			compatible = "arm,pl330", "arm,primecell";
    462			reg = <0x0 0x14290000 0x0 0x1000>;
    463			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
    464			#dma-cells = <1>;
    465			clocks = <&clock_peric PERIC_DMA1_IPCLKPORT_ACLK>;
    466			clock-names = "apb_pclk";
    467			iommus = <&smmu_peric 0x1 0x0>;
    468		};
    469
    470		serial_0: serial@14180000 {
    471			compatible = "samsung,exynos4210-uart";
    472			reg = <0x0 0x14180000 0x0 0x100>;
    473			interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
    474			dmas = <&pdma1 1>, <&pdma1 0>;
    475			dma-names = "rx", "tx";
    476			clocks = <&clock_peric PERIC_PCLK_UART0>,
    477				 <&clock_peric PERIC_SCLK_UART0>;
    478			clock-names = "uart", "clk_uart_baud0";
    479			status = "disabled";
    480		};
    481
    482		serial_1: serial@14190000 {
    483			compatible = "samsung,exynos4210-uart";
    484			reg = <0x0 0x14190000 0x0 0x100>;
    485			interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
    486			dmas = <&pdma1 3>, <&pdma1 2>;
    487			dma-names = "rx", "tx";
    488			clocks = <&clock_peric PERIC_PCLK_UART1>,
    489				 <&clock_peric PERIC_SCLK_UART1>;
    490			clock-names = "uart", "clk_uart_baud0";
    491			status = "disabled";
    492		};
    493
    494		pmu_system_controller: system-controller@11400000 {
    495			compatible = "samsung,exynos7-pmu", "syscon";
    496			reg = <0x0 0x11400000 0x0 0x5000>;
    497		};
    498
    499		watchdog_0: watchdog@100a0000 {
    500			compatible = "samsung,exynos7-wdt";
    501			reg = <0x0 0x100a0000 0x0 0x100>;
    502			interrupts = <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH>;
    503			samsung,syscon-phandle = <&pmu_system_controller>;
    504			clocks = <&fin_pll>;
    505			clock-names = "watchdog";
    506		};
    507
    508		watchdog_1: watchdog@100b0000 {
    509			compatible = "samsung,exynos7-wdt";
    510			reg = <0x0 0x100b0000 0x0 0x100>;
    511			interrupts = <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>;
    512			samsung,syscon-phandle = <&pmu_system_controller>;
    513			clocks = <&fin_pll>;
    514			clock-names = "watchdog";
    515		};
    516
    517		watchdog_2: watchdog@100c0000 {
    518			compatible = "samsung,exynos7-wdt";
    519			reg = <0x0 0x100c0000 0x0 0x100>;
    520			interrupts = <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>;
    521			samsung,syscon-phandle = <&pmu_system_controller>;
    522			clocks = <&fin_pll>;
    523			clock-names = "watchdog";
    524		};
    525
    526		pwm_0: pwm@14100000 {
    527			compatible = "samsung,exynos4210-pwm";
    528			reg = <0x0 0x14100000 0x0 0x100>;
    529			samsung,pwm-outputs = <0>, <1>, <2>, <3>;
    530			#pwm-cells = <3>;
    531			clocks = <&clock_peric PERIC_PWM0_IPCLKPORT_I_PCLK_S0>;
    532			clock-names = "timers";
    533			status = "disabled";
    534		};
    535
    536		pwm_1: pwm@14110000 {
    537			compatible = "samsung,exynos4210-pwm";
    538			reg = <0x0 0x14110000 0x0 0x100>;
    539			samsung,pwm-outputs = <0>, <1>, <2>, <3>;
    540			#pwm-cells = <3>;
    541			clocks = <&clock_peric PERIC_PWM1_IPCLKPORT_I_PCLK_S0>;
    542			clock-names = "timers";
    543			status = "disabled";
    544		};
    545
    546		hsi2c_0: i2c@14200000 {
    547			compatible = "samsung,exynos7-hsi2c";
    548			reg = <0x0 0x14200000 0x0 0x1000>;
    549			interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
    550			#address-cells = <1>;
    551			#size-cells = <0>;
    552			pinctrl-names = "default";
    553			pinctrl-0 = <&hs_i2c0_bus>;
    554			clocks = <&clock_peric PERIC_PCLK_HSI2C0>;
    555			clock-names = "hsi2c";
    556			status = "disabled";
    557		};
    558
    559		hsi2c_1: i2c@14210000 {
    560			compatible = "samsung,exynos7-hsi2c";
    561			reg = <0x0 0x14210000 0x0 0x1000>;
    562			interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
    563			#address-cells = <1>;
    564			#size-cells = <0>;
    565			pinctrl-names = "default";
    566			pinctrl-0 = <&hs_i2c1_bus>;
    567			clocks = <&clock_peric PERIC_PCLK_HSI2C1>;
    568			clock-names = "hsi2c";
    569			status = "disabled";
    570		};
    571
    572		hsi2c_2: i2c@14220000 {
    573			compatible = "samsung,exynos7-hsi2c";
    574			reg = <0x0 0x14220000 0x0 0x1000>;
    575			interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
    576			#address-cells = <1>;
    577			#size-cells = <0>;
    578			pinctrl-names = "default";
    579			pinctrl-0 = <&hs_i2c2_bus>;
    580			clocks = <&clock_peric PERIC_PCLK_HSI2C2>;
    581			clock-names = "hsi2c";
    582			status = "disabled";
    583		};
    584
    585		hsi2c_3: i2c@14230000 {
    586			compatible = "samsung,exynos7-hsi2c";
    587			reg = <0x0 0x14230000 0x0 0x1000>;
    588			interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
    589			#address-cells = <1>;
    590			#size-cells = <0>;
    591			pinctrl-names = "default";
    592			pinctrl-0 = <&hs_i2c3_bus>;
    593			clocks = <&clock_peric PERIC_PCLK_HSI2C3>;
    594			clock-names = "hsi2c";
    595			status = "disabled";
    596		};
    597
    598		hsi2c_4: i2c@14240000 {
    599			compatible = "samsung,exynos7-hsi2c";
    600			reg = <0x0 0x14240000 0x0 0x1000>;
    601			interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
    602			#address-cells = <1>;
    603			#size-cells = <0>;
    604			pinctrl-names = "default";
    605			pinctrl-0 = <&hs_i2c4_bus>;
    606			clocks = <&clock_peric PERIC_PCLK_HSI2C4>;
    607			clock-names = "hsi2c";
    608			status = "disabled";
    609		};
    610
    611		hsi2c_5: i2c@14250000 {
    612			compatible = "samsung,exynos7-hsi2c";
    613			reg = <0x0 0x14250000 0x0 0x1000>;
    614			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
    615			#address-cells = <1>;
    616			#size-cells = <0>;
    617			pinctrl-names = "default";
    618			pinctrl-0 = <&hs_i2c5_bus>;
    619			clocks = <&clock_peric PERIC_PCLK_HSI2C5>;
    620			clock-names = "hsi2c";
    621			status = "disabled";
    622		};
    623
    624		hsi2c_6: i2c@14260000 {
    625			compatible = "samsung,exynos7-hsi2c";
    626			reg = <0x0 0x14260000 0x0 0x1000>;
    627			interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
    628			#address-cells = <1>;
    629			#size-cells = <0>;
    630			pinctrl-names = "default";
    631			pinctrl-0 = <&hs_i2c6_bus>;
    632			clocks = <&clock_peric PERIC_PCLK_HSI2C6>;
    633			clock-names = "hsi2c";
    634			status = "disabled";
    635		};
    636
    637		hsi2c_7: i2c@14270000 {
    638			compatible = "samsung,exynos7-hsi2c";
    639			reg = <0x0 0x14270000 0x0 0x1000>;
    640			interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
    641			#address-cells = <1>;
    642			#size-cells = <0>;
    643			pinctrl-names = "default";
    644			pinctrl-0 = <&hs_i2c7_bus>;
    645			clocks = <&clock_peric PERIC_PCLK_HSI2C7>;
    646			clock-names = "hsi2c";
    647			status = "disabled";
    648		};
    649
    650		pinctrl_pmu: pinctrl@114f0000 {
    651			compatible = "tesla,fsd-pinctrl";
    652			reg = <0x0 0x114f0000 0x0 0x1000>;
    653		};
    654
    655		pinctrl_peric: pinctrl@141f0000 {
    656			compatible = "tesla,fsd-pinctrl";
    657			reg = <0x0 0x141f0000 0x0 0x1000>;
    658			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
    659		};
    660
    661		pinctrl_fsys0: pinctrl@15020000 {
    662			compatible = "tesla,fsd-pinctrl";
    663			reg = <0x0 0x15020000 0x0 0x1000>;
    664			interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
    665		};
    666
    667		spi_0: spi@14140000 {
    668			compatible = "tesla,fsd-spi";
    669			reg = <0x0 0x14140000 0x0 0x100>;
    670			interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
    671			dmas = <&pdma1 4>, <&pdma1 5>;
    672			dma-names = "tx", "rx";
    673			#address-cells = <1>;
    674			#size-cells = <0>;
    675			clocks = <&clock_peric PERIC_PCLK_SPI0>,
    676				<&clock_peric PERIC_SCLK_SPI0>;
    677			clock-names = "spi", "spi_busclk0";
    678			samsung,spi-src-clk = <0>;
    679			pinctrl-names = "default";
    680			pinctrl-0 = <&spi0_bus>;
    681			num-cs = <1>;
    682			status = "disabled";
    683		};
    684
    685		spi_1: spi@14150000 {
    686			compatible = "tesla,fsd-spi";
    687			reg = <0x0 0x14150000 0x0 0x100>;
    688			interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
    689			dmas = <&pdma1 6>, <&pdma1 7>;
    690			dma-names = "tx", "rx";
    691			#address-cells = <1>;
    692			#size-cells = <0>;
    693			clocks = <&clock_peric PERIC_PCLK_SPI1>,
    694				<&clock_peric PERIC_SCLK_SPI1>;
    695			clock-names = "spi", "spi_busclk0";
    696			samsung,spi-src-clk = <0>;
    697			pinctrl-names = "default";
    698			pinctrl-0 = <&spi1_bus>;
    699			num-cs = <1>;
    700			status = "disabled";
    701		};
    702
    703		spi_2: spi@14160000 {
    704			compatible = "tesla,fsd-spi";
    705			reg = <0x0 0x14160000 0x0 0x100>;
    706			interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
    707			dmas = <&pdma1 8>, <&pdma1 9>;
    708			dma-names = "tx", "rx";
    709			#address-cells = <1>;
    710			#size-cells = <0>;
    711			clocks = <&clock_peric PERIC_PCLK_SPI2>,
    712				<&clock_peric PERIC_SCLK_SPI2>;
    713			clock-names = "spi", "spi_busclk0";
    714			samsung,spi-src-clk = <0>;
    715			pinctrl-names = "default";
    716			pinctrl-0 = <&spi2_bus>;
    717			num-cs = <1>;
    718			status = "disabled";
    719		};
    720
    721		timer@10040000 {
    722			compatible = "tesla,fsd-mct", "samsung,exynos4210-mct";
    723			reg = <0x0 0x10040000 0x0 0x800>;
    724			interrupts = <GIC_SPI 455 IRQ_TYPE_LEVEL_HIGH>,
    725				<GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>,
    726				<GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>,
    727				<GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
    728				<GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
    729				<GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>,
    730				<GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>,
    731				<GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
    732				<GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
    733				<GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
    734				<GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
    735				<GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
    736				<GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
    737				<GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
    738				<GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>,
    739				<GIC_SPI 470 IRQ_TYPE_LEVEL_HIGH>;
    740			clocks = <&fin_pll>, <&clock_imem IMEM_MCT_PCLK>;
    741			clock-names = "fin_pll", "mct";
    742		};
    743	};
    744};
    745
    746#include "fsd-pinctrl.dtsi"