Re: [PATCH 05/10] omap1: Fix DSP public peripherals support for ams-delta
Friday 23 October 2009 21:19:40 Tony Lindgren napisaĆ(a): > * Jon Hunter [091022 16:22]: > > > > Tony Lindgren wrote: > >> From: Janusz Krzysztofik > >> > >> DSP public peripherals used to work on OMAP1510 based (or all OMAP1 class?) > >> machines as long as old dspgateway code were present in the l-o tree. For > >> several months it is no longer included, breaking support for McBSP1 based > >> audio on Amstrad Delta, for example. > >> > >> This patch, derived from the old dspgateway code, corrects the problem for > >> the > >> board by simply taking the DSP out of reset state, I guess. That way, > >> things > >> should not break when a new dsp code is added to the tree, and the change > >> can > >> be reverted then. > > > > A minor comment/correction here. Although this bit is called "DSP_RST" > > this does not actually release the DSP from reset. This bit actually > > releases the reset for the "priority registers (TIPB module), EMIF > > configuration registers, and the MPUI control logic (partially) in the > > DSP", thus allowing you to access the DSP peripherals via the MPUI. Bit > > 1 of the same register, called "DSP_EN", actually releases the DSP reset. > > Thanks for clarifying that. Forgive me my ignorance: do you think that there is still an option of putting any related piece of hardware in an idle state, as you, Tony, has suggested before for the DSP itslef? Thanks, Janusz -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 05/10] omap1: Fix DSP public peripherals support for ams-delta
* Jon Hunter [091022 16:22]: > > Tony Lindgren wrote: >> From: Janusz Krzysztofik >> >> DSP public peripherals used to work on OMAP1510 based (or all OMAP1 class?) >> machines as long as old dspgateway code were present in the l-o tree. For >> several months it is no longer included, breaking support for McBSP1 based >> audio on Amstrad Delta, for example. >> >> This patch, derived from the old dspgateway code, corrects the problem for >> the >> board by simply taking the DSP out of reset state, I guess. That way, things >> should not break when a new dsp code is added to the tree, and the change can >> be reverted then. > > A minor comment/correction here. Although this bit is called "DSP_RST" > this does not actually release the DSP from reset. This bit actually > releases the reset for the "priority registers (TIPB module), EMIF > configuration registers, and the MPUI control logic (partially) in the > DSP", thus allowing you to access the DSP peripherals via the MPUI. Bit > 1 of the same register, called "DSP_EN", actually releases the DSP reset. Thanks for clarifying that. >> If there are any reports on McBSP1 or other DSP public peripherals not >> working >> for other OMAP1 machines (I've not heard of any for now), I can prepare a >> more >> general patch providing an extra include file with a helper function defined. > > This would be necessary for all OMAP15xx based devices that use McBSP1 > (or McBSP3 for that matter). However, I am not sure if it is common for > other boards to use McBSP1 for audio. Yeah, I guess currently only board-ams-delta.c needs this for audio. But that could of course change once there are more 15xx boards using ASoC. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 05/10] omap1: Fix DSP public peripherals support for ams-delta
Tony Lindgren wrote: From: Janusz Krzysztofik DSP public peripherals used to work on OMAP1510 based (or all OMAP1 class?) machines as long as old dspgateway code were present in the l-o tree. For several months it is no longer included, breaking support for McBSP1 based audio on Amstrad Delta, for example. This patch, derived from the old dspgateway code, corrects the problem for the board by simply taking the DSP out of reset state, I guess. That way, things should not break when a new dsp code is added to the tree, and the change can be reverted then. A minor comment/correction here. Although this bit is called "DSP_RST" this does not actually release the DSP from reset. This bit actually releases the reset for the "priority registers (TIPB module), EMIF configuration registers, and the MPUI control logic (partially) in the DSP", thus allowing you to access the DSP peripherals via the MPUI. Bit 1 of the same register, called "DSP_EN", actually releases the DSP reset. If there are any reports on McBSP1 or other DSP public peripherals not working for other OMAP1 machines (I've not heard of any for now), I can prepare a more general patch providing an extra include file with a helper function defined. This would be necessary for all OMAP15xx based devices that use McBSP1 (or McBSP3 for that matter). However, I am not sure if it is common for other boards to use McBSP1 for audio. Jon -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 05/10] omap1: Fix DSP public peripherals support for ams-delta
From: Janusz Krzysztofik DSP public peripherals used to work on OMAP1510 based (or all OMAP1 class?) machines as long as old dspgateway code were present in the l-o tree. For several months it is no longer included, breaking support for McBSP1 based audio on Amstrad Delta, for example. This patch, derived from the old dspgateway code, corrects the problem for the board by simply taking the DSP out of reset state, I guess. That way, things should not break when a new dsp code is added to the tree, and the change can be reverted then. If there are any reports on McBSP1 or other DSP public peripherals not working for other OMAP1 machines (I've not heard of any for now), I can prepare a more general patch providing an extra include file with a helper function defined. Created and tested against linux-2.6.32-rc5 Signed-off-by: Janusz Krzysztofik Signed-off-by: Tony Lindgren --- arch/arm/mach-omap1/board-ams-delta.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c index 972499e..8ad5cc3 100644 --- a/arch/arm/mach-omap1/board-ams-delta.c +++ b/arch/arm/mach-omap1/board-ams-delta.c @@ -235,6 +235,8 @@ static void __init ams_delta_init(void) omap_usb_init(&ams_delta_usb_config); platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices)); + + omap_writew(omap_readw(ARM_RSTCT1) | 0x0004, ARM_RSTCT1); } static struct plat_serial8250_port ams_delta_modem_ports[] = { -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html