OK, solved, using this initialisation PRU is at least initialised:

   HWREG(SOC_PRM_PER_REGS)|=0x00000002;
   HWREG(SOC_PRM_PER_REGS)|=0xFFFFFFFD;

   HWREG(SOC_CM_PER_REGS+CM_PER_PRU_ICSS_CLKCTRL)=0x00000002;

 
HWREG(SOC_CM_PER_REGS+CM_PER_PRU_ICSS_CLKSTCTRL)=(CM_PER_PRU_ICSS_CLKSTCTRL_OCP_GCLK|CM_PER_PRU_ICSS_CLKSTCTRL_IEP_GCLK);

   memcpy((void*)PRU0IRAM_PHYS_BASE,textbuf,textlen);
   memcpy((void*)DATARAM0_PHYS_BASE,databuf,datalen);
   HWREG(PRU0CONTROL_PHYS_BASE+PRU_CTRL)=0x00000002; // enable and execute
-> PRUSS_CFG_BASE instead of PRU0CONTROL_PHYS_BASE?

Afterwards CTRL-register contains 0x8003 which means PRU is executing
something.

2014-11-10 9:38 GMT+01:00 Karl Karpfen <karlkarpfe...@gmail.com>:

> OK, seems I have to clarify this a bit: in my environment no Linux is
> involved, I'm digging within the hardware directly.
>
> What I found meanwhile: some clocks have to be enabled. But setting
> CM_PER_PRU_ICSS_CLKCTRL to 0x00000002 and CM_PER_PRU_ICSS_CLKSTCTRL to
> 0x00000010 (=CM_PER_PRU_ICSS_CLKSTCTRL_OCP_GCLK) did not do the trick.
>
> Any other ideas?
>
> Am Donnerstag, 6. November 2014 16:28:56 UTC+1 schrieb ericgg...@gmail.com
> :
>
>> The PRU does need to be enabled, typically by a Device Tree entry similar
>> to this:
>>
>> fragment@4 {
>>         target = <&pruss>;
>>         __overlay__ {
>>             status = "okay";
>>         };
>> };
>>
>> If using a cape of some kind, this would normally be in the device tree
>> setup for that cape.
>> If it's your own custom cape, you would need to add this to your device
>> tree file.
>> There may also be a suitable device tree overlay already installed in
>> /lib/firmware that you can simply enable, but I don't have my BBB in front
>> of me right now to check.
>>
>> On Wednesday, November 5, 2014 11:19:34 PM UTC-8, Karl Karpfen wrote:
>>>
>>> OK, the base address seems to be correct. Nevertheless CTRL-register isn
>>> ot readable, so it seems some important PRU-initialisations are missing. So
>>> is there any clock or power that has to be turned on for PRU?
>>>
>>>
>>> Am Dienstag, 4. November 2014 17:54:03 UTC+1 schrieb Karl Karpfen:
>>>>
>>>> OK, I'm sure it is a stupid question but I don't find it in AM335x
>>>> TRM...there the offset of PRU_CTRL-register is defined with 0x00000000. But
>>>> what is the base address? I found a definition 0x4a322000 in one of
>>>> Starterware headers but this seems to be wrong.
>>>>
>>>> So what is correct base address for PRU0 registers and RAM areas?
>>>>
>>>>  --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "BeagleBoard" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/beagleboard/CRyvSLTPg6E/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> beagleboard+unsubscr...@googlegroups.com.
> 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 beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to