Heh ooops. Oh well McASP, McSPI, it's all the same right ? ;) hah

Anyway, theres an mcasp.c file in that same git directory. Looks more
complicated.

On Thu, Dec 17, 2015 at 5:09 PM, John Syne <[email protected]> wrote:

>
> On Dec 17, 2015, at 3:57 PM, William Hermans <[email protected]> wrote:
>
> errr ooops. highlighted too many lines.
> https://github.com/BeaglePilot/PRUSS-C/blob/master/PRUSS_LIB/AM335X_StarterWare_02_00_01_01/drivers/mcspi.c#L422-L469
>
> I think he was using McASP, not McSPI ;-)
>
>
> On Thu, Dec 17, 2015 at 4:53 PM, William Hermans <[email protected]>
> wrote:
>
>> I'm not familiar with the McSPI hardware module, but this seems to
>> explain a good bit.  And seems analogous( similar ) to how one would enable
>> the ADC module - Which is the only module I have hands on experience with
>> by poking it's registers . .  e.g. turning the clock on, etc.
>>
>>
>> https://github.com/BeaglePilot/PRUSS-C/blob/master/PRUSS_LIB/AM335X_StarterWare_02_00_01_01/drivers/mcspi.c#L378-L469
>>
>> On Thu, Dec 17, 2015 at 4:48 PM, William Hermans <[email protected]>
>> wrote:
>>
>>> I've no idea how ioremap() works, never used it. But if it's similar to
>>> how mmap() works on /dev/mem/, it does not matter what state the hardware
>>> module is in.  Of course there are a few specified steps one must do in
>>> order to get a device working if it's not already. But if the device is
>>> already on, and functional, you can essentially override that module with
>>> mmap() and /dev/mem/. But it's probably not  good idea, as the kernel will
>>> still think it has control . . .
>>>
>>> Anyway, I'm not sure I'd exactly call this a "driver" per se, as it's
>>> being done in userspace. But others might argue it's what's called a
>>> userspace driver . . . and yeah, I do not know about that. If you start
>>> changing pixels on your screen by poking at memory locations through
>>> /dev/mem/ does that mean you've created a graphics driver ? No . . .
>>>
>>> On Thu, Dec 17, 2015 at 4:08 PM, John Syne <[email protected]> wrote:
>>>
>>>>
>>>> On Dec 17, 2015, at 3:00 PM, William Hermans <[email protected]> wrote:
>>>>
>>>> *That is a good point. To understand how to enable the power and clock
>>>>> for McASP, look at the Starterware examples for McASP as they do 
>>>>> everything
>>>>> you need to make this work.*
>>>>>
>>>>
>>>> Probably easier, and more productive to read the TRM for the AM335x
>>>> processors . . . All address offsets should be listed there as well, and
>>>> the introduction for hardware module will give a short explanation of what
>>>> needs doing, in order to bring the module up.
>>>>
>>>> Yeah, thinking about what Charles said, if he defines the McASP in the
>>>> device tree, it should setup everything he needs. One problem I’m not sure
>>>> how to overcome, he needs a device driver defined for the McASP or else the
>>>> clock and power won’t be setup. But if he has a device driver setup, then
>>>> it will conflict with his application. So that is why I think he has to do
>>>> all this manually.
>>>>
>>>> Regards,
>>>> John
>>>>
>>>>
>>>> On Thu, Dec 17, 2015 at 3:15 PM, John Syne <[email protected]> wrote:
>>>>
>>>>>
>>>>>
>>>>> > On Dec 17, 2015, at 1:59 PM, Charles Steinkuehler <
>>>>> [email protected]> wrote:
>>>>> >
>>>>> > On 12/17/2015 2:04 PM, [email protected] wrote:
>>>>> >> I am trying to access the McASP control registers. Reading from the
>>>>> first
>>>>> >> one fails with the  kernel oops stating "external abort on
>>>>> non-linefetch
>>>>> >> (0x1028)". I dont know what that means. A minimum failing example
>>>>> of the
>>>>> >> code is below:
>>>>> >
>>>>> > <snip>
>>>>> >
>>>>> >> I have also tried request_mem_region around it, but that changes
>>>>> nothing.
>>>>> >> The sound drivers are not loaded, and the devicetree entry for the
>>>>> McASP is
>>>>> >> disabled, so there shouldn't be any problems with conflicts.
>>>>> >
>>>>> > One way to get this error is if the hardware you are talking to is
>>>>> > disabled.  You need to either enable the hardware via the device
>>>>> tree,
>>>>> > or otherwise manage to setup the low-level SoC registers so the McASP
>>>>> > is provided a clock, power, and is taken out of reset.
>>>>> >
>>>>> > Most of the hardware blocks on the AM335x series can be individually
>>>>> > enabled or shut-down to save power.
>>>>> That is a good point. To understand how to enable the power and clock
>>>>> for McASP, look at the Starterware examples for McASP as they do 
>>>>> everything
>>>>> you need to make this work.
>>>>>
>>>>> Regards,
>>>>> John
>>>>> >
>>>>> > --
>>>>> > Charles Steinkuehler
>>>>> > [email protected]
>>>>> >
>>>>> > --
>>>>> > 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 [email protected].
>>>>> > For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>> --
>>>>> 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 [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>> --
>>>> 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 [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>>
>>>> --
>>>> 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 [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>
>
> --
> 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 [email protected].
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> 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 [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to