Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Aug 2014 00:10:43 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-wireless@FreeBSD.org
Subject:   [Bug 192567] New: [ath] AR9331 regulator programming is checking OTP but reading garbage
Message-ID:  <bug-192567-21060@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192567

            Bug ID: 192567
           Summary: [ath] AR9331 regulator programming is checking OTP but
                    reading garbage
           Product: Base System
           Version: 11.0-CURRENT
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Only Me
          Priority: ---
         Component: wireless
          Assignee: freebsd-wireless@FreeBSD.org
          Reporter: adrian@freebsd.org

The AR9331 HAL is programming the regulator during reset. However, it's reading
values from the OTP which seems to (a) read correctly from the OTP, but (b)
read 0xbadc0ffe. I'm not sure why that is yet (eg is the OTP hardware off?)

Now, on the AR9331 boards I have (eg carambola 2) the calibration data is in
the NOR flash rather than OTP.  So, this won't .. work. I'm not sure which
boards will use OTP in this instance.

But the code seems to check and use the OTP value. Ie:

ar9300_internal_regulator_apply():
...
                    if ((reg_val & 0x80) == 0x80){
                        usb_valid = 1;
                        reg_usb = reg_val & 0x000000ff;
                    }
...
                    if ((reg_val & 0x80000000) == 0x80000000){
                        pmu_valid = 1;
                        reg_pmu = (reg_val & 0xff000000) >> 24;
                    }

... 0xbadc0ffe has both of those bits set!

ath9k doesn't bother checking the OTP here. It just uses some local values to
program in.

So, what should be done?

* Is the code correct but OTP isn't on for some reason?
* Should I be checking the in-flash calibration data?
* should I just ignore OTP and use hard-coded values like ath9k?



-a

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-192567-21060>