Other Parts Discussed in Thread: TAS2505
Tool/software:
Hello TI,
I am using AM6254 with SDK 9.0.
I want to register a sound card for my audio AMP output but fail.
May you guide the dts?
Below is my modification dts.
+tas2505_mclk: clk-0 {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <12288000>;
+};
+
+codec_audio: sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "AM62x-SKEVM";
+ simple-audio-card,widgets =
+ "Headphone", "Headphone Jack",
+ "Microphone", "Microphone Jack",
+ "Speaker", "Speaker";
+ simple-audio-card,routing =
+ "MIC1LP", "Microphone Jack",
+ "MIC1RP", "Microphone Jack",
+ "MIC1LP", "MICBIAS",
+ "MIC1RP", "MICBIAS",
+ "Headphone Jack", "HPL",
+ "Headphone Jack", "HPR",
+ "Speaker", "SPL",
+ "Speaker", "SPR";
+ 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 = <&mcasp1>;
+ system-clock-frequency = <12000000>;
+ };
+
+ sound_master: simple-audio-card,codec {
+ sound-dai = <&tas2505>;
+ clocks = <&tas2505_mclk>;
+ };
+};
+&mcasp1 {
+ #sound-dai-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_mcasp1_pins_default>;
+ status = "okay";
+ op-mode = <0>; /* MCASP_IIS_MODE */
+ tdm-slots = <8>;
+ serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
+ 2 2 1 0
+ >;
+ tx-num-evt = <32>;
+ rx-num-evt = <32>;
+};
Please refer to kernel log and all modification patch.
diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
index 74e34b84419a..048d96cfd1a2 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
@@ -581,7 +581,7 @@
ti,itap-del-sel-sdr12 = <0xa>;
ti,itap-del-sel-sdr25 = <0x1>;
ti,clkbuf-sel = <0x7>;
- bus-width = <4>;
+ bus-width = <1>;
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
index b1737978103b..0880eaa986a0 100644
--- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
@@ -13,15 +13,25 @@
compatible = "ti,am625-sk", "ti,am625";
model = "Texas Instruments AM625 SK";
- opp-table {
- /* Add 1.4GHz OPP for am625-sk board. Requires VDD_CORE to be at 0.85V */
- opp-1400000000 {
- opp-hz = /bits/ 64 <1400000000>;
- opp-supported-hw = <0x01 0x0004>;
- clock-latency-ns = <6000000>;
- };
+ aliases {
+ serial4 = &main_uart4;
+ serial6 = &main_uart6;
+ gpio2 = &mcu_gpio0;
};
+ transceiver2: can-phy1 {
+ compatible = "ti,tcan1042";
+ #phy-cells = <0>;
+ max-bitrate = <5000000>;
+ };
+
+ transceiver3: can-phy2 {
+ compatible = "ti,tcan1042";
+ #phy-cells = <0>;
+ max-bitrate = <5000000>;
+ };
+
+
memory@80000000 {
device_type = "memory";
/* 2G RAM */
@@ -68,9 +78,10 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
- enable-active-high;
+ /* enable-active-high; */
vin-supply = <&vcc_3v3_sys>;
- gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
+ regulator-always-on;
+ /* gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; */
};
vdd_sd_dv: regulator-4 {
@@ -82,7 +93,8 @@
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
- vin-supply = <&vcc_5v0>;
+ regulator-always-on;
+ vin-supply = <&vcc_3v3_sys>;
gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
states = <1800000 0x0>,
<3300000 0x1>;
@@ -105,8 +117,8 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vcc_3v3_sys>;
- regulator-always-on;
- gpios = <&exp1 11 GPIO_ACTIVE_LOW>;
+ /* regulator-always-on; */
+ //gpios = <&exp1 11 GPIO_ACTIVE_LOW>;
};
wlan_en: regulator-7 {
@@ -120,6 +132,19 @@
pinctrl-names = "default";
pinctrl-0 = <&wlan_en_pins_default>;
};
+
+ btwlan_en: regulator-8 {
+ compatible = "regulator-fixed";
+ regulator-name = "btwlan_en";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&wlan_lten>;
+ enable-active-high;
+ gpios = <&mcu_gpio0 1 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mcu_btwlan_en_pins_default>;
+ };
+
};
&main_pmx0 {
@@ -191,9 +216,101 @@
AM62X_IOPAD(0x128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */
>;
};
+
+ /* For BT/WLAN connection interface */
+ main_uart4_pins_default: main-uart4-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x00b0, PIN_INPUT, 3) /* (K22) GPMC0_CSn2.UART4_RXD */
+ AM62X_IOPAD(0x00b4, PIN_OUTPUT, 3) /* (K24) GPMC0_CSn3.UART4_TXD */
+ >;
+ };
+
+ /* For UART6 RS232 */
+ main_uart6_pins_default: main-uart6-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x009c, PIN_INPUT, 3) /* (V25) GPMC0_WAIT1.UART6_RXD */
+ AM62X_IOPAD(0x00a0, PIN_OUTPUT, 3) /* (K25) GPMC0_WPn.UART6_TXD */
+ >;
+ };
+
+ /* For CAN0 , CAN2 */
+ main_mcan0_pins_default: main-mcan0-pins-default {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x1dc, PIN_INPUT, 0) /* (E15) MCAN0_RX */
+ AM62X_IOPAD(0x1d8, PIN_OUTPUT, 0) /* (C15) MCAN0_TX */
+ >;
+ };
+
+
+};
+
+&mcu_gpio0 {
+ status = "okay";
};
+&mcu_gpio_intr {
+ status = "okay";
+};
+
+&main_uart4 {
+ status = "okay";
+ pinctrl-names = "default";
+ //pinctrl-0 = <&main_uart4_pins_default &mcu_btwlan_en_pins_default>;
+ pinctrl-0 = <&main_uart4_pins_default>;
+
+ bluetooth {
+ enable-gpios = <&mcu_gpio0 1 GPIO_ACTIVE_HIGH>;
+ };
+
+};
+
+&main_uart6 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_uart6_pins_default>;
+};
+
+&mcu_pmx0 {
+ /* Enable BT/WLAN Pin */
+ mcu_btwlan_en_pins_default: mcu-btwlan-en-pins-default {
+ pinctrl-single,pins = <
+ AM62X_MCU_IOPAD(0x0004, PIN_OUTPUT_PULLUP, 7) /* (B8) MCU_SPI0_CS1.MCU_GPIO0_1 */
+ >;
+ };
+
+ mcu_mcan1_pins_default: mcu-mcan1-pins-default {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x038, PIN_INPUT, 0) /* (B3) MCU_MCAN0_RX */
+ AM62X_IOPAD(0x034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */
+ >;
+ };
+
+ mcu_mcan2_pins_default: mcu-mcan2-pins-default {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x040, PIN_INPUT, 0) /* (D4) MCU_MCAN1_RX */
+ AM62X_IOPAD(0x03C, PIN_OUTPUT, 0) /* (E5) MCU_MCAN1_TX */
+ >;
+ };
+
+};
+
+&mcu_mcan1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mcu_mcan1_pins_default>;
+ phys = <&transceiver2>;
+ status = "okay";
+};
+
+&mcu_mcan2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mcu_mcan2_pins_default>;
+ phys = <&transceiver3>;
+ status = "okay";
+};
+
+/*
&main_i2c1 {
+
exp1: gpio@22 {
compatible = "ti,tca6424";
reg = <0x22>;
@@ -220,9 +337,12 @@
pinctrl-names = "default";
pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
};
+
};
+*/
&sdhci1 {
+ status = "okay";
vmmc-supply = <&vdd_mmc1>;
vqmmc-supply = <&vdd_sd_dv>;
};
@@ -345,9 +465,9 @@
};
};
-&tlv320aic3106 {
- DVDD-supply = <&vcc_1v8>;
-};
+//&tlv320aic3106 {
+// DVDD-supply = <&vcc_1v8>;
+//};
#define K3_TS_OFFSET(pa, val) (0x4+(pa)*4) (0x10000 | val)
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
index 07763091ab59..e7f3e88aae90 100644
--- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
@@ -19,8 +19,9 @@
spi0 = &ospi0;
ethernet0 = &cpsw_port1;
ethernet1 = &cpsw_port2;
- usb0 = &usb0;
+ //usb0 = &usb0;
usb1 = &usb1;
+ gpio0 = &main_gpio0;
};
chosen {
@@ -105,6 +106,187 @@
};
};
+ lcd_bl: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&epwm0 0 50000 0>;
+ brightness-levels =
+ <0 32 64 96 128 160 192 224 255>;
+ default-brightness-level = <8>;
+ };
+
+ display {
+ compatible = "edt,et070080dh6";
+ backlight = <&lcd_bl>;
+ port {
+ lcd_in: endpoint {
+ remote-endpoint = <&dpi1_out>;
+ };
+ };
+ };
+
+
+tas2505_mclk: clk-0 {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <12288000>;
+};
+
+codec_audio: sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "AM62x-SKEVM";
+ simple-audio-card,widgets =
+ "Headphone", "Headphone Jack",
+ "Microphone", "Microphone Jack",
+ "Speaker", "Speaker";
+ simple-audio-card,routing =
+ "MIC1LP", "Microphone Jack",
+ "MIC1RP", "Microphone Jack",
+ "MIC1LP", "MICBIAS",
+ "MIC1RP", "MICBIAS",
+ "Headphone Jack", "HPL",
+ "Headphone Jack", "HPR",
+ "Speaker", "SPL",
+ "Speaker", "SPR";
+ 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 = <&mcasp1>;
+ system-clock-frequency = <12000000>;
+ };
+
+ sound_master: simple-audio-card,codec {
+ sound-dai = <&tas2505>;
+ clocks = <&tas2505_mclk>;
+ };
+};
+
+
+/*TEST*/
+/*
+codec_test: codec_test {
+ compatible = "linux,snd-soc-dummy";
+ #sound-dai-cells = <0>;
+};
+
+snd0: sound@0 {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "DRA7xx-EVM";
+ simple-audio-card,widgets =
+ "Headphone", "Headphone Jack",
+ "Line", "Line Out",
+ "Microphone", "Mic Jack",
+ "Line", "Line In";
+ simple-audio-card,routing =
+ "Headphone Jack", "HPLOUT",
+ "Headphone Jack", "HPROUT",
+ "Line Out", "LLOUT",
+ "Line Out", "RLOUT",
+ "MIC3L", "Mic Jack",
+ "MIC3R", "Mic Jack",
+ "Mic Jack", "Mic Bias",
+ "LINE1L", "Line In",
+ "LINE1R", "Line In";
+ simple-audio-card,format = "dsp_b";
+ simple-audio-card,bitclock-master = <&sound0_master>;
+ simple-audio-card,frame-master = <&sound0_master>;
+ //simple-audio-card,bitclock-master = <&codec_test>;
+ //simple-audio-card,frame-master = <&codec_test>;
+ simple-audio-card,bitclock-inversion;
+
+ sound0_master: simple-audio-card,cpu {
+ sound-dai = <&mcasp1>;
+ system-clock-frequency = <11288000>;
+ };
+
+ simple-audio-card,codec {
+ //sound-dai = "linux,snd-soc-dummy";
+ //#sound-dai-cells = <0>;
+ //sound-dai = <&tlv320aic3106>;
+ //clocks = <&atl_clkin2_ck>;
+ sound-dai = <&tas2505>;
+ #sound-dai-cells = <0>;
+ };
+};
+*/
+
+
+ /* follow tas2505 */
+ /*
+ clk_mcasp1_fixed: clk_mcasp1_fixed {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ //clock-frequency = <24576000>;
+ clock-frequency = <12288000>;
+ };
+
+ clk_mcasp1: clk_mcasp1 {
+ #clock-cells = <0>;
+ compatible = "gpio-gate-clock";
+ clocks = <&clk_mcasp1_fixed>;
+ //enable-gpios = <&gpio1 27 0>; // BeagleBone Black Clk enable on GPIO1_27
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "tas2505";
+ simple-audio-card,dai-link@0 {
+ format = "i2s";
+ bitclock-master = <&sound0_master>;
+ frame-master = <&sound0_master>;
+ sound0_master: cpu {
+ sound-dai = <&mcasp1>;
+ clocks = <&clk_mcasp1>;
+ };
+
+ codec {
+ sound-dai = <&tas2505>;
+ };
+ };
+ };
+ */
+
+ /* follow EVK */
+ /*
+ tas2505_mclk: clk-0 {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <12288000>;
+ };
+
+ codec_audio: sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "AM62x-SKEVM";
+ simple-audio-card,widgets =
+ "Headphone", "Headphone Jack",
+ "Line", "Line In",
+ "Microphone", "Microphone Jack";
+ simple-audio-card,routing =
+ "Headphone Jack", "HPLOUT",
+ "Headphone Jack", "HPROUT",
+ "LINE1L", "Line In",
+ "LINE1R", "Line In",
+ "MIC3R", "Microphone Jack",
+ "Microphone Jack", "Mic Bias";
+ 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 = <&mcasp1>;
+ };
+
+ sound_master: simple-audio-card,codec {
+ sound-dai = <&tas2505>;
+ clocks = <&tas2505_mclk>;
+ };
+ };
+ */
+
+ /*
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
@@ -153,7 +335,7 @@
clocks = <&tlv320_mclk>;
};
};
-
+
hdmi: connector {
compatible = "hdmi-connector";
label = "hdmi";
@@ -164,6 +346,7 @@
};
};
};
+ */
};
&main_pmx0 {
@@ -175,12 +358,12 @@
>;
};
- main_i2c0_pins_default: main-i2c0-pins-default {
- pinctrl-single,pins = <
- AM62X_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16/E12) I2C0_SCL */
- AM62X_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16/D14) I2C0_SDA */
- >;
- };
+ //main_i2c0_pins_default: main-i2c0-pins-default {
+ // pinctrl-single,pins = <
+ // AM62X_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16/E12) I2C0_SCL */
+ // AM62X_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16/D14) I2C0_SDA */
+ // >;
+ //};
main_i2c1_pins_default: main-i2c1-pins-default {
pinctrl-single,pins = <
@@ -188,14 +371,14 @@
AM62X_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17/A16) I2C1_SDA */
>;
};
-
- main_i2c2_pins_default: main-i2c2-pins-default {
- pinctrl-single,pins = <
- AM62X_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22/H18) GPMC0_CSn2.I2C2_SCL */
- AM62X_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24/H19) GPMC0_CSn3.I2C2_SDA */
- >;
- };
-
+
+ /* main_i2c2_pins_default: main-i2c2-pins-default { */
+ /* pinctrl-single,pins = < */
+ /* AM62X_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) */ /* (K22/H18) GPMC0_CSn2.I2C2_SCL */
+ /* AM62X_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) */ /* (K24/H19) GPMC0_CSn3.I2C2_SDA */
+ /* >;*/
+ /*};*/
+
main_mmc0_pins_default: main-mmc0-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3/V3) MMC0_CMD */
@@ -279,7 +462,7 @@
pinctrl-single,pins = <
AM62X_IOPAD(0x090, PIN_INPUT, 2) /* (M24) GPMC0_BE0N_CLE.MCASP1_ACLKX */
AM62X_IOPAD(0x098, PIN_INPUT, 2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX */
- AM62X_IOPAD(0x08c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEN.MCASP1_AXR0 */
+ AM62X_IOPAD(0x08c, PIN_INPUT, 2) /* (L25) GPMC0_WEN.MCASP1_AXR0 */
AM62X_IOPAD(0x084, PIN_INPUT, 2) /* (L23) GPMC0_ADVN_ALE.MCASP1_AXR2 */
>;
};
@@ -316,6 +499,30 @@
AM62X_IOPAD(0x0078, PIN_OUTPUT, 1) /* (U24) GPMC0_AD15.VOUT0_DATA23 */
>;
};
+
+ epwm0bl_pins_default: epwm0bl-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x01b4, PIN_OUTPUT_PULLUP, 2) /* (A13) SPI0_CS0.EHRPWM0_A */
+ >;
+ };
+
+};
+
+&mcu_pmx0 {
+ touchscreen_pins_default: touchscreen-default-pins {
+ pinctrl-single,pins = <
+ AM62X_MCU_IOPAD(0x0024, PIN_OUTPUT, 0) /* (B4) WKUP_UART0_RXD */
+ AM62X_MCU_IOPAD(0x0028, PIN_INPUT, 0) /* (C5) WKUP_UART0_TXD */
+ >;
+ };
+
+ /* AMP reset */
+ //ampreset_pins_default: ampreset-default-pins {
+ // pinctrl-single,pins = <
+ // AM62X_MCU_IOPAD(0x000c, PIN_OUTPUT_PULLDOWN, 7) /* (D9) MCU_SPI0_D0.MCU_GPIO0_3 */
+ // >;
+ //};
+
};
&wkup_uart0 {
@@ -337,12 +544,43 @@
status = "reserved";
};
-&main_i2c0 {
+&epwm0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&epwm0bl_pins_default>;
+ status = "okay";
+ };
+
+&main_gpio0 {
status = "okay";
+};
+
+/*
+&main_i2c0 {
+ status = "disabled";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c0_pins_default>;
- clock-frequency = <400000>;
+ clock-frequency = <100000>;
+ //eeprom@51 {
+ // compatible = "atmel,24c512";
+ // reg = <0x51>;
+ // pagesize = <64>;
+ //};
+
+ touchscreen@14 {
+ compatible = "goodix,gt911";
+ reg = <0x14>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&touchscreen_pins_default>;
+ interrupt-parent = <&main_gpio0>;
+ interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
+ irq-gpios = <&main_gpio0 9 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&main_gpio0 10 GPIO_ACTIVE_LOW>;
+ touchscreen-size-x = <800>;
+ touchscreen-size-y = <480>;
+ };
+
+
typec_pd0: tps6598x@3f {
compatible = "ti,tps6598x";
reg = <0x3f>;
@@ -366,26 +604,45 @@
};
};
};
+
};
-
+*/
&main_i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <100000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pcf8523_rtc: rtc@68 {
+ compatible = "nxp,pcf8523";
+ reg = <0x68>;
+ quartz-load-femtofarads = <1250>;
+ };
- tlv320aic3106: audio-codec@1b {
+ tas2505: tas2505@18 {
#sound-dai-cells = <0>;
- compatible = "ti,tlv320aic3106";
- reg = <0x1b>;
- ai3x-micbias-vg = <1>; /* 2.0V */
+ compatible = "ti,tas2505";
+ reg = <0x18>;
+ //reset-gpios = <&mcu_gpio0 3 GPIO_ACTIVE_LOW>;
+ gpio-reset = <&mcu_gpio0 3 GPIO_ACTIVE_LOW>;
+ clock-source = <0>;/* 0: MCLK, 1: BCLK */
+ status = "ok";
+ };
+
+ //tlv320aic3106: audio-codec@1b {
+ // #sound-dai-cells = <0>;
+ // compatible = "ti,tlv320aic3106";
+ // reg = <0x1b>;
+ // ai3x-micbias-vg = <1>; /* 2.0V */
/* Regulators */
- AVDD-supply = <&vcc_3v3_sys>;
- IOVDD-supply = <&vcc_3v3_sys>;
- DRVDD-supply = <&vcc_3v3_sys>;
- };
-
+ // AVDD-supply = <&vcc_3v3_sys>;
+ // IOVDD-supply = <&vcc_3v3_sys>;
+ // DRVDD-supply = <&vcc_3v3_sys>;
+ //};
+ /*
sii9022: sii9022@3b {
#sound-dai-cells = <0>;
compatible = "sil,sii9022";
@@ -416,15 +673,17 @@
};
};
};
- };
+ }; */
};
+/*
&main_i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c2_pins_default>;
clock-frequency = <400000>;
};
+*/
&sdhci0 {
status = "okay";
@@ -500,6 +759,7 @@
ti,vbus-divider;
};
+/*
&usb0 {
#address-cells = <1>;
#size-cells = <0>;
@@ -512,6 +772,7 @@
};
};
};
+*/
&usb1 {
dr_mode = "host";
@@ -539,6 +800,20 @@
rx-num-evt = <32>;
};
+&mcasp1 {
+ #sound-dai-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_mcasp1_pins_default>;
+ status = "okay";
+ op-mode = <0>; /* MCASP_IIS_MODE */
+ tdm-slots = <8>;
+ serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
+ 2 2 1 0
+ >;
+ tx-num-evt = <32>;
+ rx-num-evt = <32>;
+};
+
&ospi0 {
status = "okay";
pinctrl-names = "default";
@@ -564,7 +839,7 @@
reg = <1>;
dpi1_out: endpoint {
- remote-endpoint = <&sii9022_in>;
+ remote-endpoint = <&lcd_in>;
};
};
};
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index e56a47228ac3..b2673a176c0e 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1,6 +1,48 @@
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_AUDIT=y
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_SIM=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
+CONFIG_IRQ_MSI_IOMMU=y
+CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
+CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# CONFIG_GENERIC_IRQ_DEBUGFS is not set
+# end of IRQ subsystem
+
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_ARCH_CLOCKSOURCE_INIT=y
+CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_BPF_SYSCALL=y
@@ -218,9 +260,9 @@ CONFIG_CGROUP_NET_PRIO=y
CONFIG_CAN=m
CONFIG_BT=m
CONFIG_BT_HIDP=m
-# CONFIG_BT_LE is not set
+CONFIG_BT_LE=m
CONFIG_BT_LEDS=y
-# CONFIG_BT_DEBUGFS is not set
+CONFIG_BT_DEBUGFS=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_LL=y
@@ -331,7 +373,7 @@ CONFIG_QCOM_FASTRPC=m
CONFIG_SRAM=y
CONFIG_SRAM_DMA_HEAP=y
CONFIG_PCI_ENDPOINT_TEST=m
-CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT24=y
CONFIG_EEPROM_AT25=m
CONFIG_UACCE=m
# CONFIG_SCSI_PROC_FS is not set
@@ -477,10 +519,13 @@ CONFIG_KEYBOARD_SNVS_PWRKEY=m
CONFIG_KEYBOARD_IMX_SC_KEY=m
CONFIG_KEYBOARD_CROS_EC=y
CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_GOODIX=m
-CONFIG_TOUCHSCREEN_ILI210X=m
-CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_I2C_HID_OF_GOODIX=y
+# CONFIG_TOUCHSCREEN_GT9XXNEW_TS=y
+# CONFIG_TOUCHSCREEN_GT9XXNEWDUP_TS=y
+# CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_GOODIX=y
+# CONFIG_TOUCHSCREEN_ILI210X=m
+# CONFIG_TOUCHSCREEN_EDT_FT5X06=m
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PM8941_PWRKEY=y
CONFIG_INPUT_PM8XXX_VIBRATOR=m
@@ -493,6 +538,7 @@ CONFIG_SERIO_AMBAKMI=y
CONFIG_LEGACY_PTY_COUNT=16
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_BCM2835AUX=y
@@ -526,6 +572,8 @@ CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
CONFIG_SERIAL_OWL=y
CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_8250_NR_UARTS=12
+CONFIG_SERIAL_8250_RUNTIME_UARTS=12
CONFIG_VIRTIO_CONSOLE=y
CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_DEVICE_INTERFACE=m
@@ -559,6 +607,8 @@ CONFIG_I2C_TEGRA=y
CONFIG_I2C_UNIPHIER_F=y
CONFIG_I2C_RCAR=y
CONFIG_I2C_CROS_EC_TUNNEL=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
CONFIG_SPI=y
CONFIG_SPI_ARMADA_3700=y
CONFIG_SPI_BCM2835=m
@@ -644,6 +694,15 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_BD9571MWV=m
CONFIG_GPIO_MAX77620=y
CONFIG_GPIO_SL28CPLD=m
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_GPIO_ACPI=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_DEBUG_GPIO=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+CONFIG_GPIO_GENERIC=y
CONFIG_POWER_RESET_MSM=y
CONFIG_POWER_RESET_QCOM_PON=m
CONFIG_POWER_RESET_XGENE=y
@@ -876,6 +935,7 @@ CONFIG_SND=y
CONFIG_SND_HDA_TEGRA=m
CONFIG_SND_HDA_CODEC_HDMI=m
CONFIG_SND_SOC=y
+CONFIG_SND_SOC_PCMDEVICE=y
CONFIG_SND_BCM2835_SOC_I2S=m
CONFIG_SND_SOC_FSL_ASRC=m
CONFIG_SND_SOC_FSL_MICFIL=m
@@ -887,67 +947,72 @@ CONFIG_SND_SOC_FSL_ASOC_CARD=m
CONFIG_SND_SOC_IMX_AUDMIX=m
CONFIG_SND_MESON_AXG_SOUND_CARD=m
CONFIG_SND_MESON_GX_SOUND_CARD=m
-CONFIG_SND_SOC_QCOM=m
-CONFIG_SND_SOC_APQ8016_SBC=m
-CONFIG_SND_SOC_MSM8996=m
-CONFIG_SND_SOC_SDM845=m
-CONFIG_SND_SOC_SM8250=m
-CONFIG_SND_SOC_SC7180=m
-CONFIG_SND_SOC_SC7280=m
-CONFIG_SND_SOC_ROCKCHIP=m
-CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
-CONFIG_SND_SOC_ROCKCHIP_RT5645=m
-CONFIG_SND_SOC_RK3399_GRU_SOUND=m
-CONFIG_SND_SOC_SAMSUNG=y
+# CONFIG_SND_SOC_QCOM=m
+# CONFIG_SND_SOC_APQ8016_SBC=m
+# CONFIG_SND_SOC_MSM8996=m
+# CONFIG_SND_SOC_SDM845=m
+# CONFIG_SND_SOC_SM8250=m
+# CONFIG_SND_SOC_SC7180=m
+# CONFIG_SND_SOC_SC7280=m
+# CONFIG_SND_SOC_ROCKCHIP=m
+# CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+# CONFIG_SND_SOC_ROCKCHIP_RT5645=m
+# CONFIG_SND_SOC_RK3399_GRU_SOUND=m
+# CONFIG_SND_SOC_SAMSUNG=y
CONFIG_SND_SOC_RCAR=m
CONFIG_SND_SOC_RZ=m
-CONFIG_SND_SUN8I_CODEC=m
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
-CONFIG_SND_SUN50I_CODEC_ANALOG=m
-CONFIG_SND_SUN4I_I2S=m
-CONFIG_SND_SUN4I_SPDIF=m
-CONFIG_SND_SOC_TEGRA=m
-CONFIG_SND_SOC_TEGRA210_AHUB=m
-CONFIG_SND_SOC_TEGRA210_DMIC=m
-CONFIG_SND_SOC_TEGRA210_I2S=m
-CONFIG_SND_SOC_TEGRA210_OPE=m
-CONFIG_SND_SOC_TEGRA186_ASRC=m
-CONFIG_SND_SOC_TEGRA186_DSPK=m
-CONFIG_SND_SOC_TEGRA210_ADMAIF=m
-CONFIG_SND_SOC_TEGRA210_MVC=m
-CONFIG_SND_SOC_TEGRA210_SFC=m
-CONFIG_SND_SOC_TEGRA210_AMX=m
-CONFIG_SND_SOC_TEGRA210_ADX=m
-CONFIG_SND_SOC_TEGRA210_MIXER=m
-CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD=m
-CONFIG_SND_SOC_J721E_EVM=m
-CONFIG_SND_SOC_AK4613=m
-CONFIG_SND_SOC_ES7134=m
-CONFIG_SND_SOC_ES7241=m
-CONFIG_SND_SOC_GTM601=m
-CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
-CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
-CONFIG_SND_SOC_RT5659=m
-CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
-CONFIG_SND_SOC_SIMPLE_MUX=m
-CONFIG_SND_SOC_TAS571X=m
-CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
-CONFIG_SND_SOC_TLV320AIC3X_I2C=m
-CONFIG_SND_SOC_WCD9335=m
-CONFIG_SND_SOC_WCD934X=m
-CONFIG_SND_SOC_WM8524=m
-CONFIG_SND_SOC_WM8904=m
-CONFIG_SND_SOC_WM8960=m
-CONFIG_SND_SOC_WM8962=m
-CONFIG_SND_SOC_WM8978=m
-CONFIG_SND_SOC_WSA881X=m
-CONFIG_SND_SOC_NAU8822=m
-CONFIG_SND_SOC_LPASS_WSA_MACRO=m
-CONFIG_SND_SOC_LPASS_VA_MACRO=m
-CONFIG_SND_SIMPLE_CARD=m
-CONFIG_SND_AUDIO_GRAPH_CARD=m
-CONFIG_SND_AUDIO_GRAPH_CARD2=m
-CONFIG_HID_MULTITOUCH=m
+# CONFIG_SND_SUN8I_CODEC=m
+# CONFIG_SND_SUN8I_CODEC_ANALOG=m
+# CONFIG_SND_SUN50I_CODEC_ANALOG=m
+# CONFIG_SND_SUN4I_I2S=m
+# CONFIG_SND_SUN4I_SPDIF=m
+# CONFIG_SND_SOC_TEGRA=m
+# CONFIG_SND_SOC_TEGRA210_AHUB=m
+# CONFIG_SND_SOC_TEGRA210_DMIC=m
+# CONFIG_SND_SOC_TEGRA210_I2S=m
+# CONFIG_SND_SOC_TEGRA210_OPE=m
+# CONFIG_SND_SOC_TEGRA186_ASRC=m
+# CONFIG_SND_SOC_TEGRA186_DSPK=m
+# CONFIG_SND_SOC_TEGRA210_ADMAIF=m
+# CONFIG_SND_SOC_TEGRA210_MVC=m
+# CONFIG_SND_SOC_TEGRA210_SFC=m
+# CONFIG_SND_SOC_TEGRA210_AMX=m
+# CONFIG_SND_SOC_TEGRA210_ADX=m
+# CONFIG_SND_SOC_TEGRA210_MIXER=m
+# CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD=m
+# CONFIG_SND_SOC_J721E_EVM=m
+# CONFIG_SND_SOC_AK4613=m
+# CONFIG_SND_SOC_ES7134=m
+# CONFIG_SND_SOC_ES7241=m
+# CONFIG_SND_SOC_GTM601=m
+# CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
+# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
+# CONFIG_SND_SOC_RT5659=m
+# CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
+# CONFIG_SND_SOC_SIMPLE_MUX=m
+# CONFIG_SND_SOC_TAS571X=m
+CONFIG_SND_SOC_TAS2505=y
+CONFIG_SND_SOC_DAVINCI_MCASP=y
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
+# CONFIG_SND_SOC_TLV320AIC3X_I2C=m
+# CONFIG_SND_SOC_WCD9335=m
+# CONFIG_SND_SOC_WCD934X=m
+# CONFIG_SND_SOC_WM8524=m
+# CONFIG_SND_SOC_WM8904=m
+# CONFIG_SND_SOC_WM8960=m
+# CONFIG_SND_SOC_WM8962=m
+# CONFIG_SND_SOC_WM8978=m
+# CONFIG_SND_SOC_WSA881X=m
+# CONFIG_SND_SOC_NAU8822=m
+# CONFIG_SND_SOC_LPASS_WSA_MACRO=m
+# CONFIG_SND_SOC_LPASS_VA_MACRO=m
+CONFIG_SND_TEST_COMPONENT=y
+CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE=y
+CONFIG_SND_SIMPLE_CARD=y
+CONFIG_SND_SIMPLE_CARD_UTILS=y
+CONFIG_SND_AUDIO_GRAPH_CARD=y
+CONFIG_SND_AUDIO_GRAPH_CARD2=y
+CONFIG_HID_MULTITOUCH=y
CONFIG_I2C_HID_ACPI=m
CONFIG_I2C_HID_OF=m
CONFIG_USB=y
@@ -1078,6 +1143,7 @@ CONFIG_RTC_DRV_MAX77686=y
CONFIG_RTC_DRV_RK808=m
CONFIG_RTC_DRV_PCF85063=m
CONFIG_RTC_DRV_PCF85363=m
+CONFIG_RTC_DRV_PCF8523=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_RX8581=m
@@ -1142,6 +1208,8 @@ CONFIG_CROS_EC=y
CONFIG_CROS_EC_I2C=y
CONFIG_CROS_EC_SPI=y
CONFIG_CROS_EC_CHARDEV=m
+CONFIG_OF=y
+CONFIG_COMMON_CLK=y
CONFIG_COMMON_CLK_RK808=y
CONFIG_COMMON_CLK_SCMI=y
CONFIG_COMMON_CLK_SCPI=y
@@ -1160,6 +1228,7 @@ CONFIG_CLK_IMX8QXP=y
CONFIG_CLK_IMX8ULP=y
CONFIG_CLK_IMX93=y
CONFIG_TI_SCI_CLK=y
+CONFIG_TI_SYSCON_CLK=y
CONFIG_COMMON_CLK_QCOM=y
CONFIG_QCOM_A53PLL=y
CONFIG_QCOM_CLK_APCS_MSM8916=y
@@ -1271,6 +1340,7 @@ CONFIG_ARCH_R9A07G043=y
CONFIG_ARCH_R9A07G044=y
CONFIG_ARCH_R9A07G054=y
CONFIG_ARCH_R9A09G011=y
+CONFIG_ARCH_OMAP2PLUS=y
CONFIG_ROCKCHIP_IODOMAIN=y
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ARCH_TEGRA_132_SOC=y
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 3192411218fb..239a6874b491 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1711,8 +1711,9 @@ static const struct panel_desc edt_et057090dhu = {
.connector_type = DRM_MODE_CONNECTOR_DPI,
};
+/* taeha 202040806 Add LCD */
static const struct drm_display_mode edt_etm0700g0dh6_mode = {
- .clock = 33260,
+ .clock = 26000,
.hdisplay = 800,
.hsync_start = 800 + 40,
.hsync_end = 800 + 40 + 128,
@@ -1724,16 +1725,17 @@ static const struct drm_display_mode edt_etm0700g0dh6_mode = {
.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
};
+/* taeha 20240806 Add LCD */
static const struct panel_desc edt_etm0700g0dh6 = {
.modes = &edt_etm0700g0dh6_mode,
.num_modes = 1,
- .bpc = 6,
+ .bpc = 8,
.size = {
- .width = 152,
- .height = 91,
+ .width = 150,
+ .height = 94,
},
- .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE,
+ .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+ /* .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, */
.connector_type = DRM_MODE_CONNECTOR_DPI,
};
diff --git a/sound/soc/soc-utils.c b/sound/soc/soc-utils.c
index a4dba0b751e7..f32a2b79a6d0 100644
--- a/sound/soc/soc-utils.c
+++ b/sound/soc/soc-utils.c
@@ -10,6 +10,7 @@
#include <linux/platform_device.h>
#include <linux/export.h>
#include <linux/math.h>
+#include <linux/module.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
@@ -217,6 +218,7 @@ int snd_soc_dai_is_dummy(struct snd_soc_dai *dai)
return 1;
return 0;
}
+EXPORT_SYMBOL_GPL(snd_soc_dai_is_dummy);
int snd_soc_component_is_dummy(struct snd_soc_component *component)
{
@@ -239,9 +241,16 @@ static int snd_soc_dummy_probe(struct platform_device *pdev)
return ret;
}
+static const struct of_device_id soc_dummy_id[] = {
+ { .compatible = "linux,snd-soc-dummy", },
+ {},
+};
+MODULE_DEVICE_TABLE(of, soc_dummy_id);
+
static struct platform_driver soc_dummy_driver = {
.driver = {
.name = "snd-soc-dummy",
+ .of_match_table = soc_dummy_id,
},
.probe = snd_soc_dummy_probe,
};
diff --git a/sound/soc/ti/Kconfig b/sound/soc/ti/Kconfig
index 40110e9a9e8a..3b877c263b9f 100644
--- a/sound/soc/ti/Kconfig
+++ b/sound/soc/ti/Kconfig
@@ -63,6 +63,17 @@ config SND_SOC_OMAP_MCBSP
Say Y or M here if you want to have support for McBSP IP found in
Texas Instruments OMAP1/2/3/4/5 SoCs.
+# taeha, 20240903 tas2505 amp
+config SND_SOC_TAS2505
+ tristate "Texas Instruments TAS2505"
+ select REGMAP
+ select REGMAP_I2C
+ select I2C
+ help
+ Enable support Texas Instruments tas2505.
+ To compile this driver as a module, choose M here.
+ If unsure select "N".
+
config SND_SOC_OMAP_MCPDM
tristate "Multichannel PDM Controller (McPDM) support"
depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
diff --git a/sound/soc/ti/Makefile b/sound/soc/ti/Makefile
index a21e5b0061de..8d475e50403c 100644
--- a/sound/soc/ti/Makefile
+++ b/sound/soc/ti/Makefile
@@ -46,3 +46,6 @@ obj-$(CONFIG_SND_SOC_OMAP_AMS_DELTA) += snd-soc-ams-delta.o
obj-$(CONFIG_SND_SOC_OMAP_HDMI) += snd-soc-omap-hdmi.o
obj-$(CONFIG_SND_SOC_OMAP_OSK5912) += snd-soc-osk5912.o
obj-$(CONFIG_SND_SOC_J721E_EVM) += snd-soc-j721e-evm.o
+
+snd-soc-tas2505-objs := tas2505.o
+obj-$(CONFIG_SND_SOC_TAS2505) += snd-soc-tas2505.o
diff --git a/sound/soc/ti/tas2505.c b/sound/soc/ti/tas2505.c
new file mode 100644
index 000000000000..f4ea761441bd
--- /dev/null
+++ b/sound/soc/ti/tas2505.c
@@ -0,0 +1,693 @@
+/*
+ * ALSA SoC TAS2505 codec driver
+ *
+ * Author: Hieu Tran Dang <dangtranhieu2012@gmail.com>
+ *
+ * This package is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * THIS PACKAGE IS PROVIDED AS IS AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+#include <linux/version.h>
+#include <linux/module.h>
+#include <linux/i2c.h>
+#include <linux/clk.h>
+#include <linux/of.h>
+#include <linux/of_gpio.h>
+#include <sound/soc.h>
+#include <sound/tlv.h>
+#include <sound/pcm_params.h>
+#include "tas2505.h"
+
+enum {
+ MCLK = 0,
+ BCLK = 1,
+};
+
+struct tas2505
+{
+ int dac_vol;
+ int spk_vol1;
+}tas2505_vol;
+
+
+static int tas2505_dac_getvol(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ ucontrol->value.integer.value[0] = tas2505_vol.dac_vol;
+
+ return 0;
+}
+
+static int tas2505_dac_putvol(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct soc_mixer_control *mc =
+ (struct soc_mixer_control *)kcontrol->private_value;
+ u8 val;
+
+ val = ucontrol->value.integer.value[0];
+ val = mc->invert ? mc->max - val : val;
+ val = (val < 0) ? 0 : val;
+ tas2505_vol.dac_vol = val;
+ snd_soc_component_write(component, TAS2505_DACVOL, val);
+
+ return 0;
+}
+
+static int tas2505_spkdrv_getvol(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct soc_mixer_control *mc =
+ (struct soc_mixer_control *)kcontrol->private_value;
+ unsigned int val;
+
+ val = snd_soc_component_read(component, TAS2505_SPKVOL1);
+
+ val = (val > mc->max) ? mc->max : val;
+ val = mc->invert ? mc->max - val : val;
+ ucontrol->value.integer.value[0] = val;
+ tas2505_vol.spk_vol1 = val;
+ return 0;
+}
+
+static int tas2505_spkdrv_putvol(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct soc_mixer_control *mc =
+ (struct soc_mixer_control *)kcontrol->private_value;
+ u8 val;
+
+ val = (ucontrol->value.integer.value[0] & 0x7f);
+ val = mc->invert ? mc->max - val : val;
+ val = (val < 0) ? 0 : val;
+ tas2505_vol.spk_vol1 = val;
+ snd_soc_component_write(component, TAS2505_SPKVOL1, val);
+
+ return 0;
+}
+
+static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -6350, 50, 0);
+static const DECLARE_TLV_DB_LINEAR(spk_drv_vol_tlv, TLV_DB_GAIN_MUTE, 0);
+static const DECLARE_TLV_DB_SCALE(spk_amp_vol_tlv, 0, 600, 1);
+
+static const struct snd_kcontrol_new tas2505_snd_controls[] = {
+ SOC_SINGLE_RANGE_EXT_TLV("DAC Playback Volume", TAS2505_DACVOL,
+ 0, 48, 0x81, 1,
+ tas2505_dac_getvol, tas2505_dac_putvol, dac_vol_tlv),
+ SOC_SINGLE_RANGE_EXT_TLV("Speaker Driver Volume", TAS2505_SPKVOL1,
+ 0, 0, 117, 1,
+ tas2505_spkdrv_getvol, tas2505_spkdrv_putvol, spk_drv_vol_tlv),
+ SOC_SINGLE_TLV("Speaker Amplifer Volume", TAS2505_SPKVOL2,
+ 4, 5, 0, spk_amp_vol_tlv),
+};
+
+static const struct snd_soc_dapm_widget tas2505_dapm_widgets[] = {
+ SND_SOC_DAPM_DAC("DAC Channel", "Playback",
+ TAS2505_DACSETUP1, 7, 0),
+ SND_SOC_DAPM_OUT_DRV("Speaker Driver", TAS2505_SPKAMPCTRL1,
+ 1, 0, NULL, 0),
+ SND_SOC_DAPM_OUTPUT("Speaker"),
+};
+
+static const struct snd_soc_dapm_route tas2505_audio_map[] = {
+ { "Speaker Driver", NULL, "DAC Channel" },
+ { "Speaker", NULL, "Speaker Driver" },
+};
+
+static const struct reg_default tas2505_reg_defaults[] = {
+ { TAS2505_CLKMUX, 0x00 },
+ { TAS2505_PLLPR, 0x11 },
+ { TAS2505_PLLJ, 0x04 },
+ { TAS2505_PLLDMSB, 0x00 },
+ { TAS2505_PLLDLSB, 0x00 },
+ { TAS2505_NDAC, 0x01 },
+ { TAS2505_MDAC, 0x01 },
+ { TAS2505_DOSRMSB, 0x00 },
+ { TAS2505_DOSRLSB, 0x80 },
+ { TAS2505_IFACE1, 0x00 },
+ { TAS2505_IFACE3, 0x00 },
+ { TAS2505_DACSETUP1, 0x14 },
+ { TAS2505_DACSETUP2, 0x0c },
+ { TAS2505_DACVOL, 0x00 },
+ { TAS2505_REF_POR_LDO_BGAP_CTRL, 0x00 },
+ { TAS2505_LDO_CTRL, 0x0c },
+ { TAS2505_SPKAMPCTRL1, 0x00 },
+ { TAS2505_SPKVOL1, 0x00 },
+ { TAS2505_SPKVOL2, 0x50 },
+ { TAS2505_DACFLAG1, 0x00 },
+ { TAS2505_DACFLAG2, 0x00 },
+ { TAS2505_STICKYFLAG1, 0x00 },
+ { TAS2505_STICKYFLAG2, 0x00 },
+ { TAS2505_INTFLAG1, 0x00 },
+ { TAS2505_INTFLAG2, 0x00 },
+ { TAS2505_DACINSTRSET, 0x02 },
+ { TAS2505_DACANLGAINFLAG, 0x00 },
+};
+
+static bool tas2505_volatile(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case TAS2505_PAGECTL:
+ case TAS2505_RESET:
+ case TAS2505_DACFLAG1:
+ case TAS2505_DACFLAG2:
+ case TAS2505_STICKYFLAG1:
+ case TAS2505_STICKYFLAG2:
+ case TAS2505_INTFLAG1:
+ case TAS2505_INTFLAG2:
+ case TAS2505_DACANLGAINFLAG:
+ return true;
+ }
+ return false;
+}
+
+static bool tas2505_writeable(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case TAS2505_DACFLAG1:
+ case TAS2505_DACFLAG2:
+ case TAS2505_STICKYFLAG1:
+ case TAS2505_STICKYFLAG2:
+ case TAS2505_INTFLAG1:
+ case TAS2505_INTFLAG2:
+ case TAS2505_DACANLGAINFLAG:
+ return false;
+ }
+ return true;
+}
+
+static const struct regmap_range_cfg tas2505_ranges[] = {
+ {
+ .range_min = 0,
+ .range_max = 69 * 128,
+ .selector_reg = TAS2505_PAGECTL,
+ .selector_mask = 0xff,
+ .selector_shift = 0,
+ .window_start = 0,
+ .window_len = 128,
+ },
+};
+
+static const struct regmap_config tas2505_i2c_regmap = {
+ .reg_bits = 8,
+ .val_bits = 8,
+ .writeable_reg = tas2505_writeable,
+ .volatile_reg = tas2505_volatile,
+ .reg_defaults = tas2505_reg_defaults,
+ .num_reg_defaults = ARRAY_SIZE(tas2505_reg_defaults),
+ .cache_type = REGCACHE_RBTREE,
+ .ranges = tas2505_ranges,
+ .num_ranges = ARRAY_SIZE(tas2505_ranges),
+ .max_register = 69 * 128,
+};
+
+struct tas2505_rate_divs {
+ u32 mclk_p;
+ u32 rate;
+ u8 pll_r;
+ u8 pll_j;
+ u16 pll_d;
+ u8 mdac;
+ u8 ndac;
+ u16 dosr;
+};
+
+static const struct tas2505_rate_divs tas2505_divs_mclksrc[] = {
+ { 12288000, 44100, 1, 7, 35, 4, 4, 128 },
+ { 12288000, 48000, 1, 7, 0, 7, 2, 128 },
+ { 2822400, 44100, 1, 8, 4672, 3, 5, 128 },
+ { 11289600, 44100, 1, 8, 0, 4, 8, 64 },
+ { 11289600, 22050, 1, 8, 0, 4, 8, 128 },
+ { 2822400, 44100, 1, 8, 4672, 3, 5, 128 },
+ { 2822400, 22050, 1, 8, 4672, 3, 5, 256 },
+};
+
+static const struct tas2505_rate_divs tas2505_divs_bclksrc[] = {
+ { 1536000, 48000, 1, 56, 0, 2, 7, 128 },
+ { 1411200, 44100, 1, 60, 0, 5, 3, 128 },
+ { 3072000, 48000, 1, 28, 0, 2, 7, 128 },
+ { 2822400, 44100, 1, 30, 0, 5, 3, 128 },
+ { 1024000, 32000, 2, 40, 0, 5, 4, 128 },
+ { 2048000, 32000, 1, 40, 0, 5, 4, 128 },
+};
+
+struct tas2505_priv {
+ void *codec;
+ struct device *dev;
+ struct regmap *regmap;
+ u32 sysclk;
+ u32 clk_src;
+ u32 rate;
+ int rate_div_line;
+ int pll_clkin;
+ int frame_size;
+ u8 p_div;
+};
+
+static int tas2505_setup_pll(struct snd_soc_component *codec)
+{
+ struct tas2505_priv *tas2505 = snd_soc_component_get_drvdata(codec);
+ int mclk_p = tas2505->sysclk / tas2505->p_div;
+ struct tas2505_rate_divs *rate_divs;
+ int match = -1;
+ u8 p_div;
+ int i;
+
+ if (tas2505->clk_src == MCLK) {
+ for (i = 0; i < ARRAY_SIZE(tas2505_divs_mclksrc); i++) {
+ if (
+ tas2505_divs_mclksrc[i].rate == tas2505->rate &&
+ tas2505_divs_mclksrc[i].mclk_p == mclk_p
+ ) {
+ match = i;
+ break;
+ }
+ }
+
+ if (match == -1) {
+ dev_err(codec->dev,
+ "Sample rate (%u) and format not supported\n",
+ tas2505->rate);
+ return -EINVAL;
+ }
+
+ tas2505->rate_div_line = match;
+ rate_divs = (struct tas2505_rate_divs *)tas2505_divs_mclksrc;
+ } else {
+ for (i = 0; i < ARRAY_SIZE(tas2505_divs_bclksrc); i++) {
+ if (tas2505_divs_bclksrc[i].rate ==
+ tas2505->rate) {
+ match = i;
+ break;
+ }
+ }
+
+ if (match == -1) {
+ dev_err(codec->dev,
+ "Sample rate (%u) and format not supported\n",
+ tas2505->rate);
+ return -EINVAL;
+ }
+ rate_divs = (struct tas2505_rate_divs *)tas2505_divs_bclksrc;
+ }
+
+ p_div = (tas2505->p_div == 8) ? 0 : tas2505->p_div;
+ p_div <<= TAS2505_PLLPR_P_SHIFT;
+ p_div |= rate_divs[match].pll_r;
+ p_div |= TAS2505_PM_MASK;
+
+ snd_soc_component_write(codec, TAS2505_PLLPR, p_div);
+ snd_soc_component_write(codec, TAS2505_PLLJ,
+ rate_divs[match].pll_j);
+ snd_soc_component_write(codec, TAS2505_PLLDMSB,
+ rate_divs[match].pll_d >> 8);
+ snd_soc_component_write(codec, TAS2505_PLLDLSB,
+ rate_divs[match].pll_d & 0xff);
+ mdelay(15);
+ snd_soc_component_write(codec, TAS2505_NDAC,
+ TAS2505_PM_MASK | rate_divs[match].ndac);
+ snd_soc_component_write(codec, TAS2505_MDAC,
+ TAS2505_PM_MASK | rate_divs[match].mdac);
+ snd_soc_component_write(codec, TAS2505_DOSRMSB,
+ rate_divs[match].dosr >> 8);
+ snd_soc_component_write(codec, TAS2505_DOSRLSB,
+ rate_divs[match].dosr & 0xff);
+ if (tas2505->clk_src != MCLK)
+ snd_soc_component_update_bits(codec, TAS2505_BCLKNDIV,
+ TAS2505_BCLKNDIV_MASK,
+ (rate_divs[match].dosr * rate_divs[match].mdac) /
+ tas2505->frame_size);
+
+ return 0;
+}
+
+static int tas2505_hw_params(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params, struct snd_soc_dai *dai)
+{
+ struct snd_soc_component *codec = dai->component;
+ struct tas2505_priv *tas2505 = snd_soc_component_get_drvdata(codec);
+ u8 data = 0;
+
+ switch (params_width(params)) {
+ case 16:
+ break;
+
+ case 20:
+ data = TAS2505_WORD_LEN_20BITS;
+ break;
+
+ case 24:
+ data = TAS2505_WORD_LEN_24BITS;
+ break;
+
+ case 32:
+ data = TAS2505_WORD_LEN_32BITS;
+ break;
+
+ default:
+ dev_err(codec->dev, "Unsupported width %d\n",
+ params_width(params));
+ return -EINVAL;
+ }
+ dev_info(codec->dev, "%s: bit width = %d\n",
+ __func__, params_width(params));
+ data <<= TAS2505_IFACE1_DATALEN_SHIFT;
+
+ snd_soc_component_update_bits(codec, TAS2505_IFACE1,
+ TAS2505_IFACE1_DATALEN_MASK, data);
+ tas2505->rate = params_rate(params);
+ tas2505->frame_size = snd_soc_params_to_frame_size(params);
+
+ return tas2505_setup_pll(codec);
+}
+
+static int tas2505_dac_mute(struct snd_soc_dai *dai, int mute,
+ int stream)
+{
+ struct snd_soc_component *codec = dai->component;
+
+ if (mute) {
+ snd_soc_component_update_bits(codec, TAS2505_DACSETUP2,
+ TAS2505_DACSETUP2_MUTE_MASK,
+ TAS2505_DACSETUP2_MUTE_MASK);
+ snd_soc_component_update_bits(codec, TAS2505_DACSETUP1,
+ 0x80, 0x00);
+ } else {
+ snd_soc_component_update_bits(codec, TAS2505_DACSETUP1,
+ 0x80, 0x80);
+ snd_soc_component_update_bits(codec, TAS2505_DACSETUP2,
+ TAS2505_DACSETUP2_MUTE_MASK, 0x0);
+ }
+
+ return 0;
+}
+
+static int tas2505_set_dai_fmt(struct snd_soc_dai *codec_dai,
+ unsigned int fmt)
+{
+ struct snd_soc_component *codec = codec_dai->component;
+ u8 iface_reg1 = 0;
+ u8 iface_reg3 = 0;
+
+ switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
+ case SND_SOC_DAIFMT_CBS_CFS:
+ break;
+
+ case SND_SOC_DAIFMT_CBM_CFM:
+ iface_reg1 |= TAS2505_IFACE1_BCLKDIR_MASK;
+ iface_reg1 |= TAS2505_IFACE1_WCLKDIR_MASK;
+ break;
+
+ default:
+ dev_err(codec->dev,
+ "%s SND_SOC_DAIFMT_MASTER_MASK 0x%x \n",__FUNCTION__,fmt);
+ return -EINVAL;
+ }
+
+ switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
+ case SND_SOC_DAIFMT_NB_NF:
+ break;
+
+ case SND_SOC_DAIFMT_IB_NF:
+ iface_reg3 |= TAS2505_IFACE3_BCLKINV_MASK;
+ break;
+
+ default:
+ dev_err(codec->dev,
+ "tas2505_set_dai_fmt SND_SOC_DAIFMT_INV_MASK 0x%x \n",fmt);
+ return -EINVAL;
+ }
+
+ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
+ case SND_SOC_DAIFMT_I2S:
+ break;
+
+ case SND_SOC_DAIFMT_DSP_A:
+ case SND_SOC_DAIFMT_DSP_B:
+ iface_reg1 |= (TAS2505_DSP_MODE <<
+ TAS2505_IFACE1_INTERFACE_SHIFT);
+ break;
+
+ case SND_SOC_DAIFMT_RIGHT_J:
+ iface_reg1 |= (TAS2505_RJF_MODE <<
+ TAS2505_IFACE1_INTERFACE_SHIFT);
+ break;
+
+ case SND_SOC_DAIFMT_LEFT_J:
+ iface_reg1 |= (TAS2505_LJF_MODE <<
+ TAS2505_IFACE1_INTERFACE_SHIFT);
+ break;
+
+ default:
+ dev_err(codec->dev, "Invalid DAI interface format\n");
+ return -EINVAL;
+ }
+
+ snd_soc_component_write(codec, TAS2505_IFACE1, iface_reg1);
+ snd_soc_component_update_bits(codec, TAS2505_IFACE3,
+ TAS2505_IFACE3_BCLKINV_MASK | TAS2505_IFACE3_BDIVCLKIN_MASK,
+ iface_reg3);
+
+ return 0;
+}
+
+static int tas2505_set_dai_sysclk(struct snd_soc_dai *codec_dai,
+ int clk_id, unsigned int freq, int dir)
+{
+ struct snd_soc_component *codec = codec_dai->component;
+ struct tas2505_priv *tas2505 = snd_soc_component_get_drvdata(codec);
+ int i, x;
+ int ret = 0;
+
+ dev_info(tas2505->dev, "%s: clk_id: %d, freq: %d\n",
+ __func__, clk_id, freq);
+
+ if (tas2505->clk_src == MCLK) {
+ for (i = 0; i < ARRAY_SIZE(tas2505_divs_mclksrc); i++) {
+ for (x = 1; x < 9; x++) {
+ if ((freq / x) == tas2505_divs_mclksrc[i].mclk_p) {
+ tas2505->p_div = x;
+ break;
+ }
+ }
+ if (x < 9)
+ break;
+ }
+
+ if (i != ARRAY_SIZE(tas2505_divs_mclksrc)) {
+ } else {
+ dev_err(tas2505->dev,
+ "Can't produce required "
+ "PLL_CLKIN frequency\n");
+ ret = -EINVAL;
+ }
+ tas2505->pll_clkin = clk_id;
+ } else {
+ tas2505->pll_clkin = 1;
+ tas2505->p_div = 1;
+ }
+
+ if (!ret) {
+ snd_soc_component_write(codec, TAS2505_CLKMUX,
+ (tas2505->pll_clkin << TAS2505_PLL_CLKIN_SHIFT) |
+ TAS2505_CODEC_CLKIN_PLL);
+
+ tas2505->sysclk = freq;
+ }
+ return ret;
+
+}
+
+static void tas2505_power_on(struct snd_soc_component *codec)
+{
+ snd_soc_component_update_bits(codec, TAS2505_LDO_CTRL,
+ TAS2505_LDO_PLL_HP_LVL_MASK, 0);
+ snd_soc_component_update_bits(codec, TAS2505_REF_POR_LDO_BGAP_CTRL,
+ TAS2505_REF_POR_LDO_BGAP_MASTER_REF_MASK,
+ TAS2505_REF_POR_LDO_BGAP_MASTER_REF_MASK);
+}
+
+static void tas2505_power_off(struct snd_soc_component *codec)
+{
+ snd_soc_component_update_bits(codec, TAS2505_REF_POR_LDO_BGAP_CTRL,
+ TAS2505_REF_POR_LDO_BGAP_MASTER_REF_MASK, 0);
+ snd_soc_component_update_bits(codec, TAS2505_LDO_CTRL,
+ TAS2505_LDO_PLL_HP_LVL_MASK,
+ TAS2505_LDO_PLL_HP_LVL_MASK);
+}
+
+static int tas2505_set_bias_level(struct snd_soc_component *codec,
+ enum snd_soc_bias_level level)
+{
+ int current_lvl = snd_soc_component_get_bias_level(codec);
+ int rc = 0;
+
+ switch (level) {
+ case SND_SOC_BIAS_ON:
+ break;
+ case SND_SOC_BIAS_PREPARE:
+ break;
+ case SND_SOC_BIAS_STANDBY:
+ if (current_lvl == SND_SOC_BIAS_OFF) {
+ tas2505_power_on(codec);
+ dev_info(codec->dev,
+ "%s:power on\n", __func__);
+ } else
+ dev_info(codec->dev,
+ "%s:SND_SOC_BIAS_STANDBY\n",
+ __func__);
+ break;
+ case SND_SOC_BIAS_OFF:
+ if (current_lvl == SND_SOC_BIAS_STANDBY) {
+ tas2505_power_off(codec);
+ dev_info(codec->dev,
+ "%s:power off\n",
+ __func__);
+ } else
+ dev_info(codec->dev,
+ "%s:SND_SOC_BIAS_OFF\n",
+ __func__);
+ break;
+ default:
+ dev_err(codec->dev, "Invalid bias level\n");
+ rc = -EINVAL;
+ }
+
+ return rc;
+}
+
+static int tas2505_codec_probe(struct snd_soc_component *codec)
+{
+ struct tas2505_priv *tas2505 = snd_soc_component_get_drvdata(codec);
+
+ tas2505->codec = codec;
+ tas2505_vol.dac_vol = 0x00;
+ tas2505_vol.spk_vol1 = 0x00;
+
+ snd_soc_component_write(codec, TAS2505_RESET, 1);
+
+ dev_info(codec->dev,"%s: Probe finished\n", __func__);
+ return 0;
+}
+
+static const struct snd_soc_component_driver soc_codec_driver_tas2505 = {
+ .probe = tas2505_codec_probe,
+ .set_bias_level = tas2505_set_bias_level,
+ .suspend_bias_off = true,
+
+ .controls = tas2505_snd_controls,
+ .num_controls = ARRAY_SIZE(tas2505_snd_controls),
+ .dapm_widgets = tas2505_dapm_widgets,
+ .num_dapm_widgets = ARRAY_SIZE(tas2505_dapm_widgets),
+ .dapm_routes = tas2505_audio_map,
+ .num_dapm_routes = ARRAY_SIZE(tas2505_audio_map),
+};
+
+static const struct snd_soc_dai_ops tas2505_dai_ops = {
+ .hw_params = tas2505_hw_params,
+ .set_sysclk = tas2505_set_dai_sysclk,
+ .set_fmt = tas2505_set_dai_fmt,
+ .mute_stream = tas2505_dac_mute,
+};
+
+static struct snd_soc_dai_driver tas2505_dai_driver[] = {
+ {
+ .name = "tas2505-hifi",
+ .playback = {
+ .stream_name = "Playback",
+ .channels_min = 1,
+ .channels_max = 2,
+ .rates = TAS2505_RATES,
+ .formats = TAS2505_FORMATS,
+ },
+ .ops = &tas2505_dai_ops,
+ .symmetric_rate = 1,
+ },
+};
+
+static int tas2505_i2c_probe(struct i2c_client *i2c,
+ const struct i2c_device_id *id)
+{
+ struct tas2505_priv *tas2505;
+ struct device_node *np = i2c->dev.of_node;
+ const struct regmap_config *regmap_config = &tas2505_i2c_regmap;
+ int ret;
+
+ tas2505 = devm_kzalloc(&i2c->dev, sizeof(*tas2505), GFP_KERNEL);
+ if (tas2505 == NULL)
+ return -ENOMEM;
+
+ tas2505->regmap = devm_regmap_init_i2c(i2c, regmap_config);
+ if (IS_ERR(tas2505->regmap)) {
+ ret = PTR_ERR(tas2505->regmap);
+ dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
+ ret);
+ return ret;
+ }
+
+ ret = of_get_named_gpio(np, "gpio-reset", 0);
+ if ((ret > 0) && gpio_is_valid(ret)) {
+ devm_gpio_request_one(&i2c->dev, ret, GPIOF_OUT_INIT_HIGH,
+ "reset");
+ }
+
+ ret = of_property_read_u32(np, "clock-source",
+ &tas2505->clk_src);
+
+ dev_info(&i2c->dev, "%s: clock-source = %s\n", __func__,
+ tas2505->clk_src?"BCLK":"MCLK");
+
+ tas2505->dev = &i2c->dev;
+
+ dev_set_drvdata(tas2505->dev, tas2505);
+
+ return snd_soc_register_component(&i2c->dev,
+ &soc_codec_driver_tas2505, tas2505_dai_driver,
+ ARRAY_SIZE(tas2505_dai_driver));
+}
+
+static void tas2505_i2c_remove(struct i2c_client *i2c)
+{
+
+ snd_soc_unregister_component(&i2c->dev);
+
+ //return 0;
+}
+
+static const struct of_device_id tas2505_of_match[] = {
+ { .compatible = "ti,tas2505" },
+ {},
+};
+MODULE_DEVICE_TABLE(of, tas2505_of_match);
+
+static const struct i2c_device_id tas2505_i2c_id[] = {
+ { "tas2505", 0 },
+ {}
+};
+MODULE_DEVICE_TABLE(i2ic, tas2505_i2c_id);
+
+static struct i2c_driver tas2505_i2c_driver = {
+ .driver = {
+ .name = "tas2505-codec",
+ .of_match_table = of_match_ptr(tas2505_of_match),
+ },
+ .probe = tas2505_i2c_probe,
+ .remove = tas2505_i2c_remove,
+ .id_table = tas2505_i2c_id,
+};
+
+module_i2c_driver(tas2505_i2c_driver);
+
+MODULE_DESCRIPTION("ASoC TAS2505 codec driver");
+MODULE_AUTHOR("Hieu Tran Dang <dangtranhieu2012@gmail.com>");
+MODULE_LICENSE("GPL");
diff --git a/sound/soc/ti/tas2505.h b/sound/soc/ti/tas2505.h
new file mode 100644
index 000000000000..3e55df45f894
--- /dev/null
+++ b/sound/soc/ti/tas2505.h
@@ -0,0 +1,104 @@
+/*
+ * ALSA SoC TAS2505 codec driver
+ *
+ * Author: Hieu Tran Dang <dangtranhieu2012@gmail.com>
+ *
+ * This package is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * THIS PACKAGE IS PROVIDED AS IS AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifndef _TAS2505_H
+#define _TAS2505_H
+
+#define TAS2505_RATES (SNDRV_PCM_RATE_8000_96000)
+#define TAS2505_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | \
+ SNDRV_PCM_FMTBIT_S24_LE | \
+ SNDRV_PCM_FMTBIT_S32_LE)
+
+#define TAS2505_REG(page, reg) ((page * 128) + reg)
+
+#define TAS2505_PAGECTL TAS2505_REG(0, 0)
+#define TAS2505_RESET TAS2505_REG(0, 1)
+#define TAS2505_CLKMUX TAS2505_REG(0, 4)
+#define TAS2505_PLLPR TAS2505_REG(0, 5)
+#define TAS2505_PLLJ TAS2505_REG(0, 6)
+#define TAS2505_PLLDMSB TAS2505_REG(0, 7)
+#define TAS2505_PLLDLSB TAS2505_REG(0, 8)
+#define TAS2505_NDAC TAS2505_REG(0, 11)
+#define TAS2505_MDAC TAS2505_REG(0, 12)
+#define TAS2505_DOSRMSB TAS2505_REG(0, 13)
+#define TAS2505_DOSRLSB TAS2505_REG(0, 14)
+#define TAS2505_IFACE1 TAS2505_REG(0, 27)
+#define TAS2505_IFACE3 TAS2505_REG(0, 29)
+#define TAS2505_BCLKNDIV TAS2505_REG(0, 30)
+#define TAS2505_DACFLAG1 TAS2505_REG(0, 37)
+#define TAS2505_DACFLAG2 TAS2505_REG(0, 38)
+#define TAS2505_STICKYFLAG1 TAS2505_REG(0, 42)
+#define TAS2505_INTFLAG1 TAS2505_REG(0, 43)
+#define TAS2505_STICKYFLAG2 TAS2505_REG(0, 44)
+#define TAS2505_INTFLAG2 TAS2505_REG(0, 46)
+#define TAS2505_DACINSTRSET TAS2505_REG(0, 60)
+#define TAS2505_DACSETUP1 TAS2505_REG(0, 63)
+#define TAS2505_DACSETUP2 TAS2505_REG(0, 64)
+#define TAS2505_DACVOL TAS2505_REG(0, 65)
+#define TAS2505_REF_POR_LDO_BGAP_CTRL TAS2505_REG(1, 1)
+#define TAS2505_LDO_CTRL TAS2505_REG(1, 2)
+#define TAS2505_PLAYBACKCONF1 TAS2505_REG(1, 3)
+#define TAS2505_SPKAMPCTRL1 TAS2505_REG(1, 45)
+#define TAS2505_SPKVOL1 TAS2505_REG(1, 46)
+#define TAS2505_SPKVOL2 TAS2505_REG(1, 48)
+#define TAS2505_DACANLGAINFLAG TAS2505_REG(1, 63)
+
+#define TAS2505_PLLPR_P_MASK (0x70)
+#define TAS2505_PLLPR_R_MASK (0xf)
+#define TAS2505_PLL_DAC_MASK (0x7f)
+#define TAS2505_BCLKNDIV_MASK (0x7f)
+#define TAS2505_IFACE1_DATALEN_MASK (0x30)
+#define TAS2505_IFACE1_WCLKDIR_MASK (0x4)
+#define TAS2505_IFACE1_BCLKDIR_MASK (0x8)
+#define TAS2505_IFACE1_INTERFACE_MASK (0xc0)
+#define TAS2505_IFACE3_BDIVCLKIN_MASK (0x1)
+#define TAS2505_IFACE3_BCLKINV_MASK (0x8)
+#define TAS2505_DACSETUP1_PATH_CTRL_MSK (0x30)
+#define TAS2505_DACSETUP2_MUTE_MASK (0x8)
+#define TAS2505_PM_MASK (0x80)
+#define TAS2505_LDO_PLL_HP_LVL_MASK (0x8)
+#define TAS2505_REF_POR_LDO_BGAP_MASTER_REF_MASK (0x10)
+#define TAS2505_SPKVOL2_MSK (0x70)
+#define TAS2505_CODEC_CLKIN_MSK (0x3)
+#define TAS2505_PLL_INPUT_CLK_MSK (0xC)
+#define TAS2505_SPKAMPCTRL1_SPKDRV_MSK BIT(1)
+
+#define TAS2505_PLLPR_P_SHIFT (4)
+#define TAS2505_PLL_CLKIN_SHIFT (2)
+#define TAS2505_IFACE1_DATALEN_SHIFT (4)
+#define TAS2505_IFACE1_INTERFACE_SHIFT (6)
+#define TAS2505_IFACE3_BCLKINV_SHIFT (4)
+#define TAS2505_SPKVOL2_6DB_SHIFT (4)
+#define TAS2505_DACSETUP1_PATH_CTRL_SHIFT (4)
+
+#define TAS2505_WORD_LEN_20BITS (1)
+#define TAS2505_WORD_LEN_24BITS (2)
+#define TAS2505_WORD_LEN_32BITS (3)
+
+#define TAS2505_DSP_MODE (1)
+#define TAS2505_RJF_MODE (2)
+#define TAS2505_LJF_MODE (3)
+
+#define TAS2505_PLL_CLKIN_MCLK (0)
+#define TAS2505_PLL_CLKIN_BCLK (1)
+#define TAS2505_PLL_CLKIN_GPIO (2)
+#define TAS2505_PLL_CLKIN_DIN (3)
+#define TAS2505_CODEC_CLKIN_PLL (3)
+#define TAS2505_SPKVOL2_MUTE (0)
+#define TAS2505_SPKVOL2_6DB (1)
+#define TAS2505_DACSETUP1_PATH_CTRL_LRDIV2 (3)
+#define TAS2505_SPKAMPCTRL1_SPKDRV_PWD (0)
+#define TAS2505_SPKAMPCTRL1_SPKDRV_PWU (1)
+
+#endif
root@am62xx-evm:~# reboot
Stopping Session c1 of User root...
[ OK ] Removed slice Slice /system/getty.
[ OK ] Removed slice Slice /system/modprobe.
[ OK ] Stopped target Graphical Interface.
[ OK ] Stopped target Multi-User System.
[ OK ] Stopped target Login Prompts.
[ OK ] Stopped target RPC Port Mapper.
[ OK ] Stopped target Timer Units.
[ OK ] Stopped Daily rotation of log files.
[ OK ] Stopped Daily Cleanup of Temporary Directories.
[ OK ] Stopped target System Time Set.
[ OK ] Stopped target Hardware activated USB gadget.
[ OK ] Closed Process Core Dump Socket.
[ OK ] Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.
Stopping Job spooling tools...
Stopping Avahi mDNS/DNS-SD Stack...
Stopping containerd container runtime...
Stopping Periodic Command Scheduler...
Stopping irqbalance daemon...
Stopping Reboot and dump vmcore via kexec...
Stopping Lighttpd Daemon...
Stopping Netperf Benchmark Server...
Stopping NFS status monitor for NFSv2/3 locking....
Stopping Serial Getty on ttyS2...
Stopping Simple Network Ma…ent Protocol (SNMP) Daemon....
[ OK ] Stopped startwlanap.
[ OK ] Stopped startwlansta.
Stopping strongSwan IPsec …Ev2 daemon using ipsec.conf...
Stopping Load/Save Random Seed...
Stopping TEE Supplicant...
Stopping thermal-zone-init.service...
[ OK ] Stopped Job spooling tools.
[ OK ] Stopped Periodic Command Scheduler.
[ OK ] Stopped irqbalance daemon.
[ OK ] Stopped TEE Supplicant.
[ OK ] Stopped Avahi mDNS/DNS-SD Stack.
[ OK ] Stopped Netperf Benchmark Server.
[ OK ] Stopped NFS status monitor for NFSv2/3 locking..
[ OK ] Stopped Simple Network Man…ement Protocol (SNMP) Daemon..
[ OK ] Stopped Serial Getty on ttyS2.
[ OK ] Stopped containerd container runtime.
[ OK ] Stopped strongSwan IPsec I…IKEv2 daemon using ipsec.conf.
[ OK ] Stopped Lighttpd Daemon.
[ OK ] Stopped Reboot and dump vmcore via kexec.
[ OK ] Stopped Load/Save Random Seed.
[ OK ] Stopped thermal-zone-init.service.
[ OK ] Stopped Session c1 of User root.
[ OK ] Removed slice Slice /system/serial-getty.
Stopping LSB: network benchmark...
Stopping LSB: Expand Rootfs of boot device...
Stopping User Login Management...
Stopping User Manager for UID 0...
[ OK ] Stopped LSB: network benchmark.
[ OK ] Stopped User Manager for UID 0.
[ OK ] Stopped LSB: Expand Rootfs of boot device.
[ OK ] Stopped target Network is Online.
[ OK ] Stopped target Host and Network Name Lookups.
Stopping telnetd.service...
Stopping User Runtime Directory /run/user/0...
[ OK ] Unmounted /run/user/0.
[ OK ] Stopped telnetd.service.
[ OK ] Stopped User Runtime Directory /run/user/0.
[ OK ] Removed slice User Slice of UID 0.
Stopping Permit User Sessions...
[ OK ] Stopped User Login Management.
[ OK ] Stopped Permit User Sessions.
[ OK ] Stopped target Network.
[ OK ] Stopped target Remote File Systems.
Stopping Network Name Resolution...
[ OK ] Stopped Network Name Resolution.
Stopping Network Configuration...
[ OK ] Stopped Network Configuration.
[ OK ] Stopped target Preparation for Network.
[ OK ] Stopped IPv6 Packet Filtering Framework.
[ OK ] Stopped IPv4 Packet Filtering Framework.
[ OK ] Stopped target Basic System.
[ OK ] Stopped target Path Units.
[ OK ] Stopped Dispatch Password …ts to Console Directory Watch.
[ OK ] Stopped Forward Password R…uests to Wall Directory Watch.
[ OK ] Stopped target Slice Units.
[ OK ] Removed slice User and Session Slice.
[ OK ] Stopped target Socket Units.
[ OK ] Closed Avahi mDNS/DNS-SD Stack Activation Socket.
[ OK ] Closed Docker Socket for the API.
[ OK ] Closed dropbear.socket.
[ OK ] Closed Network Service Netlink Socket.
Stopping D-Bus System Message Bus...
[ OK ] Stopped D-Bus System Message Bus.
[ OK ] Closed D-Bus System Message Bus Socket.
[ OK ] Stopped target System Initialization.
Stopping Load/Save Screen …ness of backlight:backlight...
[ OK ] Stopped Apply Kernel Variables.
[ OK ] Stopped Load Kernel Modules.
Stopping Network Time Synchronization...
[ OK ] Stopped Update is Completed.
[ OK ] Stopped Rebuild Dynamic Linker Cache.
[ OK ] Stopped Rebuild Journal Catalog.
Stopping Record System Boot/Shutdown in UTMP...
[ OK ] Stopped Network Time Synchronization.
[ OK ] Stopped Load/Save Screen B…htness of backlight:backlight.
[ OK ] Removed slice Slice /system/systemd-backlight.
[ OK ] Stopped Record System Boot/Shutdown in UTMP.
[ OK ] Stopped Create Volatile Files and Directories.
[ OK ] Stopped target Local File Systems.
Unmounting /media/mmcblk1p1...
Unmounting /media/ram...
Unmounting /run/credentials/systemd-sysusers.service...
Unmounting /run/media/boot-mmcblk1p1...
Unmounting Temporary Directory /tmp...
Unmounting /var/volatile...
[ OK ] Unmounted /media/mmcblk1p1.
[ OK ] Unmounted /media/ram.
[ OK ] Unmounted /run/credentials/systemd-sysusers.service.
[ OK ] Unmounted /run/media/boot-mmcblk1p1.
[ OK ] Unmounted Temporary Directory /tmp.
[ OK ] Unmounted /var/volatile.
[ OK ] Stopped target Swaps.
[ OK ] Reached target Unmount All Filesystems.
[ OK ] Stopped File System Check on /dev/mmcblk1p1.
[ OK ] Removed slice Slice /system/systemd-fsck.
[ OK ] Stopped target Preparation for Local File Systems.
[ OK ] Stopped Create Static Device Nodes in /dev.
[ OK ] Stopped Create System Users.
[ OK ] Stopped Remount Root and Kernel File Systems.
[ OK ] Reached target System Shutdown.
[ OK ] Reached target Late Shutdown Services.
[ OK ] Finished System Reboot.
[ OK ] Reached target System Reboot.
[ 504.354522] kauditd_printk_skb: 3 callbacks suppressed
[ 504.354551] audit: type=1334 audit(510.192:15): prog-id=4 op=UNLOAD
[ 504.366323] audit: type=1334 audit(510.192:16): prog-id=3 op=UNLOAD
[ 504.373091] audit: type=1334 audit(510.200:17): prog-id=8 op=UNLOAD
[ 504.379458] audit: type=1334 audit(510.200:18): prog-id=7 op=UNLOAD
[ 504.406628] audit: type=1334 audit(510.244:19): prog-id=10 op=UNLOAD
[ 504.413183] audit: type=1334 audit(510.244:20): prog-id=9 op=UNLOAD
[ 504.419588] audit: type=1334 audit(510.248:21): prog-id=6 op=UNLOAD
[ 504.425908] audit: type=1334 audit(510.248:22): prog-id=5 op=UNLOAD
[ 504.511187] systemd-shutdown[1]: Syncing filesystems and block devices.
[ 504.571250] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[ 504.604530] systemd-journald[168]: Received SIGTERM from PID 1 (systemd-shutdow).
[ 504.617443] audit: type=1335 audit(510.456:23): pid=168 uid=0 auid=4294967295 tty=(none) ses=4294967295 comm="systemd-journal" exe="/lib/systemd/systemd-journald" nl-mcgrp=1 op=disconnect res=1
[ 504.622526] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[ 504.662530] systemd-shutdown[1]: Unmounting file systems.
[ 504.672279] [875]: Remounting '/' read-only with options 'n/a'.
[ 504.710396] EXT4-fs (mmcblk1p2): re-mounted. Quota mode: none.
[ 504.747210] systemd-shutdown[1]: All filesystems unmounted.
[ 504.752930] systemd-shutdown[1]: Deactivating swaps.
[ 504.758198] systemd-shutdown[1]: All swaps deactivated.
[ 504.763719] systemd-shutdown[1]: Detaching loop devices.
[ 504.774248] systemd-shutdown[1]: All loop devices detached.
[ 504.779919] systemd-shutdown[1]: Stopping MD devices.
[ 504.785439] systemd-shutdown[1]: All MD devices stopped.
[ 504.790784] systemd-shutdown[1]: Detaching DM devices.
[ 504.796305] systemd-shutdown[1]: All DM devices detached.
[ 504.801720] systemd-shutdown[1]: All filesystems, swaps, loop devices, MD devices and DM devices detached.
[ 504.841313] systemd-shutdown[1]: Syncing filesystems and block devices.
[ 504.848430] systemd-shutdown[1]: Rebooting.
[ 504.913117] reboot: Restarting system
U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
SPL initial stack usage: 13376 bytes
Trying to boot from MMC2
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Starting ATF on ARM64 core...
NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
NOTICE: BL31: Built : 00:42:57, Jan 13 2023
U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
SPL initial stack usage: 1856 bytes
i2c_write: error waiting for data ACK (status=0x116)
pca953x gpio@22: Error reading output register
Trying to boot from MMC2
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
U-Boot 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
SoC: AM62X SR1.0 GP
Model: Texas Instruments AM625 SK
EEPROM not available at 80, trying to read at 81
Reading on-board EEPROM at 0x51 failed -1
DRAM: 2 GiB
Core: 71 devices, 31 uclasses, devicetree: separate
MMC: mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from nowhere... OK
In: serial
Out: serial
Err: serial
EEPROM not available at 80, trying to read at 81
Reading on-board EEPROM at 0x51 failed -1
Net: eth0: ethernet@8000000port@1
Hit any key to stop autoboot: 0
i2c_write: error waiting for data ACK (status=0x116)
pca953x gpio@22: Error reading output register
switch to partitions #0, OK
mmc1 is current device
i2c_write: error waiting for data ACK (status=0x116)
pca953x gpio@22: Error reading output register
SD/MMC found on device 1
Failed to load 'boot.scr'
574 bytes read in 14 ms (40 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
## Error: "main_cpsw0_qsgmii_phyinit" not defined
20511232 bytes read in 839 ms (23.3 MiB/s)
59234 bytes read in 21 ms (2.7 MiB/s)
Working FDT set to 88000000
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Working FDT set to 88000000
ERROR: reserving fdt memory region failed (addr=ff700000 size=8ca000 flags=4)
Loading Device Tree to 000000008feee000, end 000000008fffffff ... OK
Working FDT set to 8feee000
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.1.33-g40c32565ca (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Thu Jul 6 14:17:24 UTC 2023
[ 0.000000] Machine model: Texas Instruments AM625 SK
[ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[ 0.000000] printk: bootconsole [ns16550a0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000f7600000, size 128 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB
[ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB
[ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB
[ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB
[ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB
[ 0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080000000-0x000000009c7fffff]
[ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff]
[ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff]
[ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff]
[ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ff6fffff]
[ 0.000000] node 0: [mem 0x00000000ff700000-0x00000000fffc9fff]
[ 0.000000] node 0: [mem 0x00000000fffca000-0x00000000ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 19 pages/cpu s38376 r8192 d31256 u77824
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] alternatives: applying boot alternatives
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516096
[ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=spi-nand0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),98048k@32m(ospi.rootfs),256k@130816k(ospi.phypattern);omap2-nand.0:2m(NAND.tiboot3),2m(NAND.tispl),2m(NAND.tiboot3.backup),4m(NAND.u-boot),256k(NAND.u-boot-env),256k(NAND.u-boot-env.backup),-(NAND.file-system) root=PARTUUID=ce7df6ee-02 rw rootfstype=ext4 rootwait
[ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 1838216K/2097152K available (12416K kernel code, 1278K rwdata, 4048K rodata, 2176K init, 491K bss, 127864K reserved, 131072K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[ 0.000000] GICv3: 256 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] GICv3: GICv3 features: 16 PPIs
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
[ 0.000000] ITS [mem 0x01820000-0x0182ffff]
[ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[ 0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
[ 0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
[ 0.000000] ITS: using cache flushing for cmd queue
[ 0.000000] GICv3: using LPI property table @0x0000000080040000
[ 0.000000] GIC: using cache flushing for LPI property table
[ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080050000
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[ 0.000000] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[ 0.008592] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[ 0.019284] pid_max: default: 32768 minimum: 301
[ 0.024070] LSM: Security Framework initializing
[ 0.028958] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.036551] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.046708] cblist_init_generic: Setting adjustable number of callback queues.
[ 0.054186] cblist_init_generic: Setting shift to 2 and lim to 1.
[ 0.060487] cblist_init_generic: Setting shift to 2 and lim to 1.
[ 0.066919] rcu: Hierarchical SRCU implementation.
[ 0.071828] rcu: Max phase no-delay instances is 1000.
[ 0.077435] Platform MSI: msi-controller@1820000 domain created
[ 0.083814] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
[ 0.093735] EFI services will not be available.
[ 0.098722] smp: Bringing up secondary CPUs ...
[ 0.104139] Detected VIPT I-cache on CPU1
[ 0.104271] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[ 0.104291] GICv3: CPU1: using allocated LPI pending table @0x0000000080060000
[ 0.104361] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.105182] Detected VIPT I-cache on CPU2
[ 0.105280] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
[ 0.105295] GICv3: CPU2: using allocated LPI pending table @0x0000000080070000
[ 0.105334] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.106056] Detected VIPT I-cache on CPU3
[ 0.106157] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
[ 0.106177] GICv3: CPU3: using allocated LPI pending table @0x0000000080080000
[ 0.106216] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.106299] smp: Brought up 1 node, 4 CPUs
[ 0.186034] SMP: Total of 4 processors activated.
[ 0.190853] CPU features: detected: 32-bit EL0 Support
[ 0.196131] CPU features: detected: CRC32 instructions
[ 0.201466] CPU: All CPU(s) started at EL2
[ 0.205667] alternatives: applying system-wide alternatives
[ 0.213629] devtmpfs: initialized
[ 0.226512] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.236547] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.249041] pinctrl core: initialized pinctrl subsystem
[ 0.255195] DMI not present or invalid.
[ 0.259865] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.267325] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[ 0.274945] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.283081] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.291287] audit: initializing netlink subsys (disabled)
[ 0.297026] audit: type=2000 audit(0.188:1): state=initialized audit_enabled=0 res=1
[ 0.297543] thermal_sys: Registered thermal governor 'step_wise'
[ 0.304964] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.311150] cpuidle: using governor menu
[ 0.322041] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.329084] ASID allocator initialised with 65536 entries
[ 0.349334] platform 30200000.dss: Fixed dependency cycle(s) with /display
[ 0.359104] KASLR disabled due to lack of seed
[ 0.371181] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.378156] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[ 0.384566] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.391505] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[ 0.397914] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.404853] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.411261] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.418200] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[ 0.426705] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected
[ 0.437566] iommu: Default domain type: Translated
[ 0.442643] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.449417] SCSI subsystem initialized
[ 0.453736] usbcore: registered new interface driver usbfs
[ 0.459397] usbcore: registered new interface driver hub
[ 0.464879] usbcore: registered new device driver usb
[ 0.470751] pps_core: LinuxPPS API ver. 1 registered
[ 0.475832] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.485187] PTP clock support registered
[ 0.489337] EDAC MC: Ver: 3.0.0
[ 0.493678] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fc9100
[ 0.500921] FPGA manager framework
[ 0.504528] Advanced Linux Sound Architecture Driver Initialized.
[ 0.511846] clocksource: Switched to clocksource arch_sys_counter
[ 0.518401] VFS: Disk quotas dquot_6.6.0
[ 0.522472] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.530786] NET: Registered PF_INET protocol family
[ 0.536135] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.545475] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[ 0.554298] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.562238] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.570458] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[ 0.578467] TCP: Hash tables configured (established 16384 bind 16384)
[ 0.585444] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[ 0.592381] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[ 0.599986] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.606393] RPC: Registered named UNIX socket transport module.
[ 0.612483] RPC: Registered udp transport module.
[ 0.617295] RPC: Registered tcp transport module.
[ 0.622103] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.628696] NET: Registered PF_XDP protocol family
[ 0.633611] PCI: CLS 0 bytes, default 64
[ 0.638599] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[ 0.649081] Initialise system trusted keyrings
[ 0.653960] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[ 0.666778] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.673594] NFS: Registering the id_resolver key type
[ 0.678831] Key type id_resolver registered
[ 0.683111] Key type id_legacy registered
[ 0.687286] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.694143] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.701963] 9p: Installing v9fs 9p2000 file system support
[ 0.741321] Key type asymmetric registered
[ 0.745515] Asymmetric key parser 'x509' registered
[ 0.750562] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.758340] io scheduler mq-deadline registered
[ 0.762985] io scheduler kyber registered
[ 0.770946] pinctrl-single 4084000.pinctrl: 34 pins, size 136
[ 0.777709] pinctrl-single f4000.pinctrl: 171 pins, size 684
[ 0.784643] pinctrl-single a40000.pinctrl: 512 pins, size 2048
[ 0.799544] Serial: 8250/16550 driver, 12 ports, IRQ sharing enabled
[ 0.817458] loop: module loaded
[ 0.822330] megasas: 07.719.03.00-rc1
[ 0.830956] tun: Universal TUN/TAP device driver, 1.6
[ 0.837047] thunder_xcv, ver 1.0
[ 0.840408] thunder_bgx, ver 1.0
[ 0.843740] nicpf, ver 1.0
[ 0.847001] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[ 0.854389] hns3: Copyright (c) 2017 Huawei Corporation.
[ 0.859901] hclge is initializing
[ 0.863311] e1000: Intel(R) PRO/1000 Network Driver
[ 0.868298] e1000: Copyright (c) 1999-2006 Intel Corporation.
[ 0.874207] e1000e: Intel(R) PRO/1000 Network Driver
[ 0.879281] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 0.885383] igb: Intel(R) Gigabit Ethernet Network Driver
[ 0.890903] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 0.896632] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[ 0.903049] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[ 0.909271] sky2: driver version 1.30
[ 0.913850] VFIO - User Level meta-driver version: 0.3
[ 0.920167] usbcore: registered new interface driver usb-storage
[ 0.927068] i2c_dev: i2c /dev entries driver
[ 0.933940] sdhci: Secure Digital Host Controller Interface driver
[ 0.940299] sdhci: Copyright(c) Pierre Ossman
[ 0.945344] Synopsys Designware Multimedia Card Interface Driver
[ 0.952032] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.958850] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.965262] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[ 0.972281] usbcore: registered new interface driver usbhid
[ 0.977993] usbhid: USB HID core driver
[ 0.983472] optee: probing for conduit method.
[ 0.988091] optee: revision 3.20 (8e74d476)
[ 0.988501] optee: dynamic shared memory is enabled
[ 0.998092] optee: initialized driver
[ 1.004752] Initializing XFRM netlink socket
[ 1.009208] NET: Registered PF_PACKET protocol family
[ 1.014549] 9pnet: Installing 9P2000 support
[ 1.019031] Key type dns_resolver registered
[ 1.023989] registered taskstats version 1
[ 1.028214] Loading compiled-in X.509 certificates
[ 1.043007] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
[ 1.117043] at24 0-0051: supply vcc not found, using dummy regulator
[ 1.148029] at24 0-0051: 65536 byte 24c512 EEPROM, writable, 64 bytes/write
[ 1.155700] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
[ 1.163338] tas2505-codec 1-0018: tas2505_i2c_probe: clock-source = BCLK
[ 1.170630] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
[ 1.176791] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
[ 1.185163] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
[ 1.194459] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
[ 1.204703] ti-udma 485c0100.dma-controller: Number of rings: 82
[ 1.213139] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
[ 1.224644] ti-udma 485c0000.dma-controller: Number of rings: 150
[ 1.235178] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
[ 1.245882] printk: console [ttyS2] disabled
[ 1.250413] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 238, base_baud = 3000000) is a 8250
[ 1.259329] printk: console [ttyS2] enabled
[ 1.259329] printk: console [ttyS2] enabled
[ 1.267789] printk: bootconsole [ns16550a0] disabled
[ 1.267789] printk: bootconsole [ns16550a0] disabled
[ 1.278939] omap8250 2840000.serial: PM domain pd:155 will not be powered off
[ 1.286457] 2840000.serial: ttyS4 at MMIO 0x2840000 (irq = 240, base_baud = 3000000) is a 8250
[ 1.296532] 2860000.serial: ttyS6 at MMIO 0x2860000 (irq = 241, base_baud = 3000000) is a 8250
[ 1.308423] spi-nor spi0.0: s28hs512t (65536 Kbytes)
[ 1.313585] 7 fixed-partitions partitions found on MTD device fc40000.spi.0
[ 1.320552] Creating 7 MTD partitions on "fc40000.spi.0":
[ 1.325956] 0x000000000000-0x000000080000 : "ospi.tiboot3"
[ 1.332922] 0x000000080000-0x000000280000 : "ospi.tispl"
[ 1.339491] 0x000000280000-0x000000680000 : "ospi.u-boot"
[ 1.346158] 0x000000680000-0x0000006c0000 : "ospi.env"
[ 1.352565] 0x0000006c0000-0x000000700000 : "ospi.env.backup"
[ 1.359537] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
[ 1.366221] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
[ 1.375014] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
[ 1.419873] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[ 1.429290] mdio_bus 8000f00.mdio: MDIO device at address 1 is missing.
[ 1.435918] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
[ 1.444050] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006
[ 1.457065] am65-cpsw-nuss 8000000.ethernet: Use random MAC address
[ 1.463335] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
[ 1.470461] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
[ 1.477075] pps pps0: new PPS source ptp0
[ 1.481420] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
[ 1.492083] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
[ 1.504598] mmc0: CQHCI version 5.10
[ 1.509424] omap8250 2840000.serial: Failed to create device link (0x180) with 4201000.gpio
[ 1.524874] Goodix-TS 0-0014: supply AVDD28 not found, using dummy regulator
[ 1.532116] Goodix-TS 0-0014: supply VDDIO not found, using dummy regulator
[ 1.546550] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
[ 1.606591] mmc0: Command Queue Engine enabled
[ 1.611112] mmc0: new HS200 MMC card at address 0001
[ 1.617417] mmcblk0: mmc0:0001 0IM20E 29.6 GiB
[ 1.628417] mmcblk0boot0: mmc0:0001 0IM20E 31.5 MiB
[ 1.634958] mmcblk0boot1: mmc0:0001 0IM20E 31.5 MiB
[ 1.640512] Goodix-TS 0-0014: ID 911, version: 1060
[ 1.641368] mmcblk0rpmb: mmc0:0001 0IM20E 4.00 MiB, chardev (240:0)
[ 1.645570] Goodix-TS 0-0014: Direct firmware load for goodix_911_cfg.bin failed with error -2
[ 1.660481] pca953x 1-0022: supply vcc not found, using dummy regulator
[ 1.664733] Goodix-TS 0-0014: Invalid config (799, 479, 0), using defaults
[ 1.667294] pca953x 1-0022: using AI
[ 1.674134] input: Goodix Capacitive TouchScreen as /devices/platform/bus@f0000/20000000.i2c/i2c-0/0-0014/input/input0
[ 1.700020] pca953x 1-0022: failed writing register
[ 1.705331] pca953x: probe of 1-0022 failed with error -121
[ 1.714498] mmc1: CQHCI version 5.10
[ 1.715255] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
[ 1.751457] ALSA device list:
[ 1.755157] No soundcards found.
[ 1.762903] mmc1:SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
[ 1.773537] Waiting for root device PARTUUID=ce7df6ee-02...
[ 1.815820] mmc1: new high speed SDXC card at address aaaa
[ 1.822535] mmcblk1: mmc1:aaaa SH64G 59.5 GiB
[ 1.830336] mmcblk1: p1 p2
[ 1.892823] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Quota mode: none.
[ 1.901515] VFS: Mounted root (ext4 filesystem) on device 179:98.
[ 1.909305] devtmpfs: mounted
[ 1.914380] Freeing unused kernel memory: 2176K
[ 1.919170] Run /sbin/init as init process
[ 4.130821] systemd[1]: System time before build time, advancing clock.
[ 4.391386] NET: Registered PF_INET6 protocol family
[ 4.399082] Segment Routing with IPv6
[ 4.402872] In-situ OAM (IOAM) with IPv6
[ 4.556373] systemd[1]: systemd 250.5+ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
[ 4.589604] systemd[1]: Detected architecture arm64.
Welcome to Arago 2023.04!
[ 4.707325] systemd[1]: Hostname set to <am62xx-evm>.
[ 5.018485] systemd-sysv-generator[151]: SysV service '/etc/init.d/reboot' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.045649] systemd-sysv-generator[151]: SysV service '/etc/init.d/psplash.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.070268] systemd-sysv-generator[151]: SysV service '/etc/init.d/umountfs' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.095077] systemd-sysv-generator[151]: SysV service '/etc/init.d/sendsigs' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.119366] systemd-sysv-generator[151]: SysV service '/etc/init.d/netperf' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.145398] systemd-sysv-generator[151]: SysV service '/etc/init.d/umountnfs.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.171592] systemd-sysv-generator[151]: SysV service '/etc/init.d/netopeer2-server' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.196478] systemd-sysv-generator[151]: SysV service '/etc/init.d/save-rtc.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.220960] systemd-sysv-generator[151]: SysV service '/etc/init.d/dropbear' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.244894] systemd-sysv-generator[151]: SysV service '/etc/init.d/resize_rootfs.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.272777] systemd-sysv-generator[151]: SysV service '/etc/init.d/halt' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.296808] systemd-sysv-generator[151]: SysV service '/etc/init.d/thermal-zone-init' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.322376] systemd-sysv-generator[151]: SysV service '/etc/init.d/sysrepo' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.346269] systemd-sysv-generator[151]: SysV service '/etc/init.d/docker.init' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.370628] systemd-sysv-generator[151]: SysV service '/etc/init.d/inetd.busybox' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.400165] systemd-sysv-generator[151]: SysV service '/etc/init.d/telnetd' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.426417] systemd-sysv-generator[151]: SysV service '/etc/init.d/single' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 5.949157] systemd[1]: Configuration file /etc/systemd/system/ti-apps-launcher.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[ 6.063639] systemd[1]: /lib/systemd/system/startwlansta.service:7: Unknown key name 'After' in section 'Service', ignoring.
[ 6.077498] systemd[1]: /lib/systemd/system/startwlanap.service:7: Unknown key name 'After' in section 'Service', ignoring.
[ 6.144410] systemd[1]: /lib/systemd/system/bt-enable.service:9: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[ 6.238449] systemd[1]: /etc/systemd/system/sync-clocks.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[ 6.363920] systemd[1]: Queued start job for default target Graphical Interface.
[ 6.455937] systemd[1]: Created slice Slice /system/getty.
[ OK ] Created slice Slice /system/getty.
[ 6.479799] systemd[1]: Created slice Slice /system/modprobe.
[ OK ] Created slice Slice /system/modprobe.
[ 6.504405] systemd[1]: Created slice Slice /system/serial-getty.
[ OK ] Created slice Slice /system/serial-getty.
[ 6.531237] systemd[1]: Created slice User and Session Slice.
[ OK ] Created slice User and Session Slice.
[ 6.552654] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Started Dispatch Password …ts to Console Directory Watch.
[ 6.576534] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ OK ] Started Forward Password R…uests to Wall Directory Watch.
[ 6.600852] systemd[1]: Reached target Path Units.
[ OK ] Reached target Path Units.
[ 6.616341] systemd[1]: Reached target Remote File Systems.
[ OK ] Reached target Remote File Systems.
[ 6.636124] systemd[1]: Reached target Slice Units.
[ OK ] Reached target Slice Units.
[ 6.652295] systemd[1]: Reached target Swaps.
[ OK ] Reached target Swaps.
[ 6.765106] systemd[1]: Listening on RPCbind Server Activation Socket.
[ OK ] Listening on RPCbind Server Activation Socket.
[ 6.788514] systemd[1]: Reached target RPC Port Mapper.
[ OK ] Reached target RPC Port Mapper.
[ 6.826867] systemd[1]: Listening on Process Core Dump Socket.
[ OK ] Listening on Process Core Dump Socket.
[ 6.849175] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ OK ] Listening on initctl Compatibility Named Pipe.
[ 6.874174] systemd[1]: Listening on Journal Audit Socket.
[ OK ] Listening on Journal Audit Socket.
[ 6.899034] systemd[1]: Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket (/dev/log).
[ 6.923054] systemd[1]: Listening on Journal Socket.
[ OK ] Listening on Journal Socket.
[ 6.942350] systemd[1]: Listening on Network Service Netlink Socket.
[ OK ] Listening on Network Service Netlink Socket.
[ 6.967450] systemd[1]: Listening on udev Control Socket.
[ OK ] Listening on udev Control Socket.
[ 6.990412] systemd[1]: Listening on udev Kernel Socket.
[ OK ] Listening on udev Kernel Socket.
[ 7.014727] systemd[1]: Listening on User Database Manager Socket.
[ OK ] Listening on User Database Manager Socket.
[ 7.088925] systemd[1]: Mounting Huge Pages File System...
Mounting Huge Pages File System...
[ 7.115497] systemd[1]: Mounting POSIX Message Queue File System...
Mounting POSIX Message Queue File System...
[ 7.153656] systemd[1]: Mounting Kernel Debug File System...
Mounting Kernel Debug File System...
[ 7.177399] systemd[1]: Kernel Trace File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
[ 7.224767] systemd[1]: Mounting Temporary Directory /tmp...
Mounting Temporary Directory /tmp...
[ 7.264226] systemd[1]: Starting Create List of Static Device Nodes...
Starting Create List of Static Device Nodes...
[ 7.321372] systemd[1]: Starting Load Kernel Module configfs...
Starting Load Kernel Module configfs...
[ 7.356455] systemd[1]: Starting Load Kernel Module drm...
Starting Load Kernel Module drm...
[ 7.384909] systemd[1]: Starting Load Kernel Module fuse...
Starting Load Kernel Module fuse...
[ 7.571084] fuse: init (API version 7.37)
[ 7.593255] systemd[1]: Starting Start psplash boot splash screen...
Starting Start psplash boot splash screen...
[ 7.665446] systemd[1]: Starting RPC Bind...
Starting RPC Bind...
[ 7.685200] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/).
[ 7.737579] systemd[1]: Starting Journal Service...
Starting Journal Service...
[ 7.773900] systemd[1]: Starting Load Kernel Modules...
Starting Load Kernel Modules...
[ 7.804945] systemd[1]: Starting Generate network units from Kernel command line...
Starting Generate network …ts from Kernel command line...
[ 7.861487] systemd[1]: Starting Remount Root and Kernel File Systems...
Starting Remount Root and Kernel File Systems...
[ 7.893847] systemd[1]: Starting Coldplug All udev Devices...
[ 7.900255] cryptodev: loading out-of-tree module taints kernel.
Starting Coldplug All udev Devices...
[ 7.921675] EXT4-fs (mmcblk1p2): re-mounted. Quota mode: none.
[ 7.928701] cryptodev: driver 1.12 loaded.
[ 7.942318] systemd[1]: Started RPC Bind.
[ OK ] Started RPC Bind.
[ 7.961408] systemd[1]: Mounted Huge Pages File System.
[ OK ] Mounted Huge Pages File System.
[ 7.989083] systemd[1]: Mounted POSIX Message Queue File System.
[ OK ] Mounted POSIX Message Queue File System.
[ 8.012958] systemd[1]: Mounted Kernel Debug File System.
[ OK ] Mounted Kernel Debug File System.
[ 8.037031] systemd[1]: Mounted Temporary Directory /tmp.
[ OK ] Mounted Temporary Directory /tmp.
[ 8.062477] systemd[1]: Finished Create List of Static Device Nodes.
[ OK ] Finished Create List of Static Device Nodes.
[ 8.089016] systemd[1]: Started Journal Service.
[ OK ] Started Journal Service.
[ OK ] Finished Load Kernel Module configfs.
[ OK ] Finished Load Kernel Module drm.
[ OK ] Finished Load Kernel Module fuse.
[FAILED] Failed to start Start psplash boot splash screen.
See 'systemctl status psplash-start.service' for details.
[DEPEND] Dependency failed for Star…progress communication helper.
[ OK ] Finished Load Kernel Modules.
[ OK ] Finished Generate network units from Kernel command line.
[ OK ] Finished Remount Root and Kernel File Systems.
Mounting FUSE Control File System...
Mounting Kernel Configuration File System...
Starting Flush Journal to Persistent Storage...
Starting Apply Kernel Variables...
[ 8.440449] systemd-journald[167]: Received client request to flush runtime journal.
Starting Create Static Device Nodes in /dev...
[ OK ] Mounted FUSE Control File System.
[ OK ] Mounted Kernel Configuration File System.
[ OK ] Finished Flush Journal to Persistent Storage.
[ OK ] Finished Apply Kernel Variables.
[ OK ] Finished Create Static Device Nodes in /dev.
[ OK ] Reached target Preparation for Local File Systems.
Mounting /media/ram...
Mounting /var/volatile...
[ 8.725966] audit: type=1334 audit(1651167749.608:2): prog-id=5 op=LOAD
[ 8.732796] audit: type=1334 audit(1651167749.616:3): prog-id=6 op=LOAD
Starting Rule-based Manage…for Device Events and Files...
[ OK ] Finished Coldplug All udev Devices.
[ OK ] Mounted /media/ram.
[ OK ] Mounted /var/volatile.
Starting Load/Save Random Seed...
[ OK ] Reached target Local File Systems.
Starting Create Volatile Files and Directories...
[ OK ] Finished Create Volatile Files and Directories.
Starting Network Time Synchronization...
Starting Record System Boot/Shutdown in UTMP...
[ OK ] Started Rule-based Manager for Device Events and Files.
[ OK ] Finished Record System Boot/Shutdown in UTMP.
[ OK ] Started Network Time Synchronization.
[ OK ] Reached target System Initialization.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target System Time Set.
[ OK ] Started Daily rotation of log files.
[ OK ] Reached target Timer Units.
[ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[ OK ] Listening on D-Bus System Message Bus Socket.
Starting Docker Socket for the API...
[ OK ] Listening on dropbear.socket.
[ 9.705861] rtc rtc0: Unknown quartz-load-femtofarads value: 1250. Assuming 12500
Starting Weston socket...
[ 9.720412] rtc-pcf8523 1-0068: failed to set xtal load capacitance: -121
[ 9.728512] pwm-backlight backlight: supply power not found, using dummy regulator
Starting D-Bus System Message Bus...
[ 9.740716] panel-simple display: supply power not found, using dummy regulator
[ 9.752707] rtc-pcf8523: probe of 1-0068 failed with error -121
[ 9.768796] panel-simple display: Specify missing bus_flags
Starting Reboot and dump vmcore via kexec...
[ OK ] Listening on Docker Socket for the API.
[ OK ] Listening on Weston socket.
[ OK ] Found device /dev/ttyS2.
[ OK ] Reached target Socket Units.
[ 9.975920] random: crng init done
[ 10.116185] mc: Linux media interface: v0.10
[ 10.127315] rtc-ti-k3 2b1f0000.rtc: registered as rtc0
[ 10.132886] rtc-ti-k3 2b1f0000.rtc: setting system clock to 1970-01-01T00:00:16 UTC (16)
[ 10.142780] systemd-journald[167]: Time jumped backwards, rotating.
[ 10.201381] platform 31000000.usb: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/tps6598x@3f/connector
[ 10.241071] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@9cb00000
[ 10.249974] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
[ 10.257021] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
[ 10.267107] remoteproc remoteproc0: 5000000.m4fss is available
[ 10.383746] CAN device driver interface
[ 10.390361] videodev: Linux video capture interface: v2.00
[ OK ] Finished Load/Save Random Seed.
[ 10.461661] remoteproc remoteproc0: powering up 5000000.m4fss
[ 10.467482] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 54860
[ 10.476963] rproc-virtio rproc-virtio.1.auto: assigned reserved memory node m4f-dma-memory@9cb00000
[ 10.487268] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 10.493260] rproc-virtio rproc-virtio.1.auto: registered virtio0 (type 7)
[ 10.500342] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
[ 10.507694] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
[ 10.515699] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
[ 10.525107] platform 78000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
[ 10.537220] platform 78000000.r5f: configured R5F for IPC-only mode
[ 10.543855] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@9da00000
[ 10.552911] m_can_platform 4e00000.can: m_can device registered (irq=0, version=32)
[ 10.553175] remoteproc remoteproc1: 78000000.r5f is available
[ 10.566637] remoteproc remoteproc1: attaching to 78000000.r5f
[ 10.567528] m_can_platform 4e10000.can: m_can device registered (irq=0, version=32)
[ 10.573704] platform 78000000.r5f: R5F core initialized in IPC-only mode
[ 10.587113] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node r5f-dma-memory@9da00000
[ 10.597234] virtio_rpmsg_bus virtio1: rpmsg host is online
[ 10.598265] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
[ 10.603096] rproc-virtio rproc-virtio.2.auto: registered virtio1 (type 7)
[ 10.613262] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
[ 10.617388] remoteproc remoteproc1: remote processor 78000000.r5f is now attached
[ OK ] Finished Reboot and dump vmcore via kexec.
[ 10.684556] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0
[ 10.694377] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device
[ 11.167631] PVR_K: 215: Device: fd00000.gpu
[ 11.174834] PVR_K: 215: Read BVNC 33.15.11.3 from HW device registers
[ 11.182813] PVR_K: 215: RGX Device registered with BVNC 33.15.11.3
[ 11.190215] [drm] Initialized pvr 23.1.6404501 20170530 for fd00000.gpu on minor 1
[ OK ] Started D-Bus System Message Bus.
[ OK ] Reached target Basic System.
[ OK ] Started Job spooling tools.
[ OK ] Started Periodic Command Scheduler.
Starting Print notice about GPLv3 packages...
Starting IPv6 Packet Filtering Framework...
Starting IPv4 Packet Filtering Framework...
[ OK ] Started irqbalance daemon.
Starting startwlanap...
Starting startwlansta...
[ 11.515261] audit: type=1334 audit(17.876:4): prog-id=7 op=LOAD
[ 11.521420] audit: type=1334 audit(17.884:5): prog-id=8 op=LOAD
Starting User Login Management...
[ 12.179231] remoteproc remoteproc2: 30074000.pru is available
[ 12.185885] remoteproc remoteproc3: 30078000.pru is available
[ OK ] Started TEE Supplicant.
Starting telnetd.service...
[ OK ] Started ti-apps-launcher service.
Starting Rotate log files...
[ OK ] Started startwlanap.
[ OK ] Started startwlansta.
[ 12.373083] cdns-csi2rx: probe of 30101000.csi-bridge failed with error -22
[ OK ] Started telnetd.service.
[ 12.416327] xhci-hcd xhci-hcd.3.auto: xHCI Host Controller
[ 12.428822] xhci-hcd xhci-hcd.3.auto: new USB bus registered, assigned bus number 1
[ 12.437080] xhci-hcd xhci-hcd.3.auto: USB3 root hub has no ports
[ 12.443450] xhci-hcd xhci-hcd.3.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000000000010010
[ 12.453273] xhci-hcd xhci-hcd.3.auto: irq 452, io mem 0x31100000
[ 12.463990] hub 1-0:1.0: USB hub found
[ 12.469116] hub 1-0:1.0: 1 port detected
[ OK ] Finished IPv6 Packet Filtering Framework.
[ OK ] Finished IPv4 Packet Filtering Framework.
[ OK ] Started User Login Management.
[ OK ] Created slice Slice /system/systemd-backlight.
[ OK ] Reached target Preparation for Network.
[ OK ] Reached target Hardware activated USB gadget.
Starting LSB: Expand Rootfs of boot device...
Starting Load/Save Screen …ness of backlight:backlight...
Starting Network Configuration...
[ OK ] Finished Load/Save Screen …htness of backlight:backlight.
[ OK ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
[ 13.240612] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 13.265748] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ OK ] Finished Rotate log files.
[ OK ] Started Network Configuration.
Starting Wait for Network to be Configured...
Starting Network Name Resolution...
[ 14.300250] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
[ 14.309746] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
[ OK ] Started Network Name Resolution.
[ OK ] Reached target Network.
[ OK ] Reached target Host and Network Name Lookups.
Starting Avahi mDNS/DNS-SD Stack...
Starting Enable and configure wl18xx bluetooth stack...
Starting containerd container runtime...
[ OK ] Started Netperf Benchmark Server.
[ OK ] Started NFS status monitor for NFSv2/3 locking..
Starting Simple Network Ma…ent Protocol (SNMP) Daemon....
Starting Permit User Sessions...
[ OK ] Started LSB: Expand Rootfs of boot device.
[ OK ] Finished Enable and configure wl18xx bluetooth stack.
[ OK ] Finished Permit User Sessions.
[ OK ] Started Serial Getty on ttyS2.
[ OK ] Reached target Login Prompts.
Starting Synchronize System and HW clocks...
[ 15.989889] startwlanap.sh[639]: sed: unmatched '/'
[ 16.289234] startwlanap.sh[640]: adding wlan1 interface
[ 16.298865] startwlanap.sh[658]: command failed: No such file or directory (-2)
[ OK ] Started Avahi mDNS/DNS-SD Stack.
[ OK ] Finished Synchronize System and HW clocks.
[ OK ] Created slice Slice /system/systemd-fsck.
Starting File System Check on /dev/mmcblk1p1...
[ 17.899993] startwlanap.sh[683]: SIOCSIFADDR: No such device
[ 17.909076] startwlanap.sh[683]: wlan1: ERROR while getting interface flags: No such device
[ 17.927367] startwlanap.sh[683]: SIOCSIFNETMASK: No such device
[ 17.946040] startwlanap.sh[683]: wlan1: ERROR while getting interface flags: No such device
[ OK ] Finished File System Check on /dev/mmcblk1p1.
Mounting /run/media/boot-mmcblk1p1...
[ OK ] Mounted /run/media/boot-mmcblk1p1.
[ 18.467543] startwlanap.sh[659]: Line 499: unknown configuration item 'wep_rekey_period'
[ 18.469545] startwlanap.sh[659]: 1 errors found in configuration file '/usr/share/wl18xx/hostapd.conf'
[ 18.470652] startwlanap.sh[659]: Failed to set up interface with /usr/share/wl18xx/hostapd.conf
[ 18.471546] startwlanap.sh[659]: Failed to initialize interface
_____ _____ _ _
| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
| | _| .'| . | . | | __| _| . | | | -_| _| _|
|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
|___| |___|
Arago Project am62xx-evm -
Arago 2023.04 am62xx-evm -
am62xx-evm login: [ 22.789950] audit: type=1325 audit(29.044:6): table=nat family=2 entries=0 op=xt_register pid=705 comm="iptables"
[ 22.800443] audit: type=1300 audit(29.044:6): arch=c00000b7 syscall=209 success=yes exit=0 a0=4 a1=0 a2=40 a3=ffffc1129f08 items=0 ppid=640 pid=705 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null)
[ 22.827845] audit: type=1327 audit(29.044:6): proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0065746830002D6A004D415351554552414445
[ 22.842368] audit: type=1325 audit(29.152:7): table=nat family=2 entries=5 op=xt_replace pid=705 comm="iptables"
[ 22.852692] audit: type=1300 audit(29.152:7): arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=30014210 items=0 ppid=640 pid=705 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null)
[ 22.879763] audit: type=1327 audit(29.152:7): proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0065746830002D6A004D415351554552414445
[ 23.768712] startwlanap.sh[713]: iperf3: error - unable to start listener for connections: Cannot assign requested address
[ 23.769536] startwlanap.sh[713]: iperf3: exiting
[ 24.221745] platform fa20000.mmc: deferred probe pending
[ 24.227217] platform sound: deferred probe pending
[ 24.232086] platform regulator-6: deferred probe pending
[ 24.237467] platform regulator-7: deferred probe pending
[ 24.242869] platform regulator-8: deferred probe pending
am62xx-evm login: root
[ 32.916265] audit: type=1334 audit(39.280:8): prog-id=9 op=LOAD
[ 32.922351] audit: type=1334 audit(39.284:9): prog-id=10 op=LOAD
[ 34.873228] audit: type=1006 audit(41.236:10): pid=731 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
[ 34.885037] audit: type=1300 audit(41.236:10): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=ffffe7af5f58 a2=1 a3=0 items=0 ppid=1 pid=731 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="(systemd)" exe="/lib/systemd/systemd" key=(null)
[ 34.909785] audit: type=1327 audit(41.236:10): proctitle="(systemd)"
[ 35.078272] audit: type=1334 audit(41.440:11): prog-id=11 op=LOAD
[ 35.084462] audit: type=1300 audit(41.440:11): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffcc742330 a2=78 a3=0 items=0 ppid=1 pid=731 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="systemd" exe="/lib/systemd/systemd" key=(null)
[ 35.109181] audit: type=1327 audit(41.440:11): proctitle="(systemd)"
[ 35.115594] audit: type=1334 audit(41.440:12): prog-id=11 op=UNLOAD
[ 35.121882] audit: type=1334 audit(41.440:13): prog-id=12 op=LOAD
root@am62xx-evm:~# [ 48.444908] kauditd_printk_skb: 3 callbacks suppressed
[ 48.444936] audit: type=1701 audit(54.808:15): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=431 comm="ti-apps-launche" exe="/usr/bin/ti-apps-launcher" sig=11 res=1
[ 48.521050] audit: type=1334 audit(54.884:16): prog-id=13 op=LOAD
[ 48.527290] audit: type=1334 audit(54.888:17): prog-id=14 op=LOAD
[ 50.700182] audit: type=1334 audit(57.064:18): prog-id=14 op=UNLOAD
[ 50.706692] audit: type=1334 audit(57.064:19): prog-id=13 op=UNLOAD
root@am62xx-evm:~# ls /dev/snd/
timer
root@am62xx-evm:~# ls /sys/bus/i2c/devices/
0-0014 0-003f 0-0051 1-0018 1-0022 1-0068 i2c-0 i2c-1
root@am62xx-evm:~# cat /proc/asound/pcm
root@am62xx-evm:~# cat /proc/asound/cards
--- no soundcards ---
root@am62xx-evm:~# dmesg | grep tas2505
[ 1.163338] tas2505-codec 1-0018: tas2505_i2c_probe: clock-source = BCLK
root@am62xx-evm:~# dmesg | grep sound
[ 1.755157] No soundcards found.
[ 24.227217] platform sound: deferred probe pending
root@am62xx-evm:~#


