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

jz4740.dtsi (6741B)


      1// SPDX-License-Identifier: GPL-2.0
      2#include <dt-bindings/clock/ingenic,jz4740-cgu.h>
      3#include <dt-bindings/clock/ingenic,tcu.h>
      4
      5/ {
      6	#address-cells = <1>;
      7	#size-cells = <1>;
      8	compatible = "ingenic,jz4740";
      9
     10	cpus {
     11		#address-cells = <1>;
     12		#size-cells = <0>;
     13
     14		cpu0: cpu@0 {
     15			device_type = "cpu";
     16			compatible = "ingenic,xburst-mxu1.0";
     17			reg = <0>;
     18
     19			clocks = <&cgu JZ4740_CLK_CCLK>;
     20			clock-names = "cpu";
     21		};
     22	};
     23
     24	cpuintc: interrupt-controller {
     25		#address-cells = <0>;
     26		#interrupt-cells = <1>;
     27		interrupt-controller;
     28		compatible = "mti,cpu-interrupt-controller";
     29	};
     30
     31	intc: interrupt-controller@10001000 {
     32		compatible = "ingenic,jz4740-intc";
     33		reg = <0x10001000 0x14>;
     34
     35		interrupt-controller;
     36		#interrupt-cells = <1>;
     37
     38		interrupt-parent = <&cpuintc>;
     39		interrupts = <2>;
     40	};
     41
     42	ext: ext {
     43		compatible = "fixed-clock";
     44		#clock-cells = <0>;
     45	};
     46
     47	rtc: rtc {
     48		compatible = "fixed-clock";
     49		#clock-cells = <0>;
     50		clock-frequency = <32768>;
     51	};
     52
     53	cgu: jz4740-cgu@10000000 {
     54		compatible = "ingenic,jz4740-cgu";
     55		reg = <0x10000000 0x100>;
     56
     57		clocks = <&ext>, <&rtc>;
     58		clock-names = "ext", "rtc";
     59
     60		#clock-cells = <1>;
     61	};
     62
     63	tcu: timer@10002000 {
     64		compatible = "ingenic,jz4740-tcu", "simple-mfd";
     65		reg = <0x10002000 0x1000>;
     66		#address-cells = <1>;
     67		#size-cells = <1>;
     68		ranges = <0x0 0x10002000 0x1000>;
     69
     70		#clock-cells = <1>;
     71
     72		clocks = <&cgu JZ4740_CLK_RTC>,
     73			 <&cgu JZ4740_CLK_EXT>,
     74			 <&cgu JZ4740_CLK_PCLK>,
     75			 <&cgu JZ4740_CLK_TCU>;
     76		clock-names = "rtc", "ext", "pclk", "tcu";
     77
     78		interrupt-controller;
     79		#interrupt-cells = <1>;
     80
     81		interrupt-parent = <&intc>;
     82		interrupts = <23 22 21>;
     83
     84		watchdog: watchdog@0 {
     85			compatible = "ingenic,jz4740-watchdog";
     86			reg = <0x0 0xc>;
     87
     88			clocks = <&tcu TCU_CLK_WDT>;
     89			clock-names = "wdt";
     90		};
     91
     92		pwm: pwm@40 {
     93			compatible = "ingenic,jz4740-pwm";
     94			reg = <0x40 0x80>;
     95
     96			#pwm-cells = <3>;
     97
     98			clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
     99				 <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>,
    100				 <&tcu TCU_CLK_TIMER4>, <&tcu TCU_CLK_TIMER5>,
    101				 <&tcu TCU_CLK_TIMER6>, <&tcu TCU_CLK_TIMER7>;
    102			clock-names = "timer0", "timer1", "timer2", "timer3",
    103				      "timer4", "timer5", "timer6", "timer7";
    104		};
    105	};
    106
    107	rtc_dev: rtc@10003000 {
    108		compatible = "ingenic,jz4740-rtc";
    109		reg = <0x10003000 0x40>;
    110
    111		interrupt-parent = <&intc>;
    112		interrupts = <15>;
    113
    114		clocks = <&cgu JZ4740_CLK_RTC>;
    115		clock-names = "rtc";
    116	};
    117
    118	pinctrl: pin-controller@10010000 {
    119		compatible = "ingenic,jz4740-pinctrl";
    120		reg = <0x10010000 0x400>;
    121
    122		#address-cells = <1>;
    123		#size-cells = <0>;
    124
    125		gpa: gpio@0 {
    126			compatible = "ingenic,jz4740-gpio";
    127			reg = <0>;
    128
    129			gpio-controller;
    130			gpio-ranges = <&pinctrl 0 0 32>;
    131			#gpio-cells = <2>;
    132
    133			interrupt-controller;
    134			#interrupt-cells = <2>;
    135
    136			interrupt-parent = <&intc>;
    137			interrupts = <28>;
    138		};
    139
    140		gpb: gpio@1 {
    141			compatible = "ingenic,jz4740-gpio";
    142			reg = <1>;
    143
    144			gpio-controller;
    145			gpio-ranges = <&pinctrl 0 32 32>;
    146			#gpio-cells = <2>;
    147
    148			interrupt-controller;
    149			#interrupt-cells = <2>;
    150
    151			interrupt-parent = <&intc>;
    152			interrupts = <27>;
    153		};
    154
    155		gpc: gpio@2 {
    156			compatible = "ingenic,jz4740-gpio";
    157			reg = <2>;
    158
    159			gpio-controller;
    160			gpio-ranges = <&pinctrl 0 64 32>;
    161			#gpio-cells = <2>;
    162
    163			interrupt-controller;
    164			#interrupt-cells = <2>;
    165
    166			interrupt-parent = <&intc>;
    167			interrupts = <26>;
    168		};
    169
    170		gpd: gpio@3 {
    171			compatible = "ingenic,jz4740-gpio";
    172			reg = <3>;
    173
    174			gpio-controller;
    175			gpio-ranges = <&pinctrl 0 96 32>;
    176			#gpio-cells = <2>;
    177
    178			interrupt-controller;
    179			#interrupt-cells = <2>;
    180
    181			interrupt-parent = <&intc>;
    182			interrupts = <25>;
    183		};
    184	};
    185
    186	aic: audio-controller@10020000 {
    187		compatible = "ingenic,jz4740-i2s";
    188		reg = <0x10020000 0x38>;
    189
    190		#sound-dai-cells = <0>;
    191
    192		interrupt-parent = <&intc>;
    193		interrupts = <18>;
    194
    195		clocks = <&cgu JZ4740_CLK_AIC>,
    196			 <&cgu JZ4740_CLK_I2S>,
    197			 <&cgu JZ4740_CLK_EXT>,
    198			 <&cgu JZ4740_CLK_PLL_HALF>;
    199		clock-names = "aic", "i2s", "ext", "pll half";
    200
    201		dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>;
    202		dma-names = "rx", "tx";
    203	};
    204
    205	codec: audio-codec@100200a4 {
    206		compatible = "ingenic,jz4740-codec";
    207		reg = <0x10020080 0x8>;
    208
    209		#sound-dai-cells = <0>;
    210
    211		clocks = <&cgu JZ4740_CLK_AIC>;
    212		clock-names = "aic";
    213	};
    214
    215	mmc: mmc@10021000 {
    216		compatible = "ingenic,jz4740-mmc";
    217		reg = <0x10021000 0x1000>;
    218
    219		clocks = <&cgu JZ4740_CLK_MMC>;
    220		clock-names = "mmc";
    221
    222		interrupt-parent = <&intc>;
    223		interrupts = <14>;
    224
    225		dmas = <&dmac 27 0xffffffff>, <&dmac 26 0xffffffff>;
    226		dma-names = "rx", "tx";
    227
    228		cap-sd-highspeed;
    229		cap-mmc-highspeed;
    230		cap-sdio-irq;
    231	};
    232
    233	uart0: serial@10030000 {
    234		compatible = "ingenic,jz4740-uart";
    235		reg = <0x10030000 0x100>;
    236
    237		interrupt-parent = <&intc>;
    238		interrupts = <9>;
    239
    240		clocks = <&ext>, <&cgu JZ4740_CLK_UART0>;
    241		clock-names = "baud", "module";
    242	};
    243
    244	uart1: serial@10031000 {
    245		compatible = "ingenic,jz4740-uart";
    246		reg = <0x10031000 0x100>;
    247
    248		interrupt-parent = <&intc>;
    249		interrupts = <8>;
    250
    251		clocks = <&ext>, <&cgu JZ4740_CLK_UART1>;
    252		clock-names = "baud", "module";
    253	};
    254
    255	adc: adc@10070000 {
    256		compatible = "ingenic,jz4740-adc";
    257		reg = <0x10070000 0x30>;
    258		#io-channel-cells = <1>;
    259
    260		clocks = <&cgu JZ4740_CLK_ADC>;
    261		clock-names = "adc";
    262
    263		interrupt-parent = <&intc>;
    264		interrupts = <12>;
    265	};
    266
    267	nemc: memory-controller@13010000 {
    268		compatible = "ingenic,jz4740-nemc";
    269		reg = <0x13010000 0x54>;
    270		#address-cells = <2>;
    271		#size-cells = <1>;
    272		ranges = <1 0 0x18000000 0x4000000>,
    273			 <2 0 0x14000000 0x4000000>,
    274			 <3 0 0x0c000000 0x4000000>,
    275			 <4 0 0x08000000 0x4000000>;
    276
    277		clocks = <&cgu JZ4740_CLK_MCLK>;
    278	};
    279
    280	ecc: ecc-controller@13010100 {
    281		compatible = "ingenic,jz4740-ecc";
    282		reg = <0x13010100 0x2C>;
    283
    284		clocks = <&cgu JZ4740_CLK_MCLK>;
    285	};
    286
    287	dmac: dma-controller@13020000 {
    288		compatible = "ingenic,jz4740-dma";
    289		reg = <0x13020000 0xbc>, <0x13020300 0x14>;
    290		#dma-cells = <2>;
    291
    292		interrupt-parent = <&intc>;
    293		interrupts = <20>;
    294
    295		clocks = <&cgu JZ4740_CLK_DMA>;
    296	};
    297
    298	uhc: usb@13030000 {
    299		compatible = "ingenic,jz4740-ohci", "generic-ohci";
    300		reg = <0x13030000 0x1000>;
    301
    302		clocks = <&cgu JZ4740_CLK_UHC>;
    303		assigned-clocks = <&cgu JZ4740_CLK_UHC>;
    304		assigned-clock-rates = <48000000>;
    305
    306		interrupt-parent = <&intc>;
    307		interrupts = <3>;
    308
    309		status = "disabled";
    310	};
    311
    312	udc: usb@13040000 {
    313		compatible = "ingenic,jz4740-musb";
    314		reg = <0x13040000 0x10000>;
    315
    316		interrupt-parent = <&intc>;
    317		interrupts = <24>;
    318		interrupt-names = "mc";
    319
    320		clocks = <&cgu JZ4740_CLK_UDC>;
    321		clock-names = "udc";
    322	};
    323
    324	lcd: lcd-controller@13050000 {
    325		compatible = "ingenic,jz4740-lcd";
    326		reg = <0x13050000 0x60>; /* LCDCMD1+4 */
    327
    328		interrupt-parent = <&intc>;
    329		interrupts = <30>;
    330
    331		clocks = <&cgu JZ4740_CLK_LCD_PCLK>, <&cgu JZ4740_CLK_LCD>;
    332		clock-names = "lcd_pclk", "lcd";
    333	};
    334};