[PATCH 1/2] bsp/xilinx-zynq: Add SLCR driver
Chris Johns
chrisj at rtems.org
Thu Apr 20 21:50:16 UTC 2017
On 21/04/2017 07:22, Patrick Gauvin wrote:
>
> I so not like the reset value being written to like this. I know you
> need to set the lower 4 bits to 1 when loading the fabric via PCAP
> but there are 4 independent resets and I have applications that have
> individual control once loaded. What about a mask be provided and
> only the bits we are interested in are set or cleared depending on
> the mask?
>
> Note adding mask support will require a lock to be SMP safe.
>
>
> I see, masking sounds good. Since the lock will need to be initialized
> before the SLCR functions are called, should I turn this into a full
> driver like device config, or is it acceptable to call an SLCR init
> function during BSP startup?
I suggest you take the simple approach first and create a static
initialised lock:
static rtems_interrupt_lock slcr_lock =
RTEMS_INTERRUPT_LOCK_INITIALIZER("zynq_slcr");
To use:
void foo(void)
{
rtems_interrupt_lock_context lcontext;
rtems_interrupt_lock_acquire(&slcr_lock, &lcontext);
blah_blah = ho_hum;
rtems_interrupt_lock_release(&slcr_lock, &lcontext);
}
Chris
More information about the devel
mailing list