![allwinner a33 tech firmware allwinner a33 tech firmware](https://ae01.alicdn.com/kf/HTB1hoAkj2NNTKJjSspfq6zXIFXaT/Glavey-7-inch-Allwinner-A33-Q8Pro-Kids-Tablet-1024-600-Android-4-4-Quad-core-512MB.jpg)
Lock, tries to recursively take a lock again (which does not happen) and Using mainline u-boot it shows that the Linux side correctly takes a This test was done using a mainline u-boot and a crust enabled u-boot.įor this a simple second kernel module was used, which can be found here It takes/releases a lock one afterĪnother using the timeout functions (and hw timers) of the crustįirmware. In theĬrust fork it is necessary to go into debug menu of "make nconfig" and The crust firmware (via H5 target) and current Linux kernels. It is fully supported by u-boot (and the fork),
#ALLWINNER A33 TECH FIRMWARE DRIVER#
To test this driver it is also necessary to pick a device that is fully It is also necessary to build u-boot with support for this crust/SCPįirmware. MMIO operation on the hwlock registers), which is currently not For this the crustįirmware needs to be changed to take and release spinlocks (a simple
#ALLWINNER A33 TECH FIRMWARE FREE#
This can be achived by using an Allwinner SoC which includes an OpenRiscĬompanion core and can use the free crust firmware. Show on the Linux side that the locks were taken by an external event. To run all tests it is necessary to take locks on the companion core and Used in some additional kernel modules to test the hwspinlock driver. The status register is now free for debugging/testing purposes and canĬompletely bypass the Linux hwspinlock ABI. Spinlock is used in the driver for checking the status of a lock. The status register only supports the first 32 locks and may Lock can simply be readi, or bits of a 32bit wide status register can beĬhecked. The spinlock hardware has two ways to figure out if a lock is taken. Hardware, but it can be found in sun6i, sun8i, sun9i and sun50i devices. Also not every sunxi seem to have support for this Provides the driver and binding documentation but is not yet included This driver is the first step to enable hwspinlock support in Linux, butĪlso requires support in the firmware of the companion core. It can be build as a builtin and normal module by using the The driver reports the found setup viaĭebugfs. This driver adds support for this hardware spinlock unit to Linux Spinlock setups, but there is no known SoC yet, which implements more The implementation supports 32, 64, 128 and 256 Which can be used to sync access to devices shared between the ARM coresĪnd the embedded companion core. Most of the Allwinner sun6i compatible devices contain a spinlock unit Maxime Ripard, Chen-Yu Tsai, Jernej Skrabec 13:03 ` hwspinlock: add sun6i hardware spinlock support Wilken GottwaltĠ siblings, 2 replies 12+ messages in threadįrom: Wilken Gottwalt 13:02 UTC ( / raw)Ĭc: Ohad Ben-Cohen, Bjorn Andersson, Baolin Wang, Rob Herring, 13:03 ` dt-bindings: hwlock: add sun6i_hwspinlock Wilken Gottwalt Hwspinlock: add sun6i hardware spinlock support All of help / color / mirror / Atom feed * hwspinlock: add sun6i hardware spinlock support 13:02 Wilken Gottwalt