// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
 */

#include "meson8.dtsi"

/ {
	model = "Amlogic Meson8m2 SoC";
	compatible = "amlogic,meson8m2";
}; /* end of / */

&clkc {
	compatible = "amlogic,meson8m2-clkc", "amlogic,meson8-clkc";
};

&dmcbus {
	/* the offset of the canvas registers has changed compared to Meson8 */
	/delete-node/ video-lut@20;

	canvas: video-lut@48 {
		compatible = "amlogic,meson8m2-canvas", "amlogic,canvas";
		reg = <0x48 0x14>;
	};
};

&ethmac {
	compatible = "amlogic,meson8m2-dwmac", "snps,dwmac";
	reg = <0xc9410000 0x10000
		0xc1108140 0x8>;
	clocks = <&clkc CLKID_ETH>,
		 <&clkc CLKID_MPLL2>,
		 <&clkc CLKID_MPLL2>,
		 <&clkc CLKID_FCLK_DIV2>;
	clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment";
	resets = <&reset RESET_ETHERNET>;
	reset-names = "stmmaceth";
};

&pinctrl_aobus {
	compatible = "amlogic,meson8m2-aobus-pinctrl",
		     "amlogic,meson8-aobus-pinctrl";
};

&pinctrl_cbus {
	compatible = "amlogic,meson8m2-cbus-pinctrl",
		     "amlogic,meson8-cbus-pinctrl";

	eth_rgmii_pins: ethernet {
		mux {
			groups = "eth_tx_clk_50m", "eth_tx_en",
				 "eth_txd3", "eth_txd2",
				 "eth_txd1", "eth_txd0",
				 "eth_rx_clk_in", "eth_rx_dv",
				 "eth_rxd3", "eth_rxd2",
				 "eth_rxd1", "eth_rxd0",
				 "eth_mdio", "eth_mdc";
			function = "ethernet";
			bias-disable;
		};
	};
};

&pwrc {
	compatible = "amlogic,meson8m2-pwrc";
	resets = <&reset RESET_DBLK>,
		 <&reset RESET_PIC_DC>,
		 <&reset RESET_HDMI_APB>,
		 <&reset RESET_HDMI_SYSTEM_RESET>,
		 <&reset RESET_VENCI>,
		 <&reset RESET_VENCP>,
		 <&reset RESET_VDAC_4>,
		 <&reset RESET_VENCL>,
		 <&reset RESET_VIU>,
		 <&reset RESET_VENC>,
		 <&reset RESET_RDMA>;
	reset-names = "dblk", "pic_dc", "hdmi_apb", "hdmi_system", "venci",
		      "vencp", "vdac", "vencl", "viu", "venc", "rdma";
	assigned-clocks = <&clkc CLKID_VPU>;
	assigned-clock-rates = <364000000>;
};

&saradc {
	compatible = "amlogic,meson8m2-saradc", "amlogic,meson-saradc";
};

&sdhc {
	compatible = "amlogic,meson8m2-sdhc", "amlogic,meson-mx-sdhc";
};

&usb0_phy {
	compatible = "amlogic,meson8m2-usb2-phy", "amlogic,meson-mx-usb2-phy";
};

&usb1_phy {
	compatible = "amlogic,meson8m2-usb2-phy", "amlogic,meson-mx-usb2-phy";
};

&wdt {
	compatible = "amlogic,meson8m2-wdt", "amlogic,meson8b-wdt";
};
