* GNU General Public License for more details.
*/
- #include <linux/of_address.h>
- #include <linux/io.h>
-#include <linux/of_platform.h>
--
#include <asm/mach/arch.h>
#include "kona_l2_cache.h"
- #define RSTMGR_DT_STRING "brcm,bcm21664-resetmgr"
-
- #define RSTMGR_REG_WR_ACCESS_OFFSET 0
- #define RSTMGR_REG_CHIP_SOFT_RST_OFFSET 4
-
- #define RSTMGR_WR_PASSWORD 0xa5a5
- #define RSTMGR_WR_PASSWORD_SHIFT 8
- #define RSTMGR_WR_ACCESS_ENABLE 1
-
- static void bcm21664_restart(enum reboot_mode mode, const char *cmd)
- {
- void __iomem *base;
- struct device_node *resetmgr;
-
- resetmgr = of_find_compatible_node(NULL, NULL, RSTMGR_DT_STRING);
- if (!resetmgr) {
- pr_emerg("Couldn't find " RSTMGR_DT_STRING "\n");
- return;
- }
- base = of_iomap(resetmgr, 0);
- if (!base) {
- pr_emerg("Couldn't map " RSTMGR_DT_STRING "\n");
- return;
- }
-
- /*
- * A soft reset is triggered by writing a 0 to bit 0 of the soft reset
- * register. To write to that register we must first write the password
- * and the enable bit in the write access enable register.
- */
- writel((RSTMGR_WR_PASSWORD << RSTMGR_WR_PASSWORD_SHIFT) |
- RSTMGR_WR_ACCESS_ENABLE,
- base + RSTMGR_REG_WR_ACCESS_OFFSET);
- writel(0, base + RSTMGR_REG_CHIP_SOFT_RST_OFFSET);
-
- /* Wait for reset */
- while (1);
- }
-
static void __init bcm21664_init(void)
{
- of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
kona_l2_cache_init();
}
#define FEC_QUIRK_SINGLE_MDIO (1 << 11)
/* Controller supports RACC register */
#define FEC_QUIRK_HAS_RACC (1 << 12)
-#define FEC_QUIRK_ERR006687 (1 << 13)
+/* Controller supports interrupt coalesc */
+#define FEC_QUIRK_HAS_COALESCE (1 << 13)
+ /* Interrupt doesn't wake CPU from deep idle */
++#define FEC_QUIRK_ERR006687 (1 << 14)
struct bufdesc_prop {
int qid;