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.

TLV320ADC6140: What are the GPIO pins hooked up to on the BeagleBone Black for the TLV320ADCx140 EVK Linux Driver

Part Number: TLV320ADC6140

Hello,

I'm looking at the TLV320ADCx140 device driver that is in upstream in the following Linux driver:

https://git.ti.com/gitweb?p=ti-analog-linux-kernel/dmurphy-analog.git;a=shortlog;h=refs/heads/tlv320adcx140_upstream

I am trying to convert the code over to be used on our EVK for the Pocket Beagle, but i'm having trouble figuring out what is hooked up to what on the EVK.

Looking at the am335x-boneblack-common.dtsi:

https://git.ti.com/gitweb?p=ti-analog-linux-kernel/dmurphy-analog.git;a=blob;f=arch/arm/boot/dts/am335x-boneblack-common.dtsi;h=b930ad6fad0d3535c0d0b67e61371d2b4595783b;hb=3fc068a34a591d818467da60e06d777b8c7357a9

I have FSX, AHCLKX, ACLKX, AM335X_PIN_MCASP0_AXR0 and I2C hooked up and functioning.

What are these pins hooked up to though?

tlv320adc5140_default: tlv320adc5140_default {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x844, PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* gpmc_a1.gpio1_17 */
			AM33XX_IOPAD(0x878, PIN_INPUT | MUX_MODE7 ) /* gpmc_ben1.gpio1_28 */
		>;
	};

and:

	AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_a11.GPIO1_27 */




For .GPIO1_27 i see that it toggles high each time i try to arecord and then it goes back low after recording is done. The code states that it is Beagle Bone Black clock enable, but i don't see a clock enable on the EVK.


Thanks!

  • Bob,
    The BeagleBone connections to TLV320ADCx140, is as follows:
    • AM335X_PIN_MCASP0_AFSX -> FSYNC
    • AM335X_PIN_MCASP0_ACLKX -> BCLK
    • AM335X_PIN_MCASP0_AXR <- DOUT
    • AM335X_PIN_I2C0_SDA -> SDA
    • AM335X_PIN_I2C0_SCL -> SCL
    gpmc_a11.GPIO1_27 was used to turn off McASP clocks that feed the TLV320ADCx140 BCLK and FSYNC when no data is being converted to save power. In this configuration, the AM335X was sending the clocks to the TLV320ADCx140.
    The driver used a reset function by driving SHDNZ low, then high, and then check for voltage on the built-in TLV320ADC6140 regulator,  AREG. I believe these were connected to gpmc_a1.gpio1_17 and gpmc_ben1.gpio1_28, respectively.
    Best regards,
       Pedro