mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
pinctrl: mvebu: armada-38x: fix PCIe functions
A new revision of the Marvell Armada 38x hardware datasheet unveiled
that the definition of some of the PCIe functions were not
correct. This commit fixes the pinctrl driver accordingly.
Some PCIe functions simply do not exist, some of the PCIe functions in
fact were corresponding to other functions, and some PCIe functions
have been added.
Note: the seemingly unrelated removal of spi(cs2) on MPP47 is related:
this function is in fact implemented on MPP43, instead of a PCIe
function.
Signed-off-by: Thomas Petazzoni <[email protected]>
Cc: <[email protected]> # v3.15+
Fixes: ca6d9a084b ("pinctrl: mvebu: add pin-muxing driver for the Marvell Armada 380/385")
Signed-off-by: Linus Walleij <[email protected]>
This commit is contained in:
parent
9d7ebbbf22
commit
331642fbf2
2 changed files with 39 additions and 48 deletions
|
|
@ -94,37 +94,39 @@ static struct mvebu_mpp_mode armada_38x_mpp_modes[] = {
|
|||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "ge0", "rxd0", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "pcie0", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "pcie1", "rstout", V_88F6820_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "spi0", "cs1", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "dev", "ad14", V_88F6810_PLUS)),
|
||||
MPP_VAR_FUNCTION(5, "dev", "ad14", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(6, "pcie3", "clkreq", V_88F6810_PLUS)),
|
||||
MPP_MODE(13,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "ge0", "rxd1", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "pcie0", "clkreq", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "pcie1", "clkreq", V_88F6820_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "spi0", "cs2", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "dev", "ad15", V_88F6810_PLUS)),
|
||||
MPP_VAR_FUNCTION(5, "dev", "ad15", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(6, "pcie2", "clkreq", V_88F6810_PLUS)),
|
||||
MPP_MODE(14,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "ge0", "rxd2", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "ptp", "clk", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "m", "vtt_ctrl", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "spi0", "cs3", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "dev", "wen1", V_88F6810_PLUS)),
|
||||
MPP_VAR_FUNCTION(5, "dev", "wen1", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(6, "pcie3", "clkreq", V_88F6810_PLUS)),
|
||||
MPP_MODE(15,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "ge0", "rxd3", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "ge", "mdc slave", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "pcie0", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "spi0", "mosi", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "pcie1", "rstout", V_88F6820_PLUS)),
|
||||
MPP_VAR_FUNCTION(4, "spi0", "mosi", V_88F6810_PLUS)),
|
||||
MPP_MODE(16,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "ge0", "rxctl", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "ge", "mdio slave", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "m", "decc_err", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "spi0", "miso", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "pcie0", "clkreq", V_88F6810_PLUS)),
|
||||
MPP_VAR_FUNCTION(5, "pcie0", "clkreq", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(6, "pcie1", "clkreq", V_88F6820_PLUS)),
|
||||
MPP_MODE(17,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "ge0", "rxclk", V_88F6810_PLUS),
|
||||
|
|
@ -137,13 +139,12 @@ static struct mvebu_mpp_mode armada_38x_mpp_modes[] = {
|
|||
MPP_VAR_FUNCTION(1, "ge0", "rxerr", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "ptp", "trig_gen", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "ua1", "txd", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "spi0", "cs0", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "pcie1", "rstout", V_88F6820_PLUS)),
|
||||
MPP_VAR_FUNCTION(4, "spi0", "cs0", V_88F6810_PLUS)),
|
||||
MPP_MODE(19,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "ge0", "col", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "ptp", "event_req", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "pcie0", "clkreq", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "ge0", "txerr", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "sata1", "prsnt", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "ua0", "cts", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(6, "ua1", "rxd", V_88F6810_PLUS)),
|
||||
|
|
@ -151,7 +152,6 @@ static struct mvebu_mpp_mode armada_38x_mpp_modes[] = {
|
|||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "ge0", "txclk", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "ptp", "clk", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "pcie1", "rstout", V_88F6820_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "sata0", "prsnt", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "ua0", "rts", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(6, "ua1", "txd", V_88F6810_PLUS)),
|
||||
|
|
@ -277,35 +277,27 @@ static struct mvebu_mpp_mode armada_38x_mpp_modes[] = {
|
|||
MPP_VAR_FUNCTION(1, "pcie0", "clkreq", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "m", "vtt_ctrl", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "m", "decc_err", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "pcie0", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "spi1", "cs2", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "dev", "clkout", V_88F6810_PLUS)),
|
||||
MPP_MODE(44,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "sata0", "prsnt", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "sata1", "prsnt", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "sata2", "prsnt", V_88F6828),
|
||||
MPP_VAR_FUNCTION(4, "sata3", "prsnt", V_88F6828),
|
||||
MPP_VAR_FUNCTION(5, "pcie0", "rstout", V_88F6810_PLUS)),
|
||||
MPP_VAR_FUNCTION(4, "sata3", "prsnt", V_88F6828)),
|
||||
MPP_MODE(45,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "ref", "clk_out0", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "pcie0", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "pcie1", "rstout", V_88F6820_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "pcie2", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "pcie3", "rstout", V_88F6810_PLUS)),
|
||||
MPP_VAR_FUNCTION(2, "pcie0", "rstout", V_88F6810_PLUS)),
|
||||
MPP_MODE(46,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "ref", "clk_out1", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "pcie0", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "pcie1", "rstout", V_88F6820_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "pcie2", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "pcie3", "rstout", V_88F6810_PLUS)),
|
||||
MPP_VAR_FUNCTION(2, "pcie0", "rstout", V_88F6810_PLUS)),
|
||||
MPP_MODE(47,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "sata0", "prsnt", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "sata1", "prsnt", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "sata2", "prsnt", V_88F6828),
|
||||
MPP_VAR_FUNCTION(4, "spi1", "cs2", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "sata3", "prsnt", V_88F6828)),
|
||||
MPP_MODE(48,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
|
|
@ -313,18 +305,19 @@ static struct mvebu_mpp_mode armada_38x_mpp_modes[] = {
|
|||
MPP_VAR_FUNCTION(2, "m", "vtt_ctrl", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "tdm2c", "pclk", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "audio", "mclk", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "sd0", "d4", V_88F6810_PLUS)),
|
||||
MPP_VAR_FUNCTION(5, "sd0", "d4", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(6, "pcie0", "clkreq", V_88F6810_PLUS)),
|
||||
MPP_MODE(49,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "sata2", "prsnt", V_88F6828),
|
||||
MPP_VAR_FUNCTION(2, "sata3", "prsnt", V_88F6828),
|
||||
MPP_VAR_FUNCTION(3, "tdm2c", "fsync", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "audio", "lrclk", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "sd0", "d5", V_88F6810_PLUS)),
|
||||
MPP_VAR_FUNCTION(5, "sd0", "d5", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(6, "pcie1", "clkreq", V_88F6820_PLUS)),
|
||||
MPP_MODE(50,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "pcie0", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "pcie1", "rstout", V_88F6820_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "tdm2c", "drx", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "audio", "extclk", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "sd0", "cmd", V_88F6810_PLUS)),
|
||||
|
|
@ -336,7 +329,6 @@ static struct mvebu_mpp_mode armada_38x_mpp_modes[] = {
|
|||
MPP_MODE(52,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "pcie0", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "pcie1", "rstout", V_88F6820_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "tdm2c", "intn", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "audio", "sdi", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "sd0", "d6", V_88F6810_PLUS)),
|
||||
|
|
@ -352,7 +344,7 @@ static struct mvebu_mpp_mode armada_38x_mpp_modes[] = {
|
|||
MPP_VAR_FUNCTION(1, "sata0", "prsnt", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "sata1", "prsnt", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "pcie0", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "pcie1", "rstout", V_88F6820_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "ge0", "txerr", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "sd0", "d3", V_88F6810_PLUS)),
|
||||
MPP_MODE(55,
|
||||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
|
|
@ -382,7 +374,6 @@ static struct mvebu_mpp_mode armada_38x_mpp_modes[] = {
|
|||
MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(1, "pcie0", "rstout", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(2, "i2c1", "sda", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(3, "pcie1", "rstout", V_88F6820_PLUS),
|
||||
MPP_VAR_FUNCTION(4, "spi1", "cs0", V_88F6810_PLUS),
|
||||
MPP_VAR_FUNCTION(5, "sd0", "d2", V_88F6810_PLUS)),
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue