// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/*
 * Device Tree Source for the common parts shared by the White Hawk BreakOut
 * and White Hawk Single boards
 *
 * Copyright (C) 2022 Renesas Electronics Corp.
 */

#include "white-hawk-csi-dsi.dtsi"
#include "white-hawk-ethernet.dtsi"

/ {
	can_transceiver0: can-phy0 {
		compatible = "nxp,tjr1443";
		#phy-cells = <0>;
		enable-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
		max-bitrate = <5000000>;
	};
};

&can_clk {
	clock-frequency = <40000000>;
};

&canfd {
	pinctrl-0 = <&canfd0_pins>, <&canfd1_pins>, <&can_clk_pins>;
	pinctrl-names = "default";

	status = "okay";

	channel0 {
		status = "okay";
		phys = <&can_transceiver0>;
	};

	channel1 {
		status = "okay";
	};
};

&i2c0 {
	eeprom@51 {
		compatible = "rohm,br24g01", "atmel,24c01";
		label = "breakout-board";
		reg = <0x51>;
		pagesize = <8>;
	};
};

&pfc {
	can_clk_pins: can-clk {
		groups = "can_clk";
		function = "can_clk";
	};

	canfd0_pins: canfd0 {
		groups = "canfd0_data";
		function = "canfd0";
	};

	canfd1_pins: canfd1 {
		groups = "canfd1_data";
		function = "canfd1";
	};
};
