carl9170 firmware: add get_random_u16 helper
authorChristian Lamparter <chunkeey@googlemail.com>
Sun, 14 Feb 2016 23:33:56 +0000 (00:33 +0100)
committerChristian Lamparter <chunkeey@googlemail.com>
Mon, 15 Feb 2016 00:13:19 +0000 (01:13 +0100)
The HW has a built-in random number generator. This
patch adds a convenient helper to get random 16-bit
values in the firmware.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carlfw/include/gpio.h
carlfw/include/io.h

index a9c0b8805e3e6f9f5575cdc4f258b3f9a0a3c0d0..56c554a40da4cf938a63e2e43e74cc56c100ca73 100644 (file)
@@ -36,6 +36,11 @@ static inline __inline void led_set(const unsigned int ledstate)
        set(AR9170_GPIO_REG_PORT_DATA, ledstate);
 }
 
+static inline __inline u16 get_random_u16(void)
+{
+       return getw(AR9170_RAND_REG_NUM);
+}
+
 #ifdef CONFIG_CARL9170FW_GPIO_INTERRUPT
 
 void gpio_timer(void);
index d48059424f8f426908e47897e78aa621837a35d9..5bdc821a30eca60a2c824781b68c5d4988a43d2a 100644 (file)
@@ -149,4 +149,9 @@ static inline __inline void orb(const volatile uint32_t addr, const volatile uin
        setb(addr, getb(addr) | val);
 }
 
+static inline __inline uint16_t getw(const volatile uint32_t addr)
+{
+       return readw((const volatile void *) addr);
+}
+
 #endif /* __CARL9170FW_IO_H */