[Patch v3] Fix audmuxv2 debugfs indexing.
Bill Pringlemeir
bpringle at sympatico.ca
Mon Nov 15 13:17:17 EST 2010
On 15 Nov 2010, broonie at opensource.wolfsonmicro.com wrote:
On Mon, Nov 15, 2010 at 11:10:31AM -0500, Bill Pringlemeir wrote:
>> Sorry, I should have waited to email. audmux_port_string() only
>> handles six values (not seven). Also, the audmux.h only has six
>> defines for both MX31 and MX27. There isn't an SSI7 that is being
>> reported by the debugfs. However, a user of the audmux-v2.c code can
>> call mxc_audmux_v2_configure_port() with a port value of '6' to
>> configure audmux pin set 7 ;-)
> SSI7 is an internal network connection thing of some kind.
On pg 4-60 of the IMX 25 reference manual, the IOMUX configuration for
ALT3 is AUD7_TXFS. This makes me think it is a 'physical' pin after
the IOMUX routing.
$ grep AUD7 arch/arm/plat-mxc/include/mach/iomux-mx25.h
364:#define MX25_PAD_SD1_DATA1__AUD7_RXD
469:#define MX25_PAD_GPIO_E__AUD7_TXD
472:#define MX25_PAD_GPIO_F__AUD7_TXC
481:#define MX25_PAD_VSTBY_REQ__AUD7_TXFS
487:#define MX25_PAD_POWER_FAIL__AUD7_RXD
Oddly, the iomux-mx25.h is the only 'iomux-mx[1235]*.h' one with this
audmux 7 configuration, but some of the ALT configuration values are
missing from these files. Maybe the MX25 is different. It is the
only IMX processor that I am familar with.
'iomux-mx25.h' has
77:#define MX25_PAD_EB0__AUD4_TXD
81:#define MX25_PAD_EB1__AUD4_RXD
85:#define MX25_PAD_OE__AUD4_TXC
117:#define MX25_PAD_RW__AUD4_TXFS
364:#define MX25_PAD_SD1_DATA1__AUD7_RXD
394:#define MX25_PAD_KPP_COL0__AUD5_TXD
399:#define MX25_PAD_KPP_COL1__AUD5_RXD
404:#define MX25_PAD_KPP_COL2__AUD5_TXC
409:#define MX25_PAD_KPP_COL3__AUD5_TXFS
413:#define MX25_PAD_FEC_MDC__AUD4_TXD
417:#define MX25_PAD_FEC_MDIO__AUD4_RXD
424:#define MX25_PAD_FEC_TDATA1__AUD4_TXFS
469:#define MX25_PAD_GPIO_E__AUD7_TXD
472:#define MX25_PAD_GPIO_F__AUD7_TXC
481:#define MX25_PAD_VSTBY_REQ__AUD7_TXFS
487:#define MX25_PAD_POWER_FAIL__AUD7_RXD
As well, chapter 4 (IOMUX) of the IMX25 RM has,
LD8, ALT4 -> AUD3_TXD
LD9, ALT4 -> AUD3_RXD
LD10, ALT4 -> AUD3_TXC
LD11, ALT4 -> AUD3_TXFS
LD14, ALT6 -> AUD3_RXC
LD15, ALT6 -> AUD3_RXFS
CSID8, ALT2 -> AUD6_RXC
... etc.
>> The documentation we are working with isn't that helpful. For the iMx
>> 25 pg 13-4, it says there are "Three internal ports", but I can only
>> find two ssi devices (with two channels of audio each)...
> It's not an SSI port.
No, I don't think it is an SSI protocol device either. I think there
are two internal ports and five external ports, at least on the IMX
25. Maybe the documentation is cut and paste from another processor?
There is this cryptic section of the on pg 13-4,
13.2 External Signal Description
Table 13-2 lists AUDMUX pin-level signals for the external ports,
where:
· Pn is P4, through P7
· m = n 3.
The port is configured as an external port by a static system-level
signal input pn_int_ext_select.
I guess they could be 'internal' if you didn't configure an external
pin with the iomux module. Register
IOMUXC_AUDMUX_P4_INPUT_DA_AMX_SELECT_INPUT (offset 0x460) might be
what the above section refers to, but this involves 'daisy chaining'
and only AUDMUX_P4 and AUDMUX_P7 are listed here (No P3,P5,P6).
Thanks for you help. I *think* I am getting closer to understanding
this now.
Regards,
Bill Pringlemeir.
--
Someday we'll look back on all this and plow into a parked car.
More information about the linux-arm-kernel
mailing list