Author: mizhka
Date: Tue Oct 31 11:29:16 2017
New Revision: 325231
URL: https://svnweb.freebsd.org/changeset/base/325231

Log:
  [mips] Pin control configuration for MediaTek RT2880
  
  RT2880 is MIPS4Kc SoC used in many SOHO routers. This commits adds GPIO pin
  control configuration of RT2880.
  
  Submitted by: Hiroki Mori <yamor...@yahoo.co.jp>
  Reviewed by:  mizhka, sgalabov
  Differential Revision:        https://reviews.freebsd.org/D12648

Modified:
  head/sys/mips/mediatek/mtk_pinctrl.c
  head/sys/mips/mediatek/mtk_pinctrl.h

Modified: head/sys/mips/mediatek/mtk_pinctrl.c
==============================================================================
--- head/sys/mips/mediatek/mtk_pinctrl.c        Tue Oct 31 11:09:39 2017        
(r325230)
+++ head/sys/mips/mediatek/mtk_pinctrl.c        Tue Oct 31 11:29:16 2017        
(r325231)
@@ -169,6 +169,9 @@ mtk_pinctrl_configure(device_t dev, phandle_t cfgxref)
        socid = mtk_soc_get_socid();
 
        switch (socid) {
+       case MTK_SOC_RT2880:
+               pintable = rt2880_pintable;
+               break;
        case MTK_SOC_RT3050: /* fallthrough */
        case MTK_SOC_RT3052:
        case MTK_SOC_RT3350:

Modified: head/sys/mips/mediatek/mtk_pinctrl.h
==============================================================================
--- head/sys/mips/mediatek/mtk_pinctrl.h        Tue Oct 31 11:09:39 2017        
(r325230)
+++ head/sys/mips/mediatek/mtk_pinctrl.h        Tue Oct 31 11:29:16 2017        
(r325231)
@@ -118,6 +118,14 @@ DECL_FUNC(gex_func) = {
        FUNC("ge1", 0), FUNC("ge2", 0), FUNC("gpio", 1)
 };
 
+DECL_FUNC(rt2880_uartf_func) = {
+       FUNC("uartf", 0), FUNC("gpio", 1)
+};
+
+DECL_FUNC(rt2880_pci_func) = {
+       FUNC("pci", 0), FUNC("gpio", 1)
+};
+
 DECL_FUNC(rt3883_pci_func) = {
        FUNC("pci-dev", 0), FUNC("pci-host2", 1), FUNC("pci-host1", 2),
        FUNC("pci-fnc", 3), FUNC("gpio", 7)
@@ -295,6 +303,18 @@ DECL_TABLE(mt7620_pintable) = {
        GROUP("nd_sd", SYSCTL_GPIOMODE, 18, 3, nd_sd_func),
        GROUP("pa", SYSCTL_GPIOMODE, 20, 1, pa_func),
        GROUP("wdt", SYSCTL_GPIOMODE, 21, 3, wdt_func),
+       GROUP_END
+};
+
+DECL_TABLE(rt2880_pintable) = {
+       GROUP("i2c", SYSCTL_GPIOMODE, 0, 1, i2c_func),
+       GROUP("uartf", SYSCTL_GPIOMODE, 1, 1, rt2880_uartf_func),
+       GROUP("spi", SYSCTL_GPIOMODE, 2, 1, spi_func),
+       GROUP("uartlite", SYSCTL_GPIOMODE, 3, 1, uartlite_func),
+       GROUP("jtag", SYSCTL_GPIOMODE, 4, 1, jtag_func),
+       GROUP("mdio", SYSCTL_GPIOMODE, 5, 1, mdio_func),
+       GROUP("sdram", SYSCTL_GPIOMODE, 6, 1, sdram_func),
+       GROUP("pci", SYSCTL_GPIOMODE, 7, 1, rt2880_pci_func),
        GROUP_END
 };
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to