SK-AM62P-LP: Audio Playback Issue via Bluetooth on SK-AM62Px-LP

Part Number: SK-AM62P-LP
Other Parts Discussed in Thread: M2-CC3351, CC3351, AM625

Tool/software:

Hi,

I’m currently working with the following setup:

  • PSDK Version: ti-processor-sdk-linux-am62pxx-evm-10.01.10.04

  • Board: SK-AM62Px-LP

  • Audio Codec Module: TLV320AIC3106IRGZT

  • Bluetooth Module: EAR00388 (as recommended in the AM62Px User Guide, M.2 module)

I am trying to implement an audio system using Bluetooth. When I play a song from a mobile device, the audio is received, but only noise is heard through the headset jack. However, when I play a stored song sample rate (44.1 kHz, 16-bit), the sound is clear. The issue occurs only with Bluetooth playback, where noise is present instead of clear audio. The Bluetooth song sample rate is also the same

 Could you please advise how to fix this issue?

Regards,
Veerapandiyan V.

  • Hi Veerapandiyan,

    Can you share the pipeline you are trying to validate the scenario? Are you using avdtpsrc to receive data from an A2DP device?

    What I understand from your query is a normal playback (Stored file on the EVM to Headset jack) is working fine.

    Best Regards,

    Suren

  • Hi Suren,

    What I understand from your query is a normal playback (Stored file on the EVM to Headset jack) is working fine.

    Understanding is correct.

    Can you share the pipeline you are trying to validate the scenario? Are you using avdtpsrc to receive data from an A2DP device?

    I shared some logs below the file

    root@am62pxx-evm:~# bluealsa-aplay -l
    **** List of PLAYBACK Bluetooth Devices ****
    **** List of CAPTURE Bluetooth Devices ****
    hci0: C8:D9:59:AD:4C:DA [moto g45 5G], trusted phone
    A2DP (SBC): S16_LE 2 channels 44100 Hz
    
    root@am62pxx-evm:~# bluealsa --version
    v4.0.0
    
    
    systemctl status bluealsa
    * bluealsa.service - BlueALSA service
    Loaded: loaded (/usr/lib/systemd/system/bluealsa.service; e>
    Active: active (running) since Thu 1970-01-01 00:00:17 UTC;>
    Docs: man:bluealsa(8)
    Main PID: 375 (bluealsa)
    Tasks: 4 (limit: 8748)
    Memory: 1.0M (peak: 12.5M)
    CPU: 319ms
    CGroup: /system.slice/bluealsa.service
    `-375 /usr/bin/bluealsa -p a2dp-source -p a2dp-sink
    
    Sep 24 07:33:51 am62pxx-evm bluealsa[375]: /usr/bin/bluealsa: E:>
    Sep 24 07:33:51 am62pxx-evm bluealsa[375]: /usr/bin/bluealsa: E:>
    Sep 24 07:34:00 am62pxx-evm bluealsa[375]: /usr/bin/bluealsa: E:>
    Sep 24 07:34:01 am62pxx-evm bluealsa[375]: /usr/bin/bluealsa: E:>
    Sep 24 07:34:01 am62pxx-evm bluealsa[375]: /usr/bin/bluealsa: E:>
    Sep 24 07:34:02 am62pxx-evm bluealsa[375]: /usr/bin/bluealsa: E:>
    Sep 24 07:34:02 am62pxx-evm bluealsa[375]: /usr/bin/bluealsa: E:>
    Sep 24 07:34:02 am62pxx-evm bluealsa[375]: /usr/bin/bluealsa: E:>
    Sep 24 07:34:03 am62pxx-evm bluealsa[375]: /usr/bin/bluealsa: E:>
    Sep 24 07:34:03 am62pxx-evm bluealsa[375]: /usr/bin/bluealsa: E:>
    lines 1-21/21 (END)


    I need the patch file for the 2AE M.2 module. Please share the patch file, and I will check whether my configuration is correct or not.

    Regards,
    Veerapandiyan V.

  • Hi, 

    I am routing your query to the connectivity team to support you better with the M2 Module and patches. Expect a response soon.

    Best Regards,

    Suren

  • Hi Veerapandiyan,

    Can you share where is it mentioned in User Guide about EAR00388 as recommended Bluetooth module?

    We have validated  connectivity with M2-CC3351 board following the instructions provided in the below link:

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/latest/exports/docs/linux/How_to_Guides/Target/How_To_Enable_M2CC3301_in_linux.html

    Best Regards,

    Suren

  • Hi Suren,

    Can you share where is it mentioned in User Guide about EAR00388 as recommended Bluetooth module?

    You mentioned AM62x spruj User guide link: https://www.ti.com/lit/ug/spruj40d/spruj40d.pdf?ts=1758714418765 

    page no: 33, that's why I mentioned your recommendation. Below attached screenshot

    ,  


    I am routing your query to the connectivity team to support you better with the M2 Module and patches. Expect a response soon.

    Ok. I am waiting.

    Regards,
    Veerapandiyan V.

  • Hi Veerapandiyan,

    Have you reached out to Murata community forum or Embedded Artists for the script?

    We have validated only CC3351 with our EVM and can help answer anything related to M2-CC3351.

    Best Regards,

    Suren

  • Hi Suren,i

    Why is this module the AM62x User Guide mentioned?

    • Bluetooth Module: EAR00388 (as recommended in the AM62x User Guide, M.2 module)

    Have you reached out to Murata community forum or Embedded Artists for the script?

    Next step, what will we do? Please tell?

    Regards,

    Veerapandiyan V.

  • Hi Suren, 

    I am waiting for your reply.

    Regards,
    Veerapandiyan V.

  • Hi Veerapandiyan,

    I have reached out to the team on how they validated it with EAR00388. Please allow a few days to get back.

    Best Regards,

    Suren

  • Hi Suren,
     
    I have reached out to the team on how they validated it with EAR00388. Please allow a few days to get back.
    Okay. I am waiting for your reply.

     

    Regards,
    Veerapandiyan V.

  • Hi Suren,
     
    Okay. I am waiting for your reply.

     

    Regards,
    Veerapandiyan V.

  • Hi Veerapandiyan,

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/k3_2D00_am625_2D00_sk_2D00_8.6.dts

    Please check the attached dts file with configurations to support EAR00388 WLAN module. Our team validated this with SDK 8.6. DT nodes may have some compatible issues with latest SDK, but the configuration properties will remain same.

    Hope this helps

    Best Regards,

    Suren

  • Hi Suren,

    I have modified the DTS file, and during that time, the Bluetooth connected and disconnected. I’ve also attached the corresponding log below:

    1.dts File k3-am6p5-sk.dts

    // SPDX-License-Identifier: GPL-2.0-only OR MIT
    /*
     * Device Tree file for the AM62P5-SK
     * Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
     *
     * Schematics: https://www.ti.com/lit/zip/sprr487
     */
    
    /dts-v1/;
    
    #include <dt-bindings/leds/common.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/net/ti-dp83867.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include "k3-am62p5.dtsi"
    
    / {
    	compatible = "ti,am62p5-sk", "ti,am62p5";
    	model = "Texas Instruments AM62P5 SK";
    
    	aliases {
    		serial0 = &wkup_uart0;
    		serial2 = &main_uart0;
    		serial3 = &main_uart1;
    		mmc0 = &sdhci0;
    		mmc1 = &sdhci1;
    		mmc2 = &sdhci2;
    		spi0 = &ospi0;
    		ethernet0 = &cpsw_port1;
    		ethernet1 = &cpsw_port2;
    		usb0 = &usb0;
    		usb1 = &usb1;
    	};
    
    	chosen {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		stdout-path = &main_uart0;
    
    		framebuffer0: framebuffer@0 {
    			compatible = "simple-framebuffer";
    			power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>,
    					<&k3_pds 243 TI_SCI_PD_EXCLUSIVE>,	/* OLDI0 */
    					<&k3_pds 244 TI_SCI_PD_EXCLUSIVE>;	/* OLDI1 */
    			clocks = <&k3_clks 186 6>,
    				 <&dss0_vp1_clk>,
    				 <&k3_clks 186 2>;
    			display = <&dss0>;
    			status = "disabled";
    		};
    	};
    
    	memory@80000000 {
    		/* 8G RAM */
    		reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
    		      <0x00000008 0x80000000 0x00000001 0x80000000>;
    		device_type = "memory";
    		bootph-pre-ram;
    	};
    
    	reserved_memory: reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		linux,cma {
    			compatible = "shared-dma-pool";
    			reusable;
    			size = <0x00 0x24000000>;
    			linux,cma-default;
    		};
    
    		rtos_ipc_memory_region: rtos-ipc-memory@9b500000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9b500000 0x00 0x00300000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@9b800000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9b800000 0x00 0x00100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@9b900000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9b900000 0x00 0x00f00000>;
    			no-map;
    		};
    
    		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9c800000 0x00 0x00100000>;
    			no-map;
    		};
    
    		wkup_r5fss0_core0_memory_region: r5f-memory@9c900000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9c900000 0x00 0x01e00000>;
    			no-map;
    		};
    
    		secure_tfa_ddr: tfa@9e780000 {
    			reg = <0x00 0x9e780000 0x00 0x80000>;
    			no-map;
    		};
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
    			no-map;
    		};
    	};
    
    	vmain_pd: regulator-0 {
    		/* TPS65988 PD CONTROLLER OUTPUT */
    		compatible = "regulator-fixed";
    		regulator-name = "vmain_pd";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-always-on;
    		regulator-boot-on;
    		bootph-all;
    	};
    
    	vcc_5v0: regulator-1 {
    		/* Output of TPS630702RNMR */
    		compatible = "regulator-fixed";
    		regulator-name = "vcc_5v0";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		vin-supply = <&vmain_pd>;
    		regulator-always-on;
    		regulator-boot-on;
    		bootph-all;
    	};
    
    	vdd_mmc1: regulator-2 {
    		/* TPS22918DBVR */
    		compatible = "regulator-fixed";
    		regulator-name = "vdd_mmc1";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		enable-active-high;
    		gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
    		bootph-all;
    	};
    
    	vddshv_sdio: regulator-3 {
    		compatible = "regulator-gpio";
    		regulator-name = "vddshv_sdio";
    		pinctrl-names = "default";
    		pinctrl-0 = <&vddshv_sdio_pins_default>;
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
    		states = <1800000 0x0>,
    			 <3300000 0x1>;
    		bootph-all;
    	};
           vcc_3v3_main: regulator-4 {
    	       compatible = "regulator-fixed";
    	       regulator-name = "vcc_3v3_main";
    	       regulator-min-microvolt = <3300000>;
    	       regulator-max-microvolt = <3300000>;
    	       vin-supply = <&vmain_pd>;
    	       regulator-always-on;
    	       regulator-boot-on;
    	};
    	vdd_mmc2: regulator-5 {	
    	 	bootph-all;
    	 	compatible = "regulator-fixed";
    	 	regulator-name = "vdd_mmc2";
    	 	regulator-min-microvolt = <3300000>;
    	 	regulator-max-microvolt = <3300000>;
    	 	regulator-boot-on;
    	 	enable-active-high;
    	 	/*gpio = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;*/
    		/*pinctrl-names = "default";*/
    		/*pinctrl-0 = <&wlan_en_default_pins>;*/
    	 };
    	 
    	wl_lt_en: regulator-6 {
    		bootph-all;
    		compatible = "regulator-fixed";
    		regulator-name = "wl_lt_en";
    		/*vin-supply = <&vcc_3v3_main>;*/
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		enable-active-high;
    		regulator-always-on;
    		gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&wlan_en_default_pins>;
    		/*gpios = <&exp2 8 GPIO_ACTIVE_HIGH>;*/
    	};
    	
    	uart_buf_en: regulator-9 {
    		compatible = "regulator-fixed";
    		regulator-name = "uart_buf_en";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <1800000>;
    		gpios = <&exp1 6 GPIO_ACTIVE_LOW>;
    		regulator-always-on;
    	};
    	leds {
    		compatible = "gpio-leds";
    		pinctrl-names = "default";
    		pinctrl-0 = <&usr_led_pins_default>;
    		status = "disabled";
    		led-0 {
    			label = "am62-sk:green:heartbeat";
    			gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
    			linux,default-trigger = "heartbeat";
    			function = LED_FUNCTION_HEARTBEAT;
    			default-state = "off";
    		};
    	};
    
    	opp-table {
    		/* Add 1.4GHz OPP for am62p5-sk board. Requires VDD_CORE at 0v85 */
    		opp-1400000000 {
    			opp-hz = /bits/ 64 <1400000000>;
    			opp-supported-hw = <0x01 0x0004>;
    			clock-latency-ns = <6000000>;
    		};
    	};
    
    	tlv320_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 = <&tlv320aic3106>;
    			clocks = <&tlv320_mclk>;
    		};
    	};
    
    	hdmi0: connector-hdmi {
    		compatible = "hdmi-connector";
    		label = "hdmi";
    		type = "a";
    		port {
    			hdmi_connector_in: endpoint {
    				remote-endpoint = <&sii9022_out>;
    			};
    		};
    	};
    };
    
    &main_gpio0 {
    	bootph-all;
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&wlan_en_default_pins>, <&usr_led_pins_default>;
    };
    
    &main_gpio1 {
    	bootph-all;
    	status = "okay";
    };
    
    &main_pmx0 {
    	bootph-all;
    
    	main_i2c0_pins_default: main-i2c0-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (B25) I2C0_SCL */
    			AM62PX_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (A24) I2C0_SDA */
    		>;
    	};
    
    	main_i2c1_pins_default: main-i2c1-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (C24) I2C1_SCL */
    			AM62PX_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (B24) I2C1_SDA */
    		>;
    		bootph-all;
    	};
    
    	main_i2c2_pins_default: main-i2c2-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (T22) GPMC0_CSn2.I2C2_SCL */
    			AM62PX_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (U25) GPMC0_CSn3.I2C2_SDA */
    		>;
    	};
    
    	main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x01d4, PIN_INPUT, 7) /* (C22) UART0_RTSn.GPIO1_23 */
    		>;
    	};
    
    	main_mcasp1_pins_default: main-mcasp1-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0090, PIN_INPUT, 2) /* (U24) GPMC0_BE0n_CLE.MCASP1_ACLKX */
    			AM62PX_IOPAD(0x0098, PIN_INPUT, 2) /* (AA24) GPMC0_WAIT0.MCASP1_AFSX */
    			AM62PX_IOPAD(0x008c, PIN_OUTPUT, 2) /* (T25) GPMC0_WEn.MCASP1_AXR0 */
    			AM62PX_IOPAD(0x0084, PIN_INPUT, 2) /* (R25) GPMC0_ADVn_ALE.MCASP1_AXR2 */
    		>;
    	};
    
    	main_mdio1_pins_default: main-mdio1-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0160, PIN_OUTPUT, 0) /* (F17) MDIO0_MDC */
    			AM62PX_IOPAD(0x015c, PIN_INPUT, 0) /* (F16) MDIO0_MDIO */
    		>;
    	};
    
    	main_mmc1_pins_default: main-mmc1-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x023c, PIN_INPUT, 0) /* (H20) MMC1_CMD */
    			AM62PX_IOPAD(0x0234, PIN_INPUT, 0) /* (J24) MMC1_CLK */
    			AM62PX_IOPAD(0x0230, PIN_INPUT, 0) /* (H21) MMC1_DAT0 */
    			AM62PX_IOPAD(0x022c, PIN_INPUT_PULLUP, 0) /* (H23) MMC1_DAT1 */
    			AM62PX_IOPAD(0x0228, PIN_INPUT_PULLUP, 0) /* (H22) MMC1_DAT2 */
    			AM62PX_IOPAD(0x0224, PIN_INPUT_PULLUP, 0) /* (H25) MMC1_DAT3 */
    			AM62PX_IOPAD(0x0240, PIN_INPUT, 0) /* (D23) MMC1_SDCD */
    		>;
    		bootph-all;
    	};
    
    	main_mmc2_default_pins: main-mmc2-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0120, PIN_INPUT, 0) 	/* (K24) MMC2_CMD */
    			AM62PX_IOPAD(0x0118, PIN_INPUT, 0)	/* (K21) MMC2_CLK */
    			AM62PX_IOPAD(0x0114, PIN_INPUT, 0) 	/* (K23) MMC2_DAT0 */
    			AM62PX_IOPAD(0x0110, PIN_INPUT, 0) 	/* (K22) MMC2_DAT1 */
    			AM62PX_IOPAD(0x010c, PIN_INPUT, 0) 	/* (L20) MMC2_DAT2 */
    			AM62PX_IOPAD(0x0108, PIN_INPUT, 0) 	/* (L21) MMC2_DAT3 */
    			AM62PX_IOPAD(0x011C, PIN_INPUT, 0)	/* () MMC2_CLKLB */
    		>;
    		bootph-all;
    	};
    
    	main_rgmii1_pins_default: main-rgmii1-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x014c, PIN_INPUT, 0) /* (B15) RGMII1_RD0 */
    			AM62PX_IOPAD(0x0150, PIN_INPUT, 0) /* (B16) RGMII1_RD1 */
    			AM62PX_IOPAD(0x0154, PIN_INPUT, 0) /* (A14) RGMII1_RD2 */
    			AM62PX_IOPAD(0x0158, PIN_INPUT, 0) /* (B14) RGMII1_RD3 */
    			AM62PX_IOPAD(0x0148, PIN_INPUT, 0) /* (A16) RGMII1_RXC */
    			AM62PX_IOPAD(0x0144, PIN_INPUT, 0) /* (A15) RGMII1_RX_CTL */
    			AM62PX_IOPAD(0x0134, PIN_INPUT, 0) /* (A18) RGMII1_TD0 */
    			AM62PX_IOPAD(0x0138, PIN_INPUT, 0) /* (C17) RGMII1_TD1 */
    			AM62PX_IOPAD(0x013c, PIN_INPUT, 0) /* (A17) RGMII1_TD2 */
    			AM62PX_IOPAD(0x0140, PIN_INPUT, 0) /* (C16) RGMII1_TD3 */
    			AM62PX_IOPAD(0x0130, PIN_INPUT, 0) /* (B17) RGMII1_TXC */
    			AM62PX_IOPAD(0x012c, PIN_INPUT, 0) /* (B18) RGMII1_TX_CTL */
    		>;
    		bootph-all;
    	};
    
    	main_rgmii2_pins_default: main-rgmii2-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0184, PIN_INPUT, 0) /* (E19) RGMII2_RD0 */
    			AM62PX_IOPAD(0x0188, PIN_INPUT, 0) /* (E16) RGMII2_RD1 */
    			AM62PX_IOPAD(0x018c, PIN_INPUT, 0) /* (E17) RGMII2_RD2 */
    			AM62PX_IOPAD(0x0190, PIN_INPUT, 0) /* (C19) RGMII2_RD3 */
    			AM62PX_IOPAD(0x0180, PIN_INPUT, 0) /* (D19) RGMII2_RXC */
    			AM62PX_IOPAD(0x017c, PIN_INPUT, 0) /* (F19) RGMII2_RX_CTL */
    			AM62PX_IOPAD(0x016c, PIN_INPUT, 0) /* (B19) RGMII2_TD0 */
    			AM62PX_IOPAD(0x0170, PIN_INPUT, 0) /* (A21) RGMII2_TD1 */
    			AM62PX_IOPAD(0x0174, PIN_INPUT, 0) /* (D17) RGMII2_TD2 */
    			AM62PX_IOPAD(0x0178, PIN_INPUT, 0) /* (A19) RGMII2_TD3 */
    			AM62PX_IOPAD(0x0168, PIN_INPUT, 0) /* (D16) RGMII2_TXC */
    			AM62PX_IOPAD(0x0164, PIN_INPUT, 0) /* (A20) RGMII2_TX_CTL */
    		>;
    		bootph-all;
    	};
    
    	main_uart0_pins_default: main-uart0-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x1c8, PIN_INPUT, 0)	/* (A22) UART0_RXD */
    			AM62PX_IOPAD(0x1cc, PIN_OUTPUT, 0)	/* (B22) UART0_TXD */
    		>;
    		bootph-all;
    	};
    
    	main_uart1_pins_default: main-uart1-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0194, PIN_INPUT, 2) /* (D25) MCASP0_AXR3.UART1_CTSn */
    			AM62PX_IOPAD(0x0198, PIN_OUTPUT, 2) /* (E25) MCASP0_AXR2.UART1_RTSn */
    			AM62PX_IOPAD(0x01ac, PIN_INPUT, 2) /* (G23) MCASP0_AFSR.UART1_RXD */
    			AM62PX_IOPAD(0x01b0, PIN_OUTPUT, 2) /* (G20) MCASP0_ACLKR.UART1_TXD */
    		>;
    		bootph-all;
    	};
    	main_usb1_pins_default: main-usb1-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0258, PIN_INPUT, 0) /* (G21) USB1_DRVVBUS */
    		>;
    	};
    
    	main_wlirq_default_pins: main-wlirq-default-pins {
    		bootph-all;
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0128, PIN_INPUT, 7) /* (K25) MMC2_SDWP.GPIO0_72 */
    		>;
    	};
    
    	ospi0_pins_default: ospi0-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0000, PIN_OUTPUT, 0) /* (P23) OSPI0_CLK */
    			AM62PX_IOPAD(0x002c, PIN_OUTPUT, 0) /* (M25) OSPI0_CSn0 */
    			AM62PX_IOPAD(0x000c, PIN_INPUT, 0) /* (L25) OSPI0_D0 */
    			AM62PX_IOPAD(0x0010, PIN_INPUT, 0) /* (N24) OSPI0_D1 */
    			AM62PX_IOPAD(0x0014, PIN_INPUT, 0) /* (N25) OSPI0_D2 */
    			AM62PX_IOPAD(0x0018, PIN_INPUT, 0) /* (M24) OSPI0_D3 */
    			AM62PX_IOPAD(0x001c, PIN_INPUT, 0) /* (N21) OSPI0_D4 */
    			AM62PX_IOPAD(0x0020, PIN_INPUT, 0) /* (N22) OSPI0_D5 */
    			AM62PX_IOPAD(0x0024, PIN_INPUT, 0) /* (P21) OSPI0_D6 */
    			AM62PX_IOPAD(0x0028, PIN_INPUT, 0) /* (N20) OSPI0_D7 */
    			AM62PX_IOPAD(0x0008, PIN_INPUT, 0) /* (P22) OSPI0_DQS */
    		>;
    		bootph-all;
    	};
    
    	usr_led_pins_default: usr-led-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0244, PIN_INPUT, 7) /* (D24) MMC1_SDWP.GPIO1_49 */
    		>;
    	};
    
    	vddshv_sdio_pins_default: vddshvr-sdio-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x007c, PIN_INPUT, 7) /* (Y25) GPMC0_CLK.GPIO0_31 */
    		>;
    		bootph-all;
    	};
    
    	wlan_en_default_pins: wlan-en-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0124, PIN_OUTPUT_PULLUP, 7) /* (J25) MMC2_SDCD.GPIO0_71 */
    		>;
    	};
    
    	main_dpi_pins_default: main-dpi-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_IOPAD(0x0100, PIN_OUTPUT, 0) /* (W20) VOUT0_VSYNC */
    			AM62PX_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AC20) VOUT0_HSYNC */
    			AM62PX_IOPAD(0x0104, PIN_OUTPUT, 0) /* (Y21) VOUT0_PCLK */
    			AM62PX_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (W21) VOUT0_DE */
    			AM62PX_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (AE24) VOUT0_DATA0 */
    			AM62PX_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (W23) VOUT0_DATA1 */
    			AM62PX_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA2 */
    			AM62PX_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA3 */
    			AM62PX_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (AB23) VOUT0_DATA4 */
    			AM62PX_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (AD23) VOUT0_DATA5 */
    			AM62PX_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (AC23) VOUT0_DATA6 */
    			AM62PX_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AE23) VOUT0_DATA7 */
    			AM62PX_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (AE22) VOUT0_DATA8 */
    			AM62PX_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (AC22) VOUT0_DATA9 */
    			AM62PX_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (W22) VOUT0_DATA10 */
    			AM62PX_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AE21) VOUT0_DATA11 */
    			AM62PX_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AD21) VOUT0_DATA12 */
    			AM62PX_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AC21) VOUT0_DATA13 */
    			AM62PX_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (AA20) VOUT0_DATA14 */
    			AM62PX_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (Y20) VOUT0_DATA15 */
    			AM62PX_IOPAD(0x005c, PIN_OUTPUT, 1) /* (AC25) GPMC0_AD8.VOUT0_DATA16 */
    			AM62PX_IOPAD(0x0060, PIN_OUTPUT, 1) /* (AB25) GPMC0_AD9.VOUT0_DATA17 */
    			AM62PX_IOPAD(0x0064, PIN_OUTPUT, 1) /* (AA25) GPMC0_AD10.VOUT0_DATA18 */
    			AM62PX_IOPAD(0x0068, PIN_OUTPUT, 1) /* (W24) GPMC0_AD11.VOUT0_DATA19 */
    			AM62PX_IOPAD(0x006c, PIN_OUTPUT, 1) /* (Y24) GPMC0_AD12.VOUT0_DATA20 */
    			AM62PX_IOPAD(0x0070, PIN_OUTPUT, 1) /* (AD25) GPMC0_AD13.VOUT0_DATA21 */
    			AM62PX_IOPAD(0x0074, PIN_OUTPUT, 1) /* (AB24) GPMC0_AD14.VOUT0_DATA22 */
    			AM62PX_IOPAD(0x0078, PIN_OUTPUT, 1) /* (AC24) GPMC0_AD15.VOUT0_DATA23 */
    			AM62PX_IOPAD(0x009c, PIN_OUTPUT, 1) /* (AD24) GPMC0_WAIT1.VOUT0_EXTPCLKIN */
    		>;
    	};
    };
    
    &main_i2c0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <400000>;
    
    	typec_pd0: usb-power-controller@3f {
    		compatible = "ti,tps6598x";
    		reg = <0x3f>;
    
    		connector {
    			compatible = "usb-c-connector";
    			label = "USB-C";
    			self-powered;
    			data-role = "dual";
    			power-role = "sink";
    			ports {
    				#address-cells = <1>;
    				#size-cells = <0>;
    				port@0 {
    					reg = <0>;
    					usb_con_hs: endpoint {
    						remote-endpoint = <&usb0_hs_ep>;
    					};
    				};
    			};
    		};
    	};
    };
    
    &main_i2c1 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c1_pins_default>;
    	clock-frequency = <100000>;
    	bootph-all;
    
    	tlv320aic3106: audio-codec@1b {
    		#sound-dai-cells = <0>;
    		compatible = "ti,tlv320aic3106";
    		reg = <0x1b>;
    		ai3x-micbias-vg = <1>;  /* 2.0V */
    	};
    
    	exp1: gpio@22 {
    		compatible = "ti,tca6424";
    		reg = <0x22>;
    		gpio-controller;
    		#gpio-cells = <2>;
    		gpio-line-names = "OLDI_INT#", "x8_NAND_DETECT",
    				   "UART1_FET_SEL", "MMC1_SD_EN",
    				   "VPP_EN", "EXP_PS_3V3_EN",
    				   "UART1_FET_BUF_EN", "EXP_HAT_DETECT",
    				   "DSI_GPIO0", "DSI_GPIO1",
    				   "OLDI_EDID", "BT_UART_WAKE_SOC_3V3",
    				   "USB_TYPEA_OC_INDICATION", "CSI_GPIO0",
    				   "CSI_GPIO1", "WLAN_ALERTn",
    				   "HDMI_INTn", "TEST_GPIO2",
    				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
    				   "MCASP1_FET_SEL", "DSI_EDID",
    				   "PD_I2C_IRQ", "IO_EXP_TEST_LED";
    
    		interrupt-parent = <&main_gpio1>;
    		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
    		interrupt-controller;
    		#interrupt-cells = <2>;
    
    		pinctrl-names = "default";
    		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
    		bootph-all;
    		
    		en_rpi_3v3 {
    			gpio-hog;
    			gpios = <5 GPIO_ACTIVE_HIGH>;
    			output-high;
    			line-name = "EXP_PS_3V3_EN";
    		};
    	};
    
    	exp2: gpio@23 {
    		compatible = "ti,tca6424";
    		reg = <0x23>;
    		gpio-controller;
    		#gpio-cells = <2>;
    		gpio-line-names = "BT_EN_SOC", "EXP_PS_5V0_EN",
    				   "", "",
    				   "", "",
    				   "", "",
    				   "WL_LT_EN", "",
    				   "TP3", "TP6",
    				   "TP4", "TP7",
    				   "TP5", "TP8",
    				   "SoC_I2C2_MCAN_SEL", "GPIO_HDMI_RSTn",
    				   "GPIO_CPSW1_RST", "GPIO_CPSW2_RST",
    				   "GPIO_OLDI_RSTn", "GPIO_AUD_RSTn",
    				   "GPIO_eMMC_RSTn", "SoC_WLAN_SDIO_RST";
    		en_rpi_5v5 {
    			gpio-hog;
    			gpios = <1 GPIO_ACTIVE_HIGH>;
    			output-high;
    			line-name = "EXP_PS_5V0_EN";
    		};
    	};
    
    	sii9022: bridge-hdmi@3b {
    		compatible = "sil,sii9022";
    		reg = <0x3b>;
    		interrupt-parent = <&exp1>;
    		interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
    		#sound-dai-cells = <0>;
    		sil,i2s-data-lanes = < 0 >;
    
    		hdmi_tx_ports: ports {
    			#address-cells = <1>;
    			#size-cells = <0>;
    
    			/*
    			 * HDMI can be serviced with 3 potential VPs -
    			 * (DSS0 VP1 / DSS1 VP0 / DSS1 VP1).
    			 * For now, we will service it with DSS0 VP1.
    			 */
    			port@0 {
    				reg = <0>;
    
    				sii9022_in: endpoint {
    					remote-endpoint = <&dss0_dpi1_out>;
    				};
    			};
    
    			port@1 {
    				reg = <1>;
    
    				sii9022_out: endpoint {
    					remote-endpoint = <&hdmi_connector_in>;
    				};
    			};
    		};
    	};
    };
    
    &main_i2c2 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c2_pins_default>;
    	clock-frequency = <400000>;
    };
    
    &sdhci0 {
    	status = "okay";
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    	bootph-all;
    };
    
    &sdhci1 {
    	/* SD/MMC */
    	status = "okay";
    	vmmc-supply = <&vdd_mmc1>;
    	vqmmc-supply = <&vddshv_sdio>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	disable-wp;
    	bootph-all;
    };
    
    &sdhci2 {
    	vmmc-supply = <&wl_lt_en>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc2_default_pins>;
    	bus-width = <4>;
    	non-removable;
    	ti,fails-without-test-cd;
    	cap-power-off-card;
    	keep-power-in-suspend;
    	ti,driver-strength-ohm = <50>;
    	assigned-clocks = <&k3_clks 157 174> , <&k3_clks 226 0>;
    	assigned-clock-parents =  <&k3_clks 157 175> , <&k3_clks 226 5>;
    	#address-cells = <1>;
    	#size-cells = <0>;
    	
    	wlcore: wlcore@2 {
    		compatible = "brcm,bcm43438-bt";
    		reg = <2>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&main_wlirq_default_pins>;
    	};
    };
    
    &cpsw3g {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_rgmii1_pins_default>,
    		    <&main_rgmii2_pins_default>;
    };
    
    &cpsw_port1 {
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy0>;
    };
    
    &cpsw_port2 {
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy1>;
    };
    
    &cpsw3g_mdio {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mdio1_pins_default>;
    	status = "okay";
    
    	cpsw3g_phy0: ethernet-phy@0 {
    		reg = <0>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,min-output-impedance;
    	};
    
    	cpsw3g_phy1: ethernet-phy@1 {
    		reg = <1>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    		ti,min-output-impedance;
    	};
    };
    
    &usbss0 {
    	status = "okay";
    	ti,vbus-divider;
    };
    
    &usbss1 {
    	status = "okay";
    	ti,vbus-divider;
    };
    
    &usb0 {
    	usb-role-switch;
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	port@0 {
    		reg = <0>;
    		usb0_hs_ep: endpoint {
    			remote-endpoint = <&usb_con_hs>;
    		};
    	};
    };
    
    &usb1 {
    	dr_mode = "host";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_usb1_pins_default>;
    };
    
    &mcasp1 {
    	status = "okay";
    	#sound-dai-cells = <0>;
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcasp1_pins_default>;
    
    	op-mode = <0>;          /* MCASP_IIS_MODE */
    	tdm-slots = <2>;
    
    	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
    	       1 0 2 0
    	       0 0 0 0
    	       0 0 0 0
    	       0 0 0 0
    	>;
    	tx-num-evt = <0>;
    	rx-num-evt = <0>;
    };
    
    &fss {
    	bootph-all;
    };
    
    &ospi0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&ospi0_pins_default>;
    	bootph-all;
    
    	flash@0{
    		compatible = "jedec,spi-nor";
    		reg = <0x0>;
    		spi-tx-bus-width = <8>;
    		spi-rx-bus-width = <8>;
    		spi-max-frequency = <25000000>;
    		cdns,tshsl-ns = <60>;
    		cdns,tsd2d-ns = <60>;
    		cdns,tchsh-ns = <60>;
    		cdns,tslch-ns = <60>;
    		cdns,read-delay = <4>;
    		bootph-all;
    
    		partitions {
    			compatible = "fixed-partitions";
    			#address-cells = <1>;
    			#size-cells = <1>;
    			bootph-all;
    
    			partition@0 {
    			    label = "ospi.tiboot3";
    			    reg = <0x0 0x80000>;
    			};
    
    			partition@80000 {
    			    label = "ospi.tispl";
    			    reg = <0x80000 0x200000>;
    			};
    
    			partition@280000 {
    			    label = "ospi.u-boot";
    			    reg = <0x280000 0x200000>;
    			};
    
    			partition@240000 {
    			    label = "ospi.hsm";
    			    reg = <0x240000 0x200000>;  
    			};
    
    			partition@800000 {
    			    label = "ospi.mcu-baremetal";
    			    reg = <0x800000 0x800000>;
    			};
    
    			partition@1200000 {
    			    label = "ospi.linux";
    			    reg = <0x1200000 0x1000000>;
    			    bootph-all;
    			};
    		};
    	};
    };
    
    &mailbox0_cluster0 {
    	mbox_r5_0: mbox-r5-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    };
    
    &mailbox0_cluster1 {
    	mbox_mcu_r5_0: mbox-mcu-r5-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    };
    
    &wkup_r5fss0 {
    	status = "okay";
    };
    
    &wkup_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster0 &mbox_r5_0>;
    	memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
    			<&wkup_r5fss0_core0_memory_region>;
    };
    
    &mcu_r5fss0 {
    	status = "okay";
    };
    
    &mcu_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster1 &mbox_mcu_r5_0>;
    	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
    			<&mcu_r5fss0_core0_memory_region>;
    };
    
    &main_uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart0_pins_default>;
    	interrupts-extended = <&gic500 GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
    			<&main_pmx0 0x1c8>; /* (D14) UART0_RXD PADCONFIG114 */
    	interrupt-names = "irq", "wakeup";
    	status = "okay";
    	bootph-all;
    };
    
    &main_uart1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart1_pins_default>;
    	/* Main UART1 is used by TIFS firmware */
    	/*status = "reserved";
    	bootph-all;*/
    	status = "okay";
    	
    	bluetooth {
    		compatible = "brcm,bcm43438-bt";
    		shutdown-gpios = <&exp2 0 GPIO_ACTIVE_HIGH>;
    		host-wakeup-gpios = <&exp1 13 GPIO_ACTIVE_HIGH>;
    	};
    };
    
    &mcu_pmx0 {
    	bootph-all;
    
    	pmic_irq_pins_default: pmic-irq-default-pins {
    	       pinctrl-single,pins = <
    		       AM62PX_MCU_IOPAD(0x000, PIN_INPUT, 7) /* (B10) MCU_GPIO0_0 */
    	       >;
    	};
    
    	wkup_uart0_pins_default: wkup-uart0-default-pins {
    		pinctrl-single,pins = <
    			AM62PX_MCU_IOPAD(0x024, PIN_INPUT, 0)	/* (D8) WKUP_UART0_RXD */
    			AM62PX_MCU_IOPAD(0x028, PIN_OUTPUT, 0)	/* (D7) WKUP_UART0_TXD */
    		>;
    		bootph-all;
    	};
    
    	wkup_i2c0_pins_default: wkup-i2c0-default-pins {
    	       pinctrl-single,pins = <
    		       AM62PX_MCU_IOPAD(0x04c, PIN_INPUT, 0) /* (A13) WKUP_I2C0_SCL */
    		       AM62PX_MCU_IOPAD(0x050, PIN_INPUT, 0) /* (C11) WKUP_I2C0_SDA */
    	       >;
    	};	
    	
    	wifi_32k_clk: mcu-clk-out-pins-default {
    		pinctrl-single,pins = <
    			AM62PX_MCU_IOPAD(0x0084, PIN_OUTPUT, 1) /* (F13) WKUP_CLKOUT0 */
    			//AM62PX_MCU_IOPAD(0x0080, PIN_OUTPUT_PULLUP, 0) /* (B9) PMIC_LPM_EN0 */
    		>;
    	};
    
    };
    
    &wkup_uart0 {
    	/* WKUP UART0 is used by DM firmware */
    	pinctrl-names = "default";
    	pinctrl-0 = <&wkup_uart0_pins_default>;
    	status = "reserved";
    	bootph-all;
    };
    
    &wkup_i2c0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&wkup_i2c0_pins_default>;
    	clock-frequency = <400000>;
    
    	tps65224: pmic@48 {
    	       compatible = "ti,tps65224-q1";
    	       reg = <0x48>;
    	       pinctrl-names = "default";
    	       pinctrl-0 = <&pmic_irq_pins_default>;
    	       interrupt-parent = <&mcu_gpio0>;
    	       interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
    	       ti,primary-pmic;
    
    	       gpio-controller;
    	       #gpio-cells = <2>;
    
    	       buck12-supply = <&vcc_3v3_main>;
    	       buck3-supply = <&vcc_3v3_main>;
    	       buck4-supply = <&vcc_3v3_main>;
    
    	       ldo1-supply = <&vcc_3v3_main>;
    	       ldo2-supply = <&vcc_3v3_main>;
    	       ldo3-supply = <&buck3>;
    
    	       regulators {
    		       buck12: buck12 {
    			       regulator-name = "vcc_core_buck12";
    			       regulator-min-microvolt = <715000>;
    			       regulator-max-microvolt = <895000>;
    			       regulator-boot-on;
    			       regulator-always-on;
    		       };
    
    		       buck3: buck3 {
    			       regulator-name = "vcc1v8_sys_buck3";
    			       regulator-min-microvolt = <1800000>;
    			       regulator-max-microvolt = <1800000>;
    			       regulator-boot-on;
    			       regulator-always-on;
    		       };
    
    		       buck4: buck4 {
    			       regulator-name = "vcc1v1_buck4";
    			       regulator-min-microvolt = <1100000>;
    			       regulator-max-microvolt = <1100000>;
    			       regulator-boot-on;
    			       regulator-always-on;
    		       };
    
    		       ldo1: ldo1 {
    			       regulator-name = "vdda1v8_ldo1";
    			       regulator-min-microvolt = <1800000>;
    			       regulator-max-microvolt = <1800000>;
    			       regulator-boot-on;
    			       regulator-always-on;
    		       };
    
    		       ldo2: ldo2 {
    			       regulator-name = "dvdd3v3_ldo2";
    			       regulator-min-microvolt = <3300000>;
    			       regulator-max-microvolt = <3300000>;
    			       regulator-boot-on;
    			       regulator-always-on;
    		       };
    
    		       ldo3: ldo3 {
    			       regulator-name = "vcc_0v85_ldo3";
    			       regulator-min-microvolt = <850000>;
    			       regulator-max-microvolt = <850000>;
    			       regulator-boot-on;
    			       regulator-always-on;
    		       };
    	       };
    	};
    };
    
    /* mcu_gpio0 and mcu_gpio_intr are reserved for mcu firmware usage */
    &mcu_gpio0 {
    	status = "okay";
    };
    
    &mcu_gpio_intr {
    	status = "okay";
    };
    
    &dss_oldi_io_ctrl {
    	bootph-all;
    };
    
    &dss0 {
    	bootph-all;
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_dpi_pins_default>;
    };
    
    &dss0_ports {
    	/* DSS0-VP2: DPI/HDMI Output */
    	hdmi0_dss: port@1 {
    		reg = <1>;
    
    		dss0_dpi1_out: endpoint {
    			remote-endpoint = <&sii9022_in>;
    		};
    	};
    };

    2. The BRCM file is located in the SD card under lib/firmware. Create a new folder there to store the BRCM firmware file.
     

    3. The Bluetooth Log

    root@am62pxx-evm:~# rfkill
    ID TYPE      DEVICE      SOFT      HARD
     0 bluetooth hci0   unblocked unblocked
    root@am62pxx-evm:~# hciconfig
    hci0:	Type: Primary  Bus: UART
    	BD Address: DC:FE:23:B7:1C:FB  ACL MTU: 1021:8  SCO MTU: 64:1
    	DOWN 
    	RX bytes:3130 acl:0 sco:0 events:306 errors:0
    	TX bytes:51350 acl:0 sco:0 commands:306 errors:0
    
    root@am62pxx-evm:~# rfkill unblock bluetooth
    root@am62pxx-evm:~# hciconfig hci0 up
    root@am62pxx-evm:~# bluetoothctl
    hci0 new_settings: powered bondable ssp br/edr le secure-conn 
    Agent registered
    [CHG] Controller DC:FE:23:B7:1C:FB Pairable: yes
    [bluetooth]# power on
    Changing power on succeeded
    [bluetooth]# agent on
    Agent is already registered
    [bluetooth]# default-agent
    Default agent request successful
    [bluetooth]# discoverable on
    hci0 new_settings: powered connectable bondable ssp br/edr le secure-conn 
    hci0 new_settings: powered connectable discoverable bondable ssp br/edr le secure-conn 
    Changing discoverable on succeeded
    [CHG] Controller DC:FE:23:B7:1C:FB Discoverable: yes
    hci0 B8:8F:27:3C:F5:AA type BR/EDR connected eir_len 5
    [CHG] Device B8:8F:27:3C:F5:AA Connected: yes
    Request confirmation
    [agent] Confirm passkey 993161 (yes/no): yes
    hci0 new_link_key B8:8F:27:3C:F5:AA type 0x08 pin_len 0 store_hint 1
    hci0 B8:8F:27:3C:F5:AA type BR/EDR disconnected with reason 2
    [CHG] Device B8:8F:27:3C:F5:AA Connected: no
    [bluetooth]# 
    
    


    How to fix this error?

    I contacted the Murata team, but the issue hasn’t been resolved. Please check the link below and let me know.

    community.murata.com/.../0D5RC000019zJjG0AU

    Regards,
    Veerapandiyan V.

  • Hi Suren,
     
    I am waiting for your reply.

     

    Regards,
    Veerapandiyan V.

  • Hi Suren,
     
    I am waiting for your reply.

     

    Regards,
    Veerapandiyan V.

  • Hi Suren,
     
    Any Update. I am waiting for your reply.

     

    Regards,
    Veerapandiyan V.

  • Hi Veerapandiyan,

    Since our team had verified it on 8.6 SDK, would you be able to validate on 8.6 SDK and see if it works as expected while I re-check with IP team. 

    Also, did Murata team respond on your query?

    Best Regards,

    Suren

  • Hi Suren,

    The Infineon team suggested upgrading BlueZ5, but I have tried multiple methods and the version is still not updating. It remains at 5.72 only.
    Please advise on how to update it to the latest version.

    root@am62pxx-evm:~# opkg list-installed | grep bluez
    bluez5 - 5.72-r0.27
    bluez5-dev - 5.72-r0.27
    bluez5-noinst-tools - 5.72-r0.27
    bluez5-obex - 5.72-r0.27
    bluez5-testtools - 5.72-r0.27
    gstreamer1.0-plugins-bad-bluez - 1.22.12-r0.130
    pulseaudio-lib-bluez5-util - 17.0-r0.27
    pulseaudio-module-bluez5-device - 17.0-r0.27
    pulseaudio-module-bluez5-discover - 17.0-r0.27


    Regards,
    Veerapandiyan V

  • Hi Suren,
     
    Any Update. I am waiting for your reply.

     

    Regards,
    Veerapandiyan V.

  • Hi Veerapandiyan, 

    Since Bluez5 is not a TI software, you would probably have to reach out to Infineon or BT stack vendor for support.

    Can you download the package for BlueZ5 which is other than 5.72 and install using opkg install bluez.ipk (provided bluez.ipk is the version you want to install) and give it a try.

    Best Regards,

    Suren