Re: [PATCH 2/3] ALSA SoC: Add mpc5200-psc I2S driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/1/08, Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
> From: Grant Likely <grant.likely@xxxxxxxxxxxx>
>
>  This is an I2S bus driver for the MPC5200 PSC device.  It is probably
>  will not be merged as-is because it uses v1 of the ASoC API, but I want
>  to get it out there for comments.
>  ---

I need some slight tweaks since we are using PSC1 in cellphone mode to
distribute the audio clock.

		i2s@2000 { /* PSC1 in i2s mode */
			compatible = "fsl,mpc5200b-psc-i2s","fsl,mpc5200-psc-i2s";
			cell-index = <0>;
			reg = <0x2000 0x100>;
			interrupts = <0x2 0x1 0x0>;
			interrupt-parent = <&mpc5200_pic>;
		};

		i2s@2200 { /* PSC2 in i2s mode */
			compatible = "fsl,mpc5200b-psc-i2s","fsl,mpc5200-psc-i2s";
			cell-index = <1>;
			reg = <0x2200 0x100>;
			interrupts = <0x2 0x2 0x0>;
			interrupt-parent = <&mpc5200_pic>;
			codec-handle = <&tas0>;
			fsl5200-cellslave;
		};

Our PSC1 is in master mode, but it doesn't have a codec hooked to it.
I needed to modify the driver to initialize the PSC to i2s master mode
but then not start all of the ALSA support. You can detect this state
since there is no codec node. Putting PSC1 into master mode lets us
get our external audio clock inside the mpc5200.

PSC2 is a cellphone slave. It gets its clock from PSC1. Everything is
the same as what you are doing except I need to set
MPC52xx_PSC_SICR_CELLSLAVE and MPC52xx_PSC_SICR_GENCLK when the
fsl5200-cellslave attribute is present.

We need to tie the two PSCs up like this to get the audio clock in via
PSC1 and then have PSC2 generate the frame clock when the i2s data is
transmitted.

Do you want a diff, or do you have a new version with DMA broken out?


-- 
Jon Smirl
jonsmirl@xxxxxxxxx
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux