diff options
Diffstat (limited to 'drivers/pinctrl/pinctrl-tegra124.c')
-rw-r--r-- | drivers/pinctrl/pinctrl-tegra124.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/drivers/pinctrl/pinctrl-tegra124.c b/drivers/pinctrl/pinctrl-tegra124.c index 2b20906c5356..7cd44c7c296d 100644 --- a/drivers/pinctrl/pinctrl-tegra124.c +++ b/drivers/pinctrl/pinctrl-tegra124.c | |||
@@ -1536,6 +1536,7 @@ enum tegra_mux { | |||
1536 | TEGRA_MUX_CLK, | 1536 | TEGRA_MUX_CLK, |
1537 | TEGRA_MUX_CLK12, | 1537 | TEGRA_MUX_CLK12, |
1538 | TEGRA_MUX_CPU, | 1538 | TEGRA_MUX_CPU, |
1539 | TEGRA_MUX_CSI, | ||
1539 | TEGRA_MUX_DAP, | 1540 | TEGRA_MUX_DAP, |
1540 | TEGRA_MUX_DAP1, | 1541 | TEGRA_MUX_DAP1, |
1541 | TEGRA_MUX_DAP2, | 1542 | TEGRA_MUX_DAP2, |
@@ -1544,6 +1545,7 @@ enum tegra_mux { | |||
1544 | TEGRA_MUX_DISPLAYA_ALT, | 1545 | TEGRA_MUX_DISPLAYA_ALT, |
1545 | TEGRA_MUX_DISPLAYB, | 1546 | TEGRA_MUX_DISPLAYB, |
1546 | TEGRA_MUX_DP, | 1547 | TEGRA_MUX_DP, |
1548 | TEGRA_MUX_DSI_B, | ||
1547 | TEGRA_MUX_DTV, | 1549 | TEGRA_MUX_DTV, |
1548 | TEGRA_MUX_EXTPERIPH1, | 1550 | TEGRA_MUX_EXTPERIPH1, |
1549 | TEGRA_MUX_EXTPERIPH2, | 1551 | TEGRA_MUX_EXTPERIPH2, |
@@ -1613,8 +1615,6 @@ enum tegra_mux { | |||
1613 | TEGRA_MUX_VI_ALT3, | 1615 | TEGRA_MUX_VI_ALT3, |
1614 | TEGRA_MUX_VIMCLK2, | 1616 | TEGRA_MUX_VIMCLK2, |
1615 | TEGRA_MUX_VIMCLK2_ALT, | 1617 | TEGRA_MUX_VIMCLK2_ALT, |
1616 | TEGRA_MUX_CSI, | ||
1617 | TEGRA_MUX_DSI_B, | ||
1618 | }; | 1618 | }; |
1619 | 1619 | ||
1620 | #define FUNCTION(fname) \ | 1620 | #define FUNCTION(fname) \ |
@@ -1630,6 +1630,7 @@ static struct tegra_function tegra124_functions[] = { | |||
1630 | FUNCTION(clk), | 1630 | FUNCTION(clk), |
1631 | FUNCTION(clk12), | 1631 | FUNCTION(clk12), |
1632 | FUNCTION(cpu), | 1632 | FUNCTION(cpu), |
1633 | FUNCTION(csi), | ||
1633 | FUNCTION(dap), | 1634 | FUNCTION(dap), |
1634 | FUNCTION(dap1), | 1635 | FUNCTION(dap1), |
1635 | FUNCTION(dap2), | 1636 | FUNCTION(dap2), |
@@ -1638,6 +1639,7 @@ static struct tegra_function tegra124_functions[] = { | |||
1638 | FUNCTION(displaya_alt), | 1639 | FUNCTION(displaya_alt), |
1639 | FUNCTION(displayb), | 1640 | FUNCTION(displayb), |
1640 | FUNCTION(dp), | 1641 | FUNCTION(dp), |
1642 | FUNCTION(dsi_b), | ||
1641 | FUNCTION(dtv), | 1643 | FUNCTION(dtv), |
1642 | FUNCTION(extperiph1), | 1644 | FUNCTION(extperiph1), |
1643 | FUNCTION(extperiph2), | 1645 | FUNCTION(extperiph2), |
@@ -1707,15 +1709,15 @@ static struct tegra_function tegra124_functions[] = { | |||
1707 | FUNCTION(vi_alt3), | 1709 | FUNCTION(vi_alt3), |
1708 | FUNCTION(vimclk2), | 1710 | FUNCTION(vimclk2), |
1709 | FUNCTION(vimclk2_alt), | 1711 | FUNCTION(vimclk2_alt), |
1710 | FUNCTION(csi), | ||
1711 | FUNCTION(dsi_b), | ||
1712 | }; | 1712 | }; |
1713 | 1713 | ||
1714 | #define DRV_PINGROUP_REG_A 0x868 /* bank 0 */ | 1714 | #define DRV_PINGROUP_REG_A 0x868 /* bank 0 */ |
1715 | #define PINGROUP_REG_A 0x3000 /* bank 1 */ | 1715 | #define PINGROUP_REG_A 0x3000 /* bank 1 */ |
1716 | #define MIPI_PAD_CTRL_PINGROUP_REG_A 0x820 /* bank 2 */ | 1716 | #define MIPI_PAD_CTRL_PINGROUP_REG_A 0x820 /* bank 2 */ |
1717 | 1717 | ||
1718 | #define DRV_PINGROUP_REG(r) ((r) - DRV_PINGROUP_REG_A) | ||
1718 | #define PINGROUP_REG(r) ((r) - PINGROUP_REG_A) | 1719 | #define PINGROUP_REG(r) ((r) - PINGROUP_REG_A) |
1720 | #define MIPI_PAD_CTRL_PINGROUP_REG_Y(r) ((r) - MIPI_PAD_CTRL_PINGROUP_REG_A) | ||
1719 | 1721 | ||
1720 | #define PINGROUP_BIT_Y(b) (b) | 1722 | #define PINGROUP_BIT_Y(b) (b) |
1721 | #define PINGROUP_BIT_N(b) (-1) | 1723 | #define PINGROUP_BIT_N(b) (-1) |
@@ -1740,20 +1742,17 @@ static struct tegra_function tegra124_functions[] = { | |||
1740 | .tri_reg = PINGROUP_REG(r), \ | 1742 | .tri_reg = PINGROUP_REG(r), \ |
1741 | .tri_bank = 1, \ | 1743 | .tri_bank = 1, \ |
1742 | .tri_bit = 4, \ | 1744 | .tri_bit = 4, \ |
1743 | .einput_bit = PINGROUP_BIT_Y(5), \ | 1745 | .einput_bit = 5, \ |
1744 | .odrain_bit = PINGROUP_BIT_##od(6), \ | 1746 | .odrain_bit = PINGROUP_BIT_##od(6), \ |
1745 | .lock_bit = PINGROUP_BIT_Y(7), \ | 1747 | .lock_bit = 7, \ |
1746 | .ioreset_bit = PINGROUP_BIT_##ior(8), \ | 1748 | .ioreset_bit = PINGROUP_BIT_##ior(8), \ |
1747 | .rcv_sel_bit = PINGROUP_BIT_##rcv_sel(9), \ | 1749 | .rcv_sel_bit = PINGROUP_BIT_##rcv_sel(9), \ |
1748 | .drv_reg = -1, \ | 1750 | .drv_reg = -1, \ |
1749 | } | 1751 | } |
1750 | 1752 | ||
1751 | #define DRV_PINGROUP_REG(r) ((r) - DRV_PINGROUP_REG_A) | 1753 | #define DRV_PINGROUP(pg_name, r, hsm_b, schmitt_b, lpmd_b, drvdn_b, \ |
1752 | 1754 | drvdn_w, drvup_b, drvup_w, slwr_b, slwr_w, \ | |
1753 | #define DRV_PINGROUP(pg_name, r, hsm_b, schmitt_b, lpmd_b, \ | 1755 | slwf_b, slwf_w, drvtype) \ |
1754 | drvdn_b, drvdn_w, drvup_b, drvup_w, \ | ||
1755 | slwr_b, slwr_w, slwf_b, slwf_w, \ | ||
1756 | drvtype) \ | ||
1757 | { \ | 1756 | { \ |
1758 | .name = "drive_" #pg_name, \ | 1757 | .name = "drive_" #pg_name, \ |
1759 | .pins = drive_##pg_name##_pins, \ | 1758 | .pins = drive_##pg_name##_pins, \ |
@@ -1782,8 +1781,6 @@ static struct tegra_function tegra124_functions[] = { | |||
1782 | .drvtype_bit = PINGROUP_BIT_##drvtype(6), \ | 1781 | .drvtype_bit = PINGROUP_BIT_##drvtype(6), \ |
1783 | } | 1782 | } |
1784 | 1783 | ||
1785 | #define MIPI_PAD_CTRL_PINGROUP_REG_Y(r) ((r) - MIPI_PAD_CTRL_PINGROUP_REG_A) | ||
1786 | |||
1787 | #define MIPI_PAD_CTRL_PINGROUP(pg_name, r, b, f0, f1) \ | 1784 | #define MIPI_PAD_CTRL_PINGROUP(pg_name, r, b, f0, f1) \ |
1788 | { \ | 1785 | { \ |
1789 | .name = "mipi_pad_ctrl_" #pg_name, \ | 1786 | .name = "mipi_pad_ctrl_" #pg_name, \ |
@@ -2044,8 +2041,8 @@ static const struct tegra_pingroup tegra124_groups[] = { | |||
2044 | DRV_PINGROUP(sdio4, 0x9c4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N), | 2041 | DRV_PINGROUP(sdio4, 0x9c4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N), |
2045 | DRV_PINGROUP(ao4, 0x9c8, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, Y), | 2042 | DRV_PINGROUP(ao4, 0x9c8, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, Y), |
2046 | 2043 | ||
2047 | /* pg_name, r b f0, f1 */ | 2044 | /* pg_name, r, b, f0, f1 */ |
2048 | MIPI_PAD_CTRL_PINGROUP(dsi_b, 0x820, 1, CSI, DSI_B) | 2045 | MIPI_PAD_CTRL_PINGROUP(dsi_b, 0x820, 1, CSI, DSI_B), |
2049 | }; | 2046 | }; |
2050 | 2047 | ||
2051 | static const struct tegra_pinctrl_soc_data tegra124_pinctrl = { | 2048 | static const struct tegra_pinctrl_soc_data tegra124_pinctrl = { |
@@ -2056,6 +2053,9 @@ static const struct tegra_pinctrl_soc_data tegra124_pinctrl = { | |||
2056 | .nfunctions = ARRAY_SIZE(tegra124_functions), | 2053 | .nfunctions = ARRAY_SIZE(tegra124_functions), |
2057 | .groups = tegra124_groups, | 2054 | .groups = tegra124_groups, |
2058 | .ngroups = ARRAY_SIZE(tegra124_groups), | 2055 | .ngroups = ARRAY_SIZE(tegra124_groups), |
2056 | .hsm_in_mux = false, | ||
2057 | .schmitt_in_mux = false, | ||
2058 | .drvtype_in_mux = false, | ||
2059 | }; | 2059 | }; |
2060 | 2060 | ||
2061 | static int tegra124_pinctrl_probe(struct platform_device *pdev) | 2061 | static int tegra124_pinctrl_probe(struct platform_device *pdev) |