+/*
+ * Init the wAPGSC (RB wAPG-5HacT2HnD // wAP AC) hardware.
+ * The wAPGSC has one Ethernet port via AR8033 with PoE input, dual radio (SoC
+ * 2.4 GHz and external QCA9880) and a ZT2046Q temperature and voltage sensor
+ * (currently not supported).
+ */
+static void __init rbwapgsc_setup(void)
+{
+ u32 flags = RBSPI_HAS_PCI;
+
+ if (rbspi_platform_setup())
+ return;
+
+ rbspi_peripherals_setup(flags);
+
+ platform_device_register(&rbwapgsc_phy_device);
+
+ ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 0);
+ ath79_eth1_data.mii_bus_dev = &rbwapgsc_phy_device.dev;
+ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
+ ath79_eth1_data.phy_mask = BIT(RBWAPGSC_MDIO_PHYADDR);
+ ath79_eth1_pll_data.pll_1000 = 0x03000101;
+ ath79_eth1_pll_data.pll_100 = 0x80000101;
+ ath79_eth1_pll_data.pll_10 = 0x80001313;
+ ath79_eth1_data.speed = SPEED_1000;
+ ath79_eth1_data.duplex = DUPLEX_FULL;
+ ath79_register_eth(1);
+
+ rbspi_wlan_init(1, 2);
+
+ ath79_register_gpio_keys_polled(-1, RBSPI_KEYS_POLL_INTERVAL,
+ ARRAY_SIZE(rbspi_gpio_keys_reset01),
+ rbspi_gpio_keys_reset01);
+
+ ath79_gpio_function_enable(QCA955X_GPIO_FUNC_JTAG_DISABLE|
+ QCA955X_GPIO_REG_OUT_FUNC4|
+ QCA955X_GPIO_REG_OUT_FUNC3);
+
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(rbwapgsc_leds),
+ rbwapgsc_leds);
+}