diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/clk.h | 7 | ||||
-rw-r--r-- | include/mfd/syscon.h | 5 | ||||
-rw-r--r-- | include/soc/at91/atmel-sfr.h | 34 |
3 files changed, 46 insertions, 0 deletions
diff --git a/include/linux/clk.h b/include/linux/clk.h index 978a0a8a9a..20498574f8 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h @@ -385,6 +385,11 @@ int of_clk_add_provider(struct device_node *np, struct clk *(*clk_src_get)(struct of_phandle_args *args, void *data), void *data); + +static inline unsigned int clk_get_num_parents(const struct clk *hw) +{ + return hw->num_parents; +} #else @@ -430,6 +435,8 @@ static inline int of_clk_add_provider(struct device_node *np, } #endif +#define CLK_OF_DECLARE_DRIVER(name, compat, fn) CLK_OF_DECLARE(name, compat, fn) + struct string_list; int clk_name_complete(struct string_list *sl, char *instr); diff --git a/include/mfd/syscon.h b/include/mfd/syscon.h index 63b893e4ae..902f9fa2f3 100644 --- a/include/mfd/syscon.h +++ b/include/mfd/syscon.h @@ -21,6 +21,7 @@ void __iomem *syscon_base_lookup_by_pdevname(const char *s); void __iomem *syscon_base_lookup_by_phandle (struct device_node *np, const char *property); struct regmap *syscon_node_to_regmap(struct device_node *np); +struct regmap *syscon_regmap_lookup_by_compatible(const char *s); #else static inline void __iomem *syscon_base_lookup_by_pdevname(const char *s) { @@ -37,6 +38,10 @@ static inline struct regmap *syscon_node_to_regmap(struct device_node *np) { return ERR_PTR(-ENOSYS); } +static inline struct regmap *syscon_regmap_lookup_by_compatible(const char *s) +{ + return ERR_PTR(-ENOSYS); +} #endif #endif diff --git a/include/soc/at91/atmel-sfr.h b/include/soc/at91/atmel-sfr.h new file mode 100644 index 0000000000..482337af06 --- /dev/null +++ b/include/soc/at91/atmel-sfr.h @@ -0,0 +1,34 @@ +/* + * Atmel SFR (Special Function Registers) register offsets and bit definitions. + * + * Copyright (C) 2016 Atmel + * + * Author: Ludovic Desroches <ludovic.desroches@atmel.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef _LINUX_MFD_SYSCON_ATMEL_SFR_H +#define _LINUX_MFD_SYSCON_ATMEL_SFR_H + +#define AT91_SFR_DDRCFG 0x04 /* DDR Configuration Register */ +/* 0x08 ~ 0x0c: Reserved */ +#define AT91_SFR_OHCIICR 0x10 /* OHCI INT Configuration Register */ +#define AT91_SFR_OHCIISR 0x14 /* OHCI INT Status Register */ +#define AT91_SFR_UTMICKTRIM 0x30 /* UTMI Clock Trimming Register */ +#define AT91_SFR_I2SCLKSEL 0x90 /* I2SC Register */ + +/* Field definitions */ +#define AT91_OHCIICR_SUSPEND_A BIT(8) +#define AT91_OHCIICR_SUSPEND_B BIT(9) +#define AT91_OHCIICR_SUSPEND_C BIT(10) + +#define AT91_OHCIICR_USB_SUSPEND (AT91_OHCIICR_SUSPEND_A | \ + AT91_OHCIICR_SUSPEND_B | \ + AT91_OHCIICR_SUSPEND_C) + +#define AT91_UTMICKTRIM_FREQ GENMASK(1, 0) + +#endif /* _LINUX_MFD_SYSCON_ATMEL_SFR_H */ |