xref: /rk3399_ARM-atf/fdts/tc-fvp.dtsi (revision 22bde5b498623fe5c0302f4c39b656dd69b6633e)
135028bd7SLeo Yan/*
235028bd7SLeo Yan * Copyright (c) 2023-2024, Arm Limited. All rights reserved.
335028bd7SLeo Yan *
435028bd7SLeo Yan * SPDX-License-Identifier: BSD-3-Clause
535028bd7SLeo Yan */
635028bd7SLeo Yan
74e772e6bSLeo Yan#define GIC_CTRL_ADDR		2c010000
84e772e6bSLeo Yan#define GIC_GICR_OFFSET		0x200000
94e772e6bSLeo Yan#define UART_OFFSET		0x1000
10dd5bf9c5SSergio Alves
11dd5bf9c5SSergio Alves#ifdef TC_RESOLUTION_1920X1080P60
12dd5bf9c5SSergio Alves
13*1d2d96ddSJagdish Gediya#define LCD_TIMING_CLK 148500000
14*1d2d96ddSJagdish Gediya#define LCD_TIMING								\
15*1d2d96ddSJagdish Gediya	clock-frequency = <LCD_TIMING_CLK>;					\
16dd5bf9c5SSergio Alves	hactive = <1920>;							\
17dd5bf9c5SSergio Alves	vactive = <1080>;							\
18dd5bf9c5SSergio Alves	hfront-porch = <88>;							\
19dd5bf9c5SSergio Alves	hback-porch = <148>;							\
20dd5bf9c5SSergio Alves	hsync-len = <44>;							\
21dd5bf9c5SSergio Alves	vfront-porch = <4>;							\
22dd5bf9c5SSergio Alves	vback-porch = <36>;							\
23dd5bf9c5SSergio Alves	vsync-len = <5>
24dd5bf9c5SSergio Alves
25dd5bf9c5SSergio Alves#else /* TC_RESOLUTION_640X480P60 */
26dd5bf9c5SSergio Alves
27*1d2d96ddSJagdish Gediya#define LCD_TIMING_CLK 25175000
28*1d2d96ddSJagdish Gediya#define LCD_TIMING								\
29*1d2d96ddSJagdish Gediya	clock-frequency = <LCD_TIMING_CLK>;					\
304e772e6bSLeo Yan	hactive = <640>;							\
314e772e6bSLeo Yan	vactive = <480>;							\
324e772e6bSLeo Yan	hfront-porch = <16>;							\
334e772e6bSLeo Yan	hback-porch = <48>;							\
344e772e6bSLeo Yan	hsync-len = <96>;							\
354e772e6bSLeo Yan	vfront-porch = <10>;							\
364e772e6bSLeo Yan	vback-porch = <33>;							\
374e772e6bSLeo Yan	vsync-len = <2>
384e772e6bSLeo Yan
39dd5bf9c5SSergio Alves#endif
40dd5bf9c5SSergio Alves
4135028bd7SLeo Yan/ {
42e6ef3ef0SLeo Yan	chosen {
43e6ef3ef0SLeo Yan		stdout-path = "serial0:115200n8";
44e6ef3ef0SLeo Yan	};
45e6ef3ef0SLeo Yan
46e9e83e96SJackson Cooper-Driver	ethernet: ethernet@ETHERNET_ADDR {
47e6ef3ef0SLeo Yan		compatible = "smsc,lan91c111";
48e6ef3ef0SLeo Yan	};
49e6ef3ef0SLeo Yan
50e9e83e96SJackson Cooper-Driver	mmci: mmci@MMC_ADDR {
51e6ef3ef0SLeo Yan		cd-gpios = <&sysreg 0 0>;
52e6ef3ef0SLeo Yan	};
53e6ef3ef0SLeo Yan
54e9e83e96SJackson Cooper-Driver	rtc@RTC_ADDR {
5535028bd7SLeo Yan		compatible = "arm,pl031", "arm,primecell";
56e9e83e96SJackson Cooper-Driver		reg = <0x0 ADDRESSIFY(RTC_ADDR) 0x0 0x1000>;
57e9e83e96SJackson Cooper-Driver		interrupts = <GIC_SPI RTC_INT IRQ_TYPE_LEVEL_HIGH 0>;
5835028bd7SLeo Yan		clocks = <&soc_refclk>;
5935028bd7SLeo Yan		clock-names = "apb_pclk";
6035028bd7SLeo Yan	};
6135028bd7SLeo Yan
62e9e83e96SJackson Cooper-Driver	kmi@KMI_0_ADDR {
6335028bd7SLeo Yan		compatible = "arm,pl050", "arm,primecell";
64e9e83e96SJackson Cooper-Driver		reg = <0x0 ADDRESSIFY(KMI_0_ADDR) 0x0 0x1000>;
65e9e83e96SJackson Cooper-Driver		interrupts = <GIC_SPI KMI_0_INT IRQ_TYPE_LEVEL_HIGH 0>;
6635028bd7SLeo Yan		clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
6735028bd7SLeo Yan		clock-names = "KMIREFCLK", "apb_pclk";
6835028bd7SLeo Yan	};
6935028bd7SLeo Yan
7035028bd7SLeo Yan	kmi@1c070000 {
7135028bd7SLeo Yan		compatible = "arm,pl050", "arm,primecell";
7235028bd7SLeo Yan		reg = <0x0 0x001c070000 0x0 0x1000>;
731300bbceSJagdish Gediya		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>;
7435028bd7SLeo Yan		clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
7535028bd7SLeo Yan		clock-names = "KMIREFCLK", "apb_pclk";
7635028bd7SLeo Yan	};
7735028bd7SLeo Yan
78e9e83e96SJackson Cooper-Driver	virtio_block@VIRTIO_BLOCK_ADDR {
7935028bd7SLeo Yan		compatible = "virtio,mmio";
80e9e83e96SJackson Cooper-Driver		reg = <0x0 ADDRESSIFY(VIRTIO_BLOCK_ADDR) 0x0 0x200>;
8135028bd7SLeo Yan		/* spec lists this wrong */
82e9e83e96SJackson Cooper-Driver		interrupts = <GIC_SPI VIRTIO_BLOCK_INT IRQ_TYPE_LEVEL_HIGH 0>;
8335028bd7SLeo Yan	};
8435028bd7SLeo Yan};
85