浏览代码

Merge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree into ti-linux-4.19.y

TI-Feature: audio-display
TI-Tree: git@git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
TI-Branch: audio_display-ti-linux-4.19.y

* 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree:
  arm64: dts: ti: Add k3-am654-gp.dtso for audio support
  arm64: dts: ti: am654: Add McASP nodes

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
LCPD Auto Merger 7 年之前
父节点
当前提交
66e56a5f75
共有 3 个文件被更改,包括 198 次插入1 次删除
  1. 2 1
      arch/arm64/boot/dts/ti/Makefile
  2. 63 0
      arch/arm64/boot/dts/ti/k3-am65-main.dtsi
  3. 133 0
      arch/arm64/boot/dts/ti/k3-am654-gp.dtso

+ 2 - 1
arch/arm64/boot/dts/ti/Makefile

@@ -8,7 +8,8 @@
 
 
 DTC_FLAGS += -@
 DTC_FLAGS += -@
 
 
-dtb-$(CONFIG_ARCH_K3_AM6_SOC) += k3-am654-base-board.dtb
+dtb-$(CONFIG_ARCH_K3_AM6_SOC) += k3-am654-base-board.dtb \
+	k3-am654-gp.dtbo
 
 
 dtb-$(CONFIG_ARCH_K3_AM6_SOC) += $(shell grep -s incbin $(srctree)/$(src)/*.its | grep dtb | cut -d "\"" -f 2)
 dtb-$(CONFIG_ARCH_K3_AM6_SOC) += $(shell grep -s incbin $(srctree)/$(src)/*.its | grep dtb | cut -d "\"" -f 2)
 
 

+ 63 - 0
arch/arm64/boot/dts/ti/k3-am65-main.dtsi

@@ -320,4 +320,67 @@
 		clocks = <&k3_clks 58 0>;
 		clocks = <&k3_clks 58 0>;
 		clock-names = "gpio";
 		clock-names = "gpio";
 	};
 	};
+
+	mcasp0: mcasp@02B00000 {
+		compatible = "ti,am33xx-mcasp-audio";
+		reg = <0x0 0x02B00000 0x0 0x2000>,
+			<0x0 0x02B08000 0x0 0x1000>;
+		reg-names = "mpu","dat";
+		interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
+				<GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "tx", "rx";
+
+		/* tx: pdma0-0, rx: pdma0-0 */
+		dmas = <&main_udmap &pdma0 0 UDMA_DIR_TX>,
+			<&main_udmap &pdma0 0 UDMA_DIR_RX>;
+		dma-names = "tx", "rx";
+
+		clocks = <&k3_clks 104 0>;
+		clock-names = "fck";
+		power-domains = <&k3_pds 104>;
+
+		status = "disabled";
+	};
+
+	mcasp1: mcasp@02B10000 {
+		compatible = "ti,am33xx-mcasp-audio";
+		reg = <0x0 0x02B10000 0x0 0x2000>,
+			<0x0 0x02B18000 0x0 0x1000>;
+		reg-names = "mpu","dat";
+		interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
+				<GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "tx", "rx";
+
+		/* tx: pdma0-1, rx: pdma0-1 */
+		dmas = <&main_udmap &pdma0 1 UDMA_DIR_TX>,
+			<&main_udmap &pdma0 1 UDMA_DIR_RX>;
+		dma-names = "tx", "rx";
+
+		clocks = <&k3_clks 105 0>;
+		clock-names = "fck";
+		power-domains = <&k3_pds 105>;
+
+		status = "disabled";
+	};
+
+	mcasp2: mcasp@02B20000 {
+		compatible = "ti,am33xx-mcasp-audio";
+		reg = <0x0 0x02B20000 0x0 0x2000>,
+			<0x0 0x02B28000 0x0 0x1000>;
+		reg-names = "mpu","dat";
+		interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
+				<GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "tx", "rx";
+
+		/* tx: pdma0-1, rx: pdma0-1 */
+		dmas = <&main_udmap &pdma0 2 UDMA_DIR_TX>,
+			<&main_udmap &pdma0 2 UDMA_DIR_RX>;
+		dma-names = "tx", "rx";
+
+		clocks = <&k3_clks 106 0>;
+		clock-names = "fck";
+		power-domains = <&k3_pds 106>;
+
+		status = "disabled";
+	};
 };
 };

+ 133 - 0
arch/arm64/boot/dts/ti/k3-am654-gp.dtso

@@ -0,0 +1,133 @@
+// SPDX-License-Identifier: GPL-2.0
+/**
+ * DT overlay for GP application board on AM654 EVM
+ *
+ * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
+ */
+
+/dts-v1/;
+/plugin/;
+#include <dt-bindings/pinctrl/k3.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+  fragment@101 {
+	target-path = "/";
+
+	__overlay__ {
+		gp_vcc_5v0: fixedregulator-gp_vcc_5v0 {
+			compatible = "regulator-fixed";
+			regulator-name = "gp_vcc_5v0";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-always-on;
+			regulator-boot-on;
+		};
+
+		codec_vcc_3v3: fixedregulator-codec_vcc_3v3 {
+			/* LP5912-3.3DRVT */
+			compatible = "regulator-fixed";
+			regulator-name = "codec_vcc_3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			vin-supply = <&gp_vcc_5v0>;
+			regulator-always-on;
+			regulator-boot-on;
+		};
+
+		gp_vcc_1v8: fixedregulator-gp_vcc_1v8 {
+			compatible = "regulator-fixed";
+			regulator-name = "gp_vcc_1v8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-always-on;
+			regulator-boot-on;
+		};
+
+		sound {
+			compatible = "simple-audio-card";
+			simple-audio-card,name = "AM65x-GPEVM";
+			simple-audio-card,widgets =
+				"Headphone", "Headphone Jack",
+				"Line", "Line In";
+			simple-audio-card,routing =
+				"Headphone Jack",	"HPLOUT",
+				"Headphone Jack",	"HPROUT",
+				"LINE1L",		"Line In",
+				"LINE1R",		"Line In";
+			simple-audio-card,format = "dsp_b";
+			simple-audio-card,bitclock-master = <&sound_master>;
+			simple-audio-card,frame-master = <&sound_master>;
+			simple-audio-card,bitclock-inversion;
+
+			simple-audio-card,cpu {
+				sound-dai = <&mcasp0>;
+			};
+
+			sound_master: simple-audio-card,codec {
+				sound-dai = <&tlv320aic3106>;
+				system-clock-frequency = <12000000>;
+			};
+		};
+	};
+  };
+};
+
+&main_pmx0 {
+	mcasp0_pins: mcasp0_pins {
+		pinctrl-single,pins = <
+			AM65X_IOPAD(0x01f4, PIN_INPUT, 5) /* (V24) PRG0_PRU0_GPO0.MCASP0_ACLKX */
+			AM65X_IOPAD(0x01f8, PIN_INPUT, 5) /* (W25) PRG0_PRU0_GPO1.MCASP0_AFSX */
+			AM65X_IOPAD(0x0204, PIN_OUTPUT, 5) /* (Y24) PRG0_PRU0_GPO4.MCASP0_AXR0 */
+			AM65X_IOPAD(0x0208, PIN_INPUT, 5) /* (V28) PRG0_PRU0_GPO5.MCASP0_AXR1 */
+		>;
+	};
+
+	aic3106_pins: aic3106_pins {
+		pinctrl-single,pins = <
+			AM65X_IOPAD(0x011c, PIN_OUTPUT, 7) /* (AD19) PRG1_PRU0_GPO15.GPIO0_71 */
+		>;
+	};
+};
+
+&main_i2c0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	tlv320aic3106: tlv320aic3106@1b {
+		#sound-dai-cells = <0>;
+		compatible = "ti,tlv320aic3106";
+		reg = <0x1b>;
+		status = "okay";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&aic3106_pins>;
+
+		gpio-reset = <&main_gpio0 71 GPIO_ACTIVE_LOW>; /* gpio0_71 */
+
+		/* Regulators */
+		AVDD-supply = <&codec_vcc_3v3>;
+		IOVDD-supply = <&gp_vcc_1v8>;
+		DRVDD-supply = <&codec_vcc_3v3>;
+		DVDD-supply = <&gp_vcc_1v8>;
+	};
+};
+
+&mcasp0 {
+	#sound-dai-cells = <0>;
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&mcasp0_pins>;
+
+	op-mode = <0>;          /* MCASP_IIS_MODE */
+	tdm-slots = <2>;
+	/* 16 serializers */
+	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
+		1 2 0 0
+		0 0 0 0
+		0 0 0 0
+		0 0 0 0
+	>;
+	tx-num-evt = <32>;
+	rx-num-evt = <32>;
+};