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

ox820.dtsi (6791B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 * ox820.dtsi - Device tree file for Oxford Semiconductor OX820 SoC
      4 *
      5 * Copyright (C) 2016 Neil Armstrong <narmstrong@baylibre.com>
      6 */
      7
      8#include <dt-bindings/interrupt-controller/arm-gic.h>
      9#include <dt-bindings/clock/oxsemi,ox820.h>
     10#include <dt-bindings/reset/oxsemi,ox820.h>
     11
     12/ {
     13	#address-cells = <1>;
     14	#size-cells = <1>;
     15	compatible = "oxsemi,ox820";
     16
     17	cpus {
     18		#address-cells = <1>;
     19		#size-cells = <0>;
     20		enable-method = "oxsemi,ox820-smp";
     21
     22		cpu@0 {
     23			device_type = "cpu";
     24			compatible = "arm,arm11mpcore";
     25			clocks = <&armclk>;
     26			reg = <0>;
     27		};
     28
     29		cpu@1 {
     30			device_type = "cpu";
     31			compatible = "arm,arm11mpcore";
     32			clocks = <&armclk>;
     33			reg = <1>;
     34		};
     35	};
     36
     37	memory {
     38		device_type = "memory";
     39		/* Max 512MB @ 0x60000000 */
     40		reg = <0x60000000 0x20000000>;
     41	};
     42
     43	clocks {
     44		osc: oscillator {
     45			compatible = "fixed-clock";
     46			#clock-cells = <0>;
     47			clock-frequency = <25000000>;
     48		};
     49
     50		gmacclk: gmacclk {
     51			compatible = "fixed-clock";
     52			#clock-cells = <0>;
     53			clock-frequency = <125000000>;
     54		};
     55
     56		sysclk: sysclk {
     57			compatible = "fixed-factor-clock";
     58			#clock-cells = <0>;
     59			clock-div = <4>;
     60			clock-mult = <1>;
     61			clocks = <&osc>;
     62		};
     63
     64		plla: plla {
     65			compatible = "fixed-clock";
     66			#clock-cells = <0>;
     67			clock-frequency = <850000000>;
     68		};
     69
     70		armclk: armclk {
     71			compatible = "fixed-factor-clock";
     72			#clock-cells = <0>;
     73			clock-div = <2>;
     74			clock-mult = <1>;
     75			clocks = <&plla>;
     76		};
     77	};
     78
     79	soc {
     80		#address-cells = <1>;
     81		#size-cells = <1>;
     82		compatible = "simple-bus";
     83		ranges;
     84		interrupt-parent = <&gic>;
     85
     86		nandc: nand-controller@41000000 {
     87			compatible = "oxsemi,ox820-nand";
     88			reg = <0x41000000 0x100000>;
     89			clocks = <&stdclk CLK_820_NAND>;
     90			resets = <&reset RESET_NAND>;
     91			#address-cells = <1>;
     92			#size-cells = <0>;
     93			status = "disabled";
     94		};
     95
     96		etha: ethernet@40400000 {
     97			compatible = "oxsemi,ox820-dwmac", "snps,dwmac";
     98			reg = <0x40400000 0x2000>;
     99			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
    100				     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
    101			interrupt-names = "macirq", "eth_wake_irq";
    102			mac-address = [000000000000]; /* Filled in by U-Boot */
    103			phy-mode = "rgmii";
    104
    105			clocks = <&stdclk CLK_820_ETHA>, <&gmacclk>;
    106			clock-names = "gmac", "stmmaceth";
    107			resets = <&reset RESET_MAC>;
    108
    109			/* Regmap for sys registers */
    110			oxsemi,sys-ctrl = <&sys>;
    111
    112			status = "disabled";
    113		};
    114
    115		apb-bridge@44000000 {
    116			#address-cells = <1>;
    117			#size-cells = <1>;
    118			compatible = "simple-bus";
    119			ranges = <0 0x44000000 0x1000000>;
    120
    121			pinctrl: pinctrl {
    122				compatible = "oxsemi,ox820-pinctrl";
    123
    124				/* Regmap for sys registers */
    125				oxsemi,sys-ctrl = <&sys>;
    126
    127				pinctrl_uart0: uart0 {
    128					uart0 {
    129						pins = "gpio30", "gpio31";
    130						function = "fct5";
    131					};
    132				};
    133
    134				pinctrl_uart0_modem: uart0_modem {
    135					uart0_modem_a {
    136						pins = "gpio24", "gpio24", "gpio26", "gpio27";
    137						function = "fct4";
    138					};
    139					uart0_modem_b {
    140						pins = "gpio28", "gpio29";
    141						function = "fct5";
    142					};
    143				};
    144
    145				pinctrl_uart1: uart1 {
    146					uart1 {
    147						pins = "gpio7", "gpio8";
    148						function = "fct4";
    149					};
    150				};
    151
    152				pinctrl_uart1_modem: uart1_modem {
    153					uart1_modem {
    154						pins = "gpio5", "gpio6", "gpio40", "gpio41", "gpio42", "gpio43";
    155						function = "fct4";
    156					};
    157				};
    158
    159				pinctrl_etha_mdio: etha_mdio {
    160					etha_mdio {
    161						pins = "gpio3", "gpio4";
    162						function = "fct1";
    163					};
    164				};
    165
    166				pinctrl_nand: nand {
    167					nand {
    168						pins = "gpio12", "gpio13", "gpio14", "gpio15",
    169						     "gpio16", "gpio17", "gpio18", "gpio19",
    170						     "gpio20", "gpio21", "gpio22", "gpio23",
    171						     "gpio24";
    172						function = "fct1";
    173					};
    174				};
    175			};
    176
    177			gpio0: gpio@0 {
    178				compatible = "oxsemi,ox820-gpio";
    179				reg = <0x000000 0x100000>;
    180				interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
    181				#gpio-cells = <2>;
    182				gpio-controller;
    183				interrupt-controller;
    184				#interrupt-cells = <2>;
    185				ngpios = <32>;
    186				oxsemi,gpio-bank = <0>;
    187				gpio-ranges = <&pinctrl 0 0 32>;
    188			};
    189
    190			gpio1: gpio@100000 {
    191				compatible = "oxsemi,ox820-gpio";
    192				reg = <0x100000 0x100000>;
    193				interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
    194				#gpio-cells = <2>;
    195				gpio-controller;
    196				interrupt-controller;
    197				#interrupt-cells = <2>;
    198				ngpios = <18>;
    199				oxsemi,gpio-bank = <1>;
    200				gpio-ranges = <&pinctrl 0 32 18>;
    201			};
    202
    203			uart0: serial@200000 {
    204			       compatible = "ns16550a";
    205			       reg = <0x200000 0x100000>;
    206			       interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
    207			       reg-shift = <0>;
    208			       fifo-size = <16>;
    209			       reg-io-width = <1>;
    210			       current-speed = <115200>;
    211			       no-loopback-test;
    212			       status = "disabled";
    213			       clocks = <&sysclk>;
    214			       resets = <&reset RESET_UART1>;
    215			};
    216
    217			uart1: serial@300000 {
    218			       compatible = "ns16550a";
    219			       reg = <0x200000 0x100000>;
    220			       interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
    221			       reg-shift = <0>;
    222			       fifo-size = <16>;
    223			       reg-io-width = <1>;
    224			       current-speed = <115200>;
    225			       no-loopback-test;
    226			       status = "disabled";
    227			       clocks = <&sysclk>;
    228			       resets = <&reset RESET_UART2>;
    229			};
    230
    231			rps@400000 {
    232				#address-cells = <1>;
    233				#size-cells = <1>;
    234				compatible = "simple-bus";
    235				ranges = <0 0x400000 0x100000>;
    236
    237				intc: interrupt-controller@0 {
    238					compatible = "oxsemi,ox820-rps-irq", "oxsemi,ox810se-rps-irq";
    239					interrupt-controller;
    240					reg = <0 0x200>;
    241					interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
    242					#interrupt-cells = <1>;
    243					valid-mask = <0xffffffff>;
    244					clear-mask = <0xffffffff>;
    245				};
    246
    247				timer0: timer@200 {
    248					compatible = "oxsemi,ox820-rps-timer";
    249					reg = <0x200 0x40>;
    250					clocks = <&sysclk>;
    251					interrupt-parent = <&intc>;
    252					interrupts = <4>;
    253				};
    254			};
    255
    256			sys: sys-ctrl@e00000 {
    257				compatible = "oxsemi,ox820-sys-ctrl", "syscon", "simple-mfd";
    258				reg = <0xe00000 0x200000>;
    259
    260				reset: reset-controller {
    261					compatible = "oxsemi,ox820-reset", "oxsemi,ox810se-reset";
    262					#reset-cells = <1>;
    263				};
    264
    265				stdclk: stdclk {
    266					compatible = "oxsemi,ox820-stdclk", "oxsemi,ox810se-stdclk";
    267					#clock-cells = <1>;
    268				};
    269			};
    270		};
    271
    272		apb-bridge@47000000 {
    273			#address-cells = <1>;
    274			#size-cells = <1>;
    275			compatible = "simple-bus";
    276			ranges = <0 0x47000000 0x1000000>;
    277
    278			scu: scu@0 {
    279				compatible = "arm,arm11mp-scu";
    280				reg = <0x0 0x100>;
    281			};
    282
    283			local-timer@600 {
    284				compatible = "arm,arm11mp-twd-timer";
    285				reg = <0x600 0x20>;
    286				interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3)|IRQ_TYPE_LEVEL_HIGH)>;
    287				clocks = <&armclk>;
    288			};
    289
    290			gic: interrupt-controller@1000 {
    291				compatible = "arm,arm11mp-gic";
    292				interrupt-controller;
    293				#interrupt-cells = <3>;
    294				reg = <0x1000 0x1000>,
    295				      <0x100 0x500>;
    296			};
    297		};
    298	};
    299};