#12637 HIGH 13.2.0: Q4D25 breaks sound output in Linux

Zarro Boogs per Child bugtracker at laptop.org
Tue Mar 26 19:45:00 EDT 2013

#12637: Q4D25 breaks sound output in Linux
           Reporter:  dsd                  |       Owner:  Quozl        
               Type:  defect               |      Status:  new          
           Priority:  high                 |   Milestone:  13.2.0       
          Component:  ofw - open firmware  |     Version:  not specified
         Resolution:                       |    Keywords:               
        Next_action:  diagnose             |    Verified:  0            
Deployment_affected:                       |   Blockedby:               
           Blocking:                       |  

Comment(by wmb at firmworks.com):

 The problem is that recent versions of OFW clock the audio from the audio
 PLL instead of from the I2S_SYSCLK.  XO-1.75 Linux uses I2S_SYSCLK, but
 since OFW does not use it, the I2S_SYSCLK bit in PMUM_CGR_PJ (AKA
 MPMU_ACGR) is not set, and thus that clock does not get to the SSPA unit.

 The problem is further compounded by the fact that the MMP2 manual is
 incorrect.  It says that the enable bit I2SCLK1 is on bit 5, but extensive
 testing has shown that it is actually on bit 21 (listed as reserved).  The
 vendor steadfastly refused to acknowledge that fact despite clear proof
 ...  I note that the android kernel turns on the "reserved" bit along with
 several others.  I further note that the vendor insists, on the one hand,
 that we must do exactly as the manual says WRT reserved bits, but on the
 other hand, also says that "the" source code is the best guide - without
 specifying which of several inconsistent versions of the source code to

 (The reason why I switched to the audio PLL is because the vendor pretty
 much insisted, by refusing to answer audio questions while I was using

 I could work around this in OFW - and in fact have tested such a
 workaround - you just have OFW use I2S_SYSCLK as before.  But it would be
 better to work around it in Linux, because that would probably fix the
 "sound breaks when OFW volume is 0" problem.

 The fix has been pushed to arm-3.0-wip as

Ticket URL: <http://dev.laptop.org/ticket/12637#comment:5>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system

More information about the Bugs mailing list