/*
 * Copyright (c) 2023-2024, Arm Limited. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#define GIC_CTRL_ADDR		2c010000
#define GIC_GICR_OFFSET		0x200000
#define UART_OFFSET		0x1000

#ifdef TC_RESOLUTION_1920X1080P60

#define VENCODER_TIMING_CLK 148500000
#define VENCODER_TIMING								\
	clock-frequency = <VENCODER_TIMING_CLK>;				\
	hactive = <1920>;							\
	vactive = <1080>;							\
	hfront-porch = <88>;							\
	hback-porch = <148>;							\
	hsync-len = <44>;							\
	vfront-porch = <4>;							\
	vback-porch = <36>;							\
	vsync-len = <5>

#else /* TC_RESOLUTION_640X480P60 */

#define VENCODER_TIMING_CLK 25175000
#define VENCODER_TIMING								\
	clock-frequency = <VENCODER_TIMING_CLK>;				\
	hactive = <640>;							\
	vactive = <480>;							\
	hfront-porch = <16>;							\
	hback-porch = <48>;							\
	hsync-len = <96>;							\
	vfront-porch = <10>;							\
	vback-porch = <33>;							\
	vsync-len = <2>

#endif

/ {
	chosen {
		stdout-path = "serial0:115200n8";
	};

	ethernet: ethernet@ETHERNET_ADDR {
		compatible = "smsc,lan91c111";
	};

	mmci: mmci@MMC_ADDR {
		cd-gpios = <&sysreg 0 0>;
	};

	rtc@RTC_ADDR {
		compatible = "arm,pl031", "arm,primecell";
		reg = <0x0 ADDRESSIFY(RTC_ADDR) 0x0 0x1000>;
		interrupts = <GIC_SPI RTC_INT IRQ_TYPE_LEVEL_HIGH 0>;
		clocks = <&soc_refclk>;
		clock-names = "apb_pclk";
	};

	kmi@KMI_0_ADDR {
		compatible = "arm,pl050", "arm,primecell";
		reg = <0x0 ADDRESSIFY(KMI_0_ADDR) 0x0 0x1000>;
		interrupts = <GIC_SPI KMI_0_INT IRQ_TYPE_LEVEL_HIGH 0>;
		clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
		clock-names = "KMIREFCLK", "apb_pclk";
	};

	kmi@1c070000 {
		compatible = "arm,pl050", "arm,primecell";
		reg = <0x0 0x001c070000 0x0 0x1000>;
		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>;
		clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
		clock-names = "KMIREFCLK", "apb_pclk";
	};

	virtio_block@VIRTIO_BLOCK_ADDR {
		compatible = "virtio,mmio";
		reg = <0x0 ADDRESSIFY(VIRTIO_BLOCK_ADDR) 0x0 0x200>;
		/* spec lists this wrong */
		interrupts = <GIC_SPI VIRTIO_BLOCK_INT IRQ_TYPE_LEVEL_HIGH 0>;
	};
};
