From owner-svn-src-head@FreeBSD.ORG Fri Apr 5 01:36:01 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id F38FB89C; Fri, 5 Apr 2013 01:36:00 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CD163949; Fri, 5 Apr 2013 01:36:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r351a0p7081359; Fri, 5 Apr 2013 01:36:00 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r351a0xX081351; Fri, 5 Apr 2013 01:36:00 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201304050136.r351a0xX081351@svn.freebsd.org> From: Adrian Chadd Date: Fri, 5 Apr 2013 01:36:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r249123 - head/sys/mips/atheros X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Apr 2013 01:36:01 -0000 Author: adrian Date: Fri Apr 5 01:35:59 2013 New Revision: 249123 URL: http://svnweb.freebsd.org/changeset/base/249123 Log: Implement the AR933x ethernet support. Obtained from: OpenWRT Modified: head/sys/mips/atheros/ar933x_chip.c head/sys/mips/atheros/ar933xreg.h head/sys/mips/atheros/if_arge.c Modified: head/sys/mips/atheros/ar933x_chip.c ============================================================================== --- head/sys/mips/atheros/ar933x_chip.c Fri Apr 5 00:57:10 2013 (r249122) +++ head/sys/mips/atheros/ar933x_chip.c Fri Apr 5 01:35:59 2013 (r249123) @@ -200,8 +200,23 @@ ar933x_chip_ddr_flush_ip2(void) static uint32_t ar933x_chip_get_eth_pll(unsigned int mac, int speed) { + uint32_t pll; - return (0); + switch (speed) { + case 10: + pll = AR933X_PLL_VAL_10; + break; + case 100: + pll = AR933X_PLL_VAL_100; + break; + case 1000: + pll = AR933X_PLL_VAL_1000; + break; + default: + printf("%s%d: invalid speed %d\n", __func__, mac, speed); + pll = 0; + } + return (pll); } static void Modified: head/sys/mips/atheros/ar933xreg.h ============================================================================== --- head/sys/mips/atheros/ar933xreg.h Fri Apr 5 00:57:10 2013 (r249122) +++ head/sys/mips/atheros/ar933xreg.h Fri Apr 5 01:35:59 2013 (r249123) @@ -75,4 +75,8 @@ #define AR933X_BOOTSTRAP_REF_CLK_40 (1 << 0) +#define AR933X_PLL_VAL_1000 0x00110000 +#define AR933X_PLL_VAL_100 0x00001099 +#define AR933X_PLL_VAL_10 0x00991099 + #endif /* __AR93XX_REG_H__ */ Modified: head/sys/mips/atheros/if_arge.c ============================================================================== --- head/sys/mips/atheros/if_arge.c Fri Apr 5 00:57:10 2013 (r249122) +++ head/sys/mips/atheros/if_arge.c Fri Apr 5 01:35:59 2013 (r249123) @@ -572,6 +572,8 @@ arge_attach(device_t dev) case AR71XX_SOC_AR7240: case AR71XX_SOC_AR7241: case AR71XX_SOC_AR7242: + case AR71XX_SOC_AR9330: + case AR71XX_SOC_AR9331: ARGE_WRITE(sc, AR71XX_MAC_FIFO_CFG1, 0x0010ffff); ARGE_WRITE(sc, AR71XX_MAC_FIFO_CFG2, 0x015500aa); break; @@ -899,6 +901,8 @@ arge_set_pll(struct arge_softc *sc, int case AR71XX_SOC_AR7240: case AR71XX_SOC_AR7241: case AR71XX_SOC_AR7242: + case AR71XX_SOC_AR9330: + case AR71XX_SOC_AR9331: fifo_tx = 0x01f00140; break; case AR71XX_SOC_AR9130: