Re: [PATCH 2/3] hwrng: stm32 - add support for STM32 HW RNG
From: Daniel Thompson <hidden>
Date: 2015-10-11 19:15:06
Also in:
linux-arm-kernel, linux-crypto, lkml
On 5 October 2015 at 10:22, Daniel Thompson [off-list ref] wrote:
On 4 October 2015 at 11:32, Linus Walleij [off-list ref] wrote:quoted
On Sat, Oct 3, 2015 at 10:35 PM, Daniel Thompson 3. I took out the datasheet for Nomadik STn8820 and it seems that the hardware is very similar to what this driver is trying to drive. CR, SR and DR are in the same place, can you check if you also even have the PrimeCell magic in the words at offset 0xfe0 thru 0xffc?The register window for the STM32 RNG is only 0x400 (and I'll fix the DT for v2 ;-) ) so the STM32 version isn't primecell-like.quoted
In any case it seems likely that this driver should supercede and replace drivers/char/hw_random/nomadik-rng.c still using the PrimeCell bus, and if it doesn't have the PrimeCell IDs in hardware, this can be specified in the device tree using arm,primecell-periphid = <0x000805e1>; in the node if need be. The in-tree driver is dangerously simple and assume too much IMO.Not sure about this, but I'll take a closer look. There is a certain family resemblance in the register set but there are significant differences in data transfer between the Nomadik and STM32 hardware.
Having looked at this I don't really think we would gain very much from combining these drivers. The cells have different (albeit slightly similar) register layouts, different ways to transfer data (16- versus 32-bit) and different ways to report test/report incorrect clocking. In the case of the RNG the differences therefore span the entire of its feature set. I think combining them just results in two drivers that happen to share a file and I dislike having to add "fake" information to the devicetree to make it hang together. Is that convincing for you? Daniel. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html