+static void __init cf_e380ac_v1v2_common_setup(unsigned long art_ofs)
+{
+ u8 *mac = (u8 *) KSEG1ADDR(0x1f000000 + art_ofs);
+
+ cf_exxxn_common_setup(art_ofs, CF_E380AC_V1V2_GPIO_EXT_WDT);
+
+ ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
+
+ ath79_register_mdio(0, 0x0);
+ mdiobus_register_board_info(cf_e380ac_v1v2_mdio0_info,
+ ARRAY_SIZE(cf_e380ac_v1v2_mdio0_info));
+
+ /* LAN */
+ ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
+ ath79_eth0_data.phy_mask = BIT(0);
+ ath79_eth0_pll_data.pll_1000 = 0xbe000000;
+ ath79_eth0_pll_data.pll_100 = 0xb0000101;
+ ath79_eth0_pll_data.pll_10 = 0xb0001313;
+ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
+ ath79_register_eth(0);
+
+ ap91_pci_init(mac + 0x5000, NULL);
+
+ /* Disable JTAG (enables GPIO0-3) */
+ ath79_gpio_function_enable(AR934X_GPIO_FUNC_JTAG_DISABLE);
+
+ ath79_gpio_direction_select(CF_E380AC_V1V2_GPIO_LED_LAN, true);
+ ath79_gpio_direction_select(CF_E380AC_V1V2_GPIO_LED_WLAN2G, true);
+ ath79_gpio_direction_select(CF_E380AC_V1V2_GPIO_LED_WLAN5G, true);
+
+ ath79_gpio_output_select(CF_E380AC_V1V2_GPIO_LED_LAN, 0);
+ ath79_gpio_output_select(CF_E380AC_V1V2_GPIO_LED_WLAN2G, 0);
+ ath79_gpio_output_select(CF_E380AC_V1V2_GPIO_LED_WLAN5G, 0);
+
+ /* For J7-4 */
+ ath79_gpio_function_disable(AR934X_GPIO_FUNC_CLK_OBS4_EN);
+
+ ath79_register_gpio_keys_polled(-1, CF_EXXXN_KEYS_POLL_INTERVAL,
+ ARRAY_SIZE(cf_e380ac_v1v2_gpio_keys),
+ cf_e380ac_v1v2_gpio_keys);
+}
+
+static void __init cf_e380ac_v1_setup(void)
+{
+ cf_e380ac_v1v2_common_setup(0x20000);
+
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e380ac_v1_leds_gpio),
+ cf_e380ac_v1_leds_gpio);
+}
+
+MIPS_MACHINE(ATH79_MACH_CF_E380AC_V1, "CF-E380AC-V1", "COMFAST CF-E380AC v1",
+ cf_e380ac_v1_setup);
+
+static void __init cf_e380ac_v2_setup(void)
+{
+ cf_e380ac_v1v2_common_setup(0x40000);
+
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(cf_e380ac_v2_leds_gpio),
+ cf_e380ac_v2_leds_gpio);
+}
+
+MIPS_MACHINE(ATH79_MACH_CF_E380AC_V2, "CF-E380AC-V2", "COMFAST CF-E380AC v2",
+ cf_e380ac_v2_setup);
+