Hi John,

Is there a way to enable ADC without using device tree? I couldn't find a 
way to do it in the reference manual. Thank you.

Regards,
Nhan

On Sunday, February 23, 2014 3:05:39 AM UTC+1, john3909 wrote:
>
>
>
> From: Nhan Nguyen <chinh...@gmail.com <javascript:>>
> Reply-To: <beagl...@googlegroups.com <javascript:>>
> Date: Saturday, February 22, 2014 at 5:40 PM
> To: <beagl...@googlegroups.com <javascript:>>
> Subject: Re: [beagleboard] PRUSS and accessing ADC registers on 
> Beaglebone Black
>
> Hi Charles,
>
> Thank you very much for your answer. I manage to access it after enable 
> ADC using 'echo BB-ADC > /sys/devices/bone.capemgr.*/slots' . Though I 
> could only do it in kernel 3.8, later kernel (3.12) gives an error saying 
> symbol ocp could not be found. I do not really know how to change the .dts 
> to get it working . Anyhow, I will work with 3.8 for now.
>
> There is no cape manager in V3.12
>
> Regards,
> John
>
>
> Sincere,
> Nhan Nguyen
>
> On Wednesday, February 19, 2014 2:57:31 PM UTC+1, Charles Steinkuehler 
> wrote:
>>
>> On 2/19/2014 7:43 AM, Nhan Nguyen wrote: 
>> > Hi everyone, 
>> > 
>> > I have been trying to use PRU to read multiple ADC inputs. Unfornately, 
>> I 
>> > am stuck at accessing to the ADC registers (chapter 12 on AM335x 
>> technical 
>> > reference manual). I set the OCP registers, checked the PMAO registers 
>> on 
>> > PRU to ensure access to external host. For example, I read the ADC 
>> REVISION 
>> > as below: (tried to write to STEPCONFIG and STEPENABLE, etc.) 
>> > 
>> >    MOV r13, 0x44E0D000 //ADC REVISION 
>> >    LBBO r5, r13, 0, 4 
>> >    SBCO r5, C28, 4, 4  //store REVISION to shared memory to show with C 
>> > program 
>> > 
>> > .. but everything returns 0. 
>> > 
>> > I install Ubuntu 13.04 on Beaglebone Black, tried kernels 3.8, 3.12. 
>> PRU 
>> > worked with shared memory accessing, and GPIO1 registers (I am not sure 
>> > what to try next) . I haven't tried it on the official Angstrom image, 
>> > because I still couldn't get PRU to work right away on it. 
>>
>> I suggest you remove the PRU from the setup temporarily and try directly 
>> reading the memory from C.  This will be a lot easier to debug, and the 
>> PRU has no chance of reading ADC values if you can't read them from the 
>> ARM. 
>>
>> As a guess, I suspect you don't have the ADC hardware setup properly and 
>> are getting bus faults when reading.  This will show up as an error if 
>> you try to read the memory location from the ARM (making it easier to 
>> debug).  Make sure you have loaded a device tree overlay that enables 
>> the TSC hardware (Touch Screen Controller = ADC) and populates an 
>> appropriate state-machine instruction table to digitize the values you 
>> are interested in.  Unlike simpler microcontrollers, each major 
>> subsystem in the AM335x can be powered up or shut down, and by default 
>> most systems (ADC, PWM, etc) are powered down with their clocks disabled 
>> until you explicitly enable them. 
>>
>> Once you can properly read the values from a raw memory location using 
>> the ARM, the PRU should be able to read them as well. 
>>
>> -- 
>> Charles Steinkuehler 
>> cha...@steinkuehler.net
>>
> -- 
> For more options, visit http://beagleboard.org/discuss
> --- 
> You received this message because you are subscribed to the Google Groups 
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to beagleboard...@googlegroups.com <javascript:>.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to