// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Device Tree file for Freescale LS1012A Freedom Board.
 *
 * Copyright 2016 Freescale Semiconductor, Inc.
 *
 */
/dts-v1/;

#include <dt-bindings/interrupt-controller/irq.h>
#include "fsl-ls1012a.dtsi"

/ {
	model = "LS1012A Freedom Board";
	compatible = "fsl,ls1012a-frdm", "fsl,ls1012a";

	sys_mclk: clock-mclk {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <25000000>;
	};

	reg_1p8v: regulator-1p8v {
		compatible = "regulator-fixed";
		regulator-name = "1P8V";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-always-on;
	};

	sound {
		compatible = "simple-audio-card";
		simple-audio-card,format = "i2s";
		simple-audio-card,widgets =
			"Microphone", "Microphone Jack",
			"Headphone", "Headphone Jack",
			"Speaker", "Speaker Ext",
			"Line", "Line In Jack";
		simple-audio-card,routing =
			"MIC_IN", "Microphone Jack",
			"Microphone Jack", "Mic Bias",
			"LINE_IN", "Line In Jack",
			"Headphone Jack", "HP_OUT",
			"Speaker Ext", "LINE_OUT";

		simple-audio-card,cpu {
			sound-dai = <&sai2>;
			frame-master;
			bitclock-master;
		};

		simple-audio-card,codec {
			sound-dai = <&codec>;
			frame-master;
			bitclock-master;
			system-clock-frequency = <25000000>;
		};
	};
};

&dspi {
	bus-num = <0>;
	status = "okay";

	serial@0 {
		compatible = "nxp,sc16is740";
		reg = <0>;
		spi-max-frequency = <4000000>;
		clocks = <&sc16is7xx_clk>;
		interrupt-parent = <&gpio1>;
		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;

		sc16is7xx_clk: clock-sc16is7xx {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <24000000>;
		};
	};
};

&duart0 {
	status = "okay";
};

&i2c0 {
	status = "okay";

	codec: sgtl5000@a {
		#sound-dai-cells = <0>;
		compatible = "fsl,sgtl5000";
		reg = <0xa>;
		VDDA-supply = <&reg_1p8v>;
		VDDIO-supply = <&reg_1p8v>;
		clocks = <&sys_mclk>;
	};
};

&qspi {
	status = "okay";

	s25fs512s0: flash@0 {
		compatible = "jedec,spi-nor";
		#address-cells = <1>;
		#size-cells = <1>;
		spi-max-frequency = <50000000>;
		m25p,fast-read;
		reg = <0>;
		spi-rx-bus-width = <2>;
		spi-tx-bus-width = <2>;
	};
};

&sai2 {
	status = "okay";
};

&sata {
	status = "okay";
};