This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

J721EXSOMXEVM: device tree for DS90UB934-Q1

Part Number: J721EXSOMXEVM
Other Parts Discussed in Thread: PCM3168A

Hello,

We have J721e based custom board with a DS90UB934-Q1 deserializer with Fakra connector. This deserializer is connected to MCASP0. Could you please let me know what device tree changes I should make in my DT to emulate MCASP0? 

I have the following DT generated from Pinmux tool - 

	mcasp0-i_q-tuner_deserializer_pins_default: mcasp0-i_q-tuner_deserializer_pins_default {
		pinctrl-single,pins = <
			J721E_IOPAD(0xd4, PIN_INPUT, 12) /* (AB26) PRG0_PRU0_GPO9.MCASP0_ACLKX */
			J721E_IOPAD(0xd8, PIN_INPUT, 12) /* (AB25) PRG0_PRU0_GPO10.MCASP0_AFSX */
			J721E_IOPAD(0xf8, PIN_INPUT, 12) /* (AB29) PRG0_PRU0_GPO18.MCASP0_AXR14 */
			J721E_IOPAD(0xfc, PIN_INPUT, 12) /* (AB28) PRG0_PRU0_GPO19.MCASP0_AXR15 */
			J721E_IOPAD(0xc0, PIN_INPUT, 12) /* (AD25) PRG0_PRU0_GPO4.MCASP0_AXR2 */
			J721E_IOPAD(0xc8, PIN_INPUT, 12) /* (AE26) PRG0_PRU0_GPO6.MCASP0_AXR4 */
			J721E_IOPAD(0xcc, PIN_INPUT, 12) /* (AC28) PRG0_PRU0_GPO7.MCASP0_AXR5 */
			J721E_IOPAD(0xd0, PIN_INPUT, 12) /* (AC27) PRG0_PRU0_GPO8.MCASP0_AXR6 */
		>;
	};

Thanks,

Satish

  • Hi Satish,

    As long as the pins on your custom board have the MCSPI0 related pins on the above mentioned AB26, AB25...etc.
    That should be good.

    Here is an FAQ that might be of help for you: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/947437/faq-ccs-tda4vm-how-to-use-spi-spi_dev-on-tda4-j721e

    Best Regards,
    Keerthy

  • Hi Keerthy,

    This is the change I made in my Device tree to enable mcasp0. However I don't see any mcasp0 interface on my board.

    mcasp0-i_q-tuner_deserializer_pins_default: mcasp0-i_q-tuner_deserializer_pins_default {
    pinctrl-single,pins = <
    J721E_IOPAD(0xd4, PIN_INPUT, 12) /* (AB26) PRG0_PRU0_GPO9.MCASP0_ACLKX */
    J721E_IOPAD(0xd8, PIN_INPUT, 12) /* (AB25) PRG0_PRU0_GPO10.MCASP0_AFSX */
    J721E_IOPAD(0xf8, PIN_INPUT, 12) /* (AB29) PRG0_PRU0_GPO18.MCASP0_AXR14 */
    J721E_IOPAD(0xfc, PIN_INPUT, 12) /* (AB28) PRG0_PRU0_GPO19.MCASP0_AXR15 */
    J721E_IOPAD(0xc0, PIN_INPUT, 12) /* (AD25) PRG0_PRU0_GPO4.MCASP0_AXR2 */
    J721E_IOPAD(0xc8, PIN_INPUT, 12) /* (AE26) PRG0_PRU0_GPO6.MCASP0_AXR4 */
    J721E_IOPAD(0xcc, PIN_INPUT, 12) /* (AC28) PRG0_PRU0_GPO7.MCASP0_AXR5 */
    J721E_IOPAD(0xd0, PIN_INPUT, 12) /* (AC27) PRG0_PRU0_GPO8.MCASP0_AXR6 */
    >;
    };

    &mcasp0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mcasp0-i_q-tuner_deserializer_pins_default>;
        status="okay";
    }


    Few question -
    Where in file system can I check if mcasp0 interface is enabled?
    Is there any documentation available on MCASP in ti SDK?
    Does aforementioned pinmuxing looks correct to you?

    Thanks,
    Satish
  • Satish,

    I misread it as MCSPI0 and hence pointed to SPI FAQ. My bad. I have requested audio expert to look at this.

    Best Regards,
    Keerthy

  • Hello,

    It would be helpful to get some feedback on this.

    Thanks,

    Satish

  • Satish, 

    Not sure if you referenced infotainment daughter card overlay dtso at:

        arch/arm64/boot/dts/ti/k3-j721e-common-proc-board-infotainment.dtso

    where the full McASP0 pins are enabled. I see a few pins are missing from your DT, but will need to match to your hardware schematics. 

    once build, the uboot environment can be updated to use the corresponding .dtbo. 

    To verify the McASP0 is enabled, you may check hardware registers for the LPSC_PER_AUDIO to confirm the corresponding LPSC module is enabled.

    Regards

    Jian

  • Hi Jian,

    Could you please help me with following - 

    1) Where and how should I enable MCASP0 (or  k3-j721e-common-proc-board-infotainment.dtso) in uboot environment?

    2) In k3-j721e-common-proc-board-infotainment.dtso overlay It is pointing to "pcm3168a", whereas I am using DS90UB934-Q1 deserializer. I am assuming we need a node similar to " pcm3168a_a: audio-codec@47" encapsulated in I2C. Would you know what should be the node for DS90UB934?

    Thanks,

    Satish 

  • Adding one more question here.

    3) Could you please let me know if Device Driver for DS90UB934 is available in Linux kernel? I checked "sound/soc/codecs" area of Linux kernel but didn't find the driver. Could you please let me know if there is a driver available in SDK which we can use for testing?

    Thank you,

    Satish

  • Satish, 

    for 1), if you issue a printenv command on u-boot prompt, you should see either an environment variable called "name_overlays" or "overlay_files" depending on which uboot version you are on. Add the k3-j721e-common-proc-board-infotainment.dtbo file to this variable. 

    on 2), can you search dts files for DS90UB926QSQE, it seems the EVM has this tuner deserilizer on McASP11, which is specified in  k3-j721e-main.dtsi, you will also need to have a i2c node to talk to the device. Please first reference EVM UG for which i2c port. 

    3), as mentioned above, the EVM used a different part number for tumer interface. if you following the example on the EVM, and assume two devices has similar interface, then use McASP11 as example for McASP0. 

    regards

    Jian

  • Jian,

    Thank you for the response. We are good on #1.

    on #2 - I do not see any reference to the DS90UB926QSQE dts file. I also did not find any text reference of DS90UB926QSQE in J7 EVM SDK.  k3-j721e-common-proc-board-infotainment.dtbo shows mcasp0 connected with two codecs. We are in SDK 7.1, could you let me know where did you find dts file for DS90UB926QSQE in SDK?

    Thanks,

    Satish

  • Satish, 

    You can reference to the EVM (Common Processor board) schematics for the exact part number of the tuner deserilizer device:

    https://www.ti.com/lit/zip/sprr411

    and also see its connection (McASP11, and I2C port number) to the SOC.

    The McASP dt is in: 

        k3-j721e-main.dtsi

    but you will not see a node named as DS...

    regards

    Jian