pinctrl: berlin: fix BG2CD field widths
Subsystems (2)
PATCH 1/1 pinctrl: berlin: fix BG2CD field widths
The previous register layout was incorrect, many of the fields having fewer bits than were needed to represent all their modes. The new layout is taken from the bootloader source of a BG2CD device.
--- drivers/pinctrl/berlin/berlin-bg2cd.c | 62 ++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 30 deletions(-)
(quoted diff) +0 -0
b/drivers/pinctrl/berlin/berlin-bg2cd.c
index 0cb793a..af5e465 100644
drivers/pinctrl/berlin/berlin-bg2cd.c +4 -4
@@ -19,24 +19,24 @@static const struct berlin_desc_group berlin2cd_soc_pinctrl_groups[] = {/* G */ -BERLIN_PINCTRL_GROUP ("G0" ,0x00 ,0x1 ,0x00 , +BERLIN_PINCTRL_GROUP ("G0" ,0x00 ,0x3 ,0x00 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"jtag" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"gpio" ),BERLIN_PINCTRL_FUNCTION (0x2 ,"led" ),BERLIN_PINCTRL_FUNCTION (0x3 ,"pwm" )), -BERLIN_PINCTRL_GROUP ("G1" ,0x00 ,0x2 ,0x01 , +BERLIN_PINCTRL_GROUP ("G1" ,0x00 ,0x3 ,0x03 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"gpio" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"sd0" ),BERLIN_PINCTRL_FUNCTION (0x6 ,"usb0_dbg" ),BERLIN_PINCTRL_FUNCTION (0x7 ,"usb1_dbg" )), -BERLIN_PINCTRL_GROUP ("G2" ,0x00 ,0x2 ,0x02 , +BERLIN_PINCTRL_GROUP ("G2" ,0x00 ,0x3 ,0x06 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"gpio" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"sd0" ),BERLIN_PINCTRL_FUNCTION (0x2 ,"fe" ),BERLIN_PINCTRL_FUNCTION (0x3 ,"pll" ),BERLIN_PINCTRL_FUNCTION (0x6 ,"usb0_dbg" ),BERLIN_PINCTRL_FUNCTION (0x7 ,"usb1_dbg" )), - BERLIN_PINCTRL_GROUP("G3", 0x00, 0x2, 0x04, + BERLIN_PINCTRL_GROUP("G3", 0x00, 0x3, 0x09, BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), BERLIN_PINCTRL_FUNCTION(0x1, "sd0"), BERLIN_PINCTRL_FUNCTION(0x2, "twsi2"),
@@ -44,7 +44,7 @@ static const struct berlin_desc_group
berlin2cd_soc_pinctrl_groups[] = {
BERLIN_PINCTRL_FUNCTION(0x4, "fe"), BERLIN_PINCTRL_FUNCTION(0x6, "usb0_dbg"), BERLIN_PINCTRL_FUNCTION(0x7, "usb1_dbg")),
- BERLIN_PINCTRL_GROUP("G4", 0x00, 0x2, 0x06,
+ BERLIN_PINCTRL_GROUP("G4", 0x00, 0x3, 0x0c,
BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), BERLIN_PINCTRL_FUNCTION(0x1, "sd0"), BERLIN_PINCTRL_FUNCTION(0x2, "twsi3"),
@@ -52,7 +52,7 @@ static const struct berlin_desc_group berlin2cd_soc_pinctrl_groups[] = {
BERLIN_PINCTRL_FUNCTION(0x4, "pwm"), BERLIN_PINCTRL_FUNCTION(0x6, "usb0_dbg"), BERLIN_PINCTRL_FUNCTION(0x7, "usb1_dbg")),
- BERLIN_PINCTRL_GROUP("G5", 0x00, 0x3, 0x08,
+ BERLIN_PINCTRL_GROUP("G5", 0x00, 0x3, 0x0f,
BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), BERLIN_PINCTRL_FUNCTION(0x1, "sd0"), BERLIN_PINCTRL_FUNCTION(0x2, "twsi3"),
@@ -60,64 +60,66 @@ static const struct berlin_desc_group berlin2cd_soc_pinctrl_groups[] = {
BERLIN_PINCTRL_FUNCTION(0x4, "pwm"), BERLIN_PINCTRL_FUNCTION(0x6, "usb0_dbg"), BERLIN_PINCTRL_FUNCTION(0x7, "usb1_dbg")),
- BERLIN_PINCTRL_GROUP("G6", 0x00, 0x2, 0x0b,
+ BERLIN_PINCTRL_GROUP("G6", 0x00, 0x3, 0x12,
BERLIN_PINCTRL_FUNCTION(0x0, "uart0"), /* RX/TX */
BERLIN_PINCTRL_FUNCTION(0x1, "gpio")),
- BERLIN_PINCTRL_GROUP("G7", 0x00, 0x3, 0x0d,
+ BERLIN_PINCTRL_GROUP("G7", 0x00, 0x3, 0x15,
BERLIN_PINCTRL_FUNCTION(0x0, "eddc"), BERLIN_PINCTRL_FUNCTION(0x1, "twsi1"), BERLIN_PINCTRL_FUNCTION(0x2, "gpio")),
- BERLIN_PINCTRL_GROUP("G8", 0x00, 0x3, 0x10,
+ BERLIN_PINCTRL_GROUP("G8", 0x00, 0x3, 0x18,
BERLIN_PINCTRL_FUNCTION(0x0, "spi1"), /* SS0n */ BERLIN_PINCTRL_FUNCTION(0x1, "gpio")),
- BERLIN_PINCTRL_GROUP("G9", 0x00, 0x3, 0x13,
+ BERLIN_PINCTRL_GROUP("G9", 0x00, 0x3, 0x1b,
BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), BERLIN_PINCTRL_FUNCTION(0x1, "spi1"), /* SS1n/SS2n */
- BERLIN_PINCTRL_FUNCTION(0x2, "twsi0")),
- BERLIN_PINCTRL_GROUP("G10", 0x00, 0x2, 0x16,
+ BERLIN_PINCTRL_FUNCTION(0x3, "twsi0")),
+ BERLIN_PINCTRL_GROUP("G10", 0x00, 0x2, 0x1e,
BERLIN_PINCTRL_FUNCTION(0x0, "spi1"), /* CLK */ BERLIN_PINCTRL_FUNCTION(0x1, "gpio")),
- BERLIN_PINCTRL_GROUP("G11", 0x00, 0x2, 0x18,
+ BERLIN_PINCTRL_GROUP("G11", 0x04, 0x2, 0x00,
BERLIN_PINCTRL_FUNCTION(0x0, "spi1"), /* SDI/SDO */ BERLIN_PINCTRL_FUNCTION(0x1, "gpio")),
- BERLIN_PINCTRL_GROUP("G12", 0x00, 0x3, 0x1a,
+ BERLIN_PINCTRL_GROUP("G12", 0x04, 0x3, 0x02,
BERLIN_PINCTRL_FUNCTION(0x0, "usb1"), BERLIN_PINCTRL_FUNCTION(0x1, "gpio")),
- BERLIN_PINCTRL_GROUP("G13", 0x04, 0x3, 0x00,
+ BERLIN_PINCTRL_GROUP("G13", 0x04, 0x3, 0x05,
BERLIN_PINCTRL_FUNCTION(0x0, "nand"), BERLIN_PINCTRL_FUNCTION(0x1, "usb0_dbg"), BERLIN_PINCTRL_FUNCTION(0x2, "usb1_dbg")),
- BERLIN_PINCTRL_GROUP("G14", 0x04, 0x1, 0x03,
+ BERLIN_PINCTRL_GROUP("G14", 0x04, 0x1, 0x08,
BERLIN_PINCTRL_FUNCTION(0x0, "nand"), BERLIN_PINCTRL_FUNCTION(0x1, "gpio")),
- BERLIN_PINCTRL_GROUP("G15", 0x04, 0x2, 0x04,
+ BERLIN_PINCTRL_GROUP("G15", 0x04, 0x3, 0x09,
BERLIN_PINCTRL_FUNCTION(0x0, "jtag"), BERLIN_PINCTRL_FUNCTION(0x1, "gpio")),
- BERLIN_PINCTRL_GROUP("G16", 0x04, 0x3, 0x06,
+ BERLIN_PINCTRL_GROUP("G16", 0x04, 0x3, 0x0c,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G17", 0x04, 0x3, 0x09,
+ BERLIN_PINCTRL_GROUP("G17", 0x04, 0x3, 0x0f,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G18", 0x04, 0x1, 0x0c,
+ BERLIN_PINCTRL_GROUP("G18", 0x04, 0x2, 0x12,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G19", 0x04, 0x1, 0x0d,
+ BERLIN_PINCTRL_GROUP("G19", 0x04, 0x2, 0x14,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G20", 0x04, 0x1, 0x0e,
+ BERLIN_PINCTRL_GROUP("G20", 0x04, 0x2, 0x16,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G21", 0x04, 0x3, 0x0f,
+ BERLIN_PINCTRL_GROUP("G21", 0x04, 0x3, 0x18,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G22", 0x04, 0x3, 0x12,
+ BERLIN_PINCTRL_GROUP("G22", 0x04, 0x3, 0x1b,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G23", 0x04, 0x3, 0x15,
+ BERLIN_PINCTRL_GROUP("G23", 0x08, 0x3, 0x00,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G24", 0x04, 0x2, 0x18,
+ BERLIN_PINCTRL_GROUP("G24", 0x08, 0x2, 0x03,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G25", 0x04, 0x2, 0x1a,
+ BERLIN_PINCTRL_GROUP("G25", 0x08, 0x2, 0x05,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G26", 0x04, 0x1, 0x1c,
+ BERLIN_PINCTRL_GROUP("G26", 0x08, 0x1, 0x07,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G27", 0x04, 0x1, 0x1d,
+ BERLIN_PINCTRL_GROUP("G27", 0x08, 0x2, 0x08,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
- BERLIN_PINCTRL_GROUP("G28", 0x04, 0x2, 0x1e,
+ BERLIN_PINCTRL_GROUP("G28", 0x08, 0x3, 0x0a,
+ BERLIN_PINCTRL_FUNCTION_UNKNOWN),
+ BERLIN_PINCTRL_GROUP("G29", 0x08, 0x3, 0x0d,
BERLIN_PINCTRL_FUNCTION_UNKNOWN),
};
-- 2.5.3
Sebastian Hesselbarth
AppliedQuoted 9 lines · Thomas Hebb
The previous register layout was incorrect, many of the fields having fewer bits than were needed to represent all their modes. The new layout is taken from the bootloader source of a BG2CD device.
Signed-off-by Thomas Hebb <[email protected]>--- drivers/pinctrl/berlin/berlin-bg2cd.c | 62 ++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 30 deletions(-)
Applied to berlin/fixes.
There seems to be something wrong with the patch. Please base your patches on the recent -rc1 kernel and use git send-email. I fixed this patch manually.
Sebastian
Quoted 13 lines · Sebastian Hesselbarth
Quoted 10 lines · Thomas Hebb
The previous register layout was incorrect, many of the fields having fewer bits than were needed to represent all their modes. The new layout is taken from the bootloader source of a BG2CD device.
Signed-off-by Thomas Hebb <[email protected]>--- drivers/pinctrl/berlin/berlin-bg2cd.c | 62 ++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 30 deletions(-)
Quoted 5 lines
Applied to berlin/fixes.
There seems to be something wrong with the patch. Please base your patches on the recent -rc1 kernel and use git send-email. I fixed this patch manually.
I don't understand. Is this for the upstream kernel or not?
I should take it into the pinctrl tree if you ACK it I think?
Yours,
Linus Walleij
Quoted 17 lines · Linus Walleij
Quoted 15 lines · Sebastian Hesselbarth
Quoted 10 lines · Thomas Hebb
The previous register layout was incorrect, many of the fields having fewer bits than were needed to represent all their modes. The new layout is taken from the bootloader source of a BG2CD device.
Signed-off-by Thomas Hebb <[email protected]>--- drivers/pinctrl/berlin/berlin-bg2cd.c | 62 ++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 30 deletions(-)Applied to berlin/fixes.
Quoted 7 lines
Quoted 3 lines
There seems to be something wrong with the patch. Please base your patches on the recent -rc1 kernel and use git send-email. I fixed this patch manually.
I don't understand. Is this for the upstream kernel or not?
I should take it into the pinctrl tree if you ACK it I think?
Linus,
sorry, of course it is up to you to take it. I haven't sent a PR for the branch I precipitately applied this patch to.
As the patch has issues with latest -rc1 I can provide you a -rc1 compatible version of it. You can also pull it from my branch if you prefer.
Please let me know you want the patch and sorry again for the confusion.
Sebastian
Quoted 3 lines · Sebastian Hesselbarth
As the patch has issues with latest -rc1 I can provide you a -rc1 compatible version of it. You can also pull it from my branch if you prefer.
Just mail the rebased patch, single patches are better taken from the mail list.
Thanks!
Linus Walleij
PATCH RESEND 1/1 pinctrl: berlin: fix BG2CD field widths
From: Thomas Hebb <[email protected]>
The previous register layout was incorrect, many of the fields having fewer bits than were needed to represent all their modes. The new layout is taken from the bootloader source of a BG2CD device.
---
Linus,
this is the fix from Thomas rebased on v4.3-rc1.
Sebastian
--- drivers/pinctrl/berlin/berlin-bg2cd.c | 62 ++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 30 deletions(-)
drivers/pinctrl/berlin/berlin-bg2cd.c +32 -30
@@ -19,24 +19,24 @@static const struct berlin_desc_group berlin2cd_soc_pinctrl_groups[] = {/* G */ -BERLIN_PINCTRL_GROUP ("G0" ,0x00 ,0x1 ,0x00 , +BERLIN_PINCTRL_GROUP ("G0" ,0x00 ,0x3 ,0x00 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"jtag" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"gpio" ),BERLIN_PINCTRL_FUNCTION (0x2 ,"led" ),BERLIN_PINCTRL_FUNCTION (0x3 ,"pwm" )), -BERLIN_PINCTRL_GROUP ("G1" ,0x00 ,0x2 ,0x01 , +BERLIN_PINCTRL_GROUP ("G1" ,0x00 ,0x3 ,0x03 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"gpio" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"sd0" ),BERLIN_PINCTRL_FUNCTION (0x6 ,"usb0_dbg" ),BERLIN_PINCTRL_FUNCTION (0x7 ,"usb1_dbg" )), -BERLIN_PINCTRL_GROUP ("G2" ,0x00 ,0x2 ,0x02 , +BERLIN_PINCTRL_GROUP ("G2" ,0x00 ,0x3 ,0x06 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"gpio" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"sd0" ),BERLIN_PINCTRL_FUNCTION (0x2 ,"fe" ),BERLIN_PINCTRL_FUNCTION (0x3 ,"pll" ),BERLIN_PINCTRL_FUNCTION (0x6 ,"usb0_dbg" ),BERLIN_PINCTRL_FUNCTION (0x7 ,"usb1_dbg" )), - BERLIN_PINCTRL_GROUP("G3", 0x00, 0x2, 0x04, + BERLIN_PINCTRL_GROUP("G3", 0x00, 0x3, 0x09, BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), BERLIN_PINCTRL_FUNCTION(0x1, "sd0"), BERLIN_PINCTRL_FUNCTION(0x2, "twsi2"),
@@ -44,7 +44,7 @@ static const struct berlin_desc_group berlin2cd_soc_pinctrl_groups[] = { BERLIN_PINCTRL_FUNCTION(0x4, "fe"), BERLIN_PINCTRL_FUNCTION(0x6, "usb0_dbg"), BERLIN_PINCTRL_FUNCTION(0x7, "usb1_dbg")), - BERLIN_PINCTRL_GROUP("G4", 0x00, 0x2, 0x06, + BERLIN_PINCTRL_GROUP("G4", 0x00, 0x3, 0x0c, BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), BERLIN_PINCTRL_FUNCTION(0x1, "sd0"), BERLIN_PINCTRL_FUNCTION(0x2, "twsi3"),
@@ -52,7 +52,7 @@ static const struct berlin_desc_group berlin2cd_soc_pinctrl_groups[] = { BERLIN_PINCTRL_FUNCTION(0x4, "pwm"), BERLIN_PINCTRL_FUNCTION(0x6, "usb0_dbg"), BERLIN_PINCTRL_FUNCTION(0x7, "usb1_dbg")), - BERLIN_PINCTRL_GROUP("G5", 0x00, 0x3, 0x08, + BERLIN_PINCTRL_GROUP("G5", 0x00, 0x3, 0x0f, BERLIN_PINCTRL_FUNCTION(0x0, "gpio"), BERLIN_PINCTRL_FUNCTION(0x1, "sd0"), BERLIN_PINCTRL_FUNCTION(0x2, "twsi3"),
@@ -60,64 +60,66 @@ static const struct berlin_desc_group berlin2cd_soc_pinctrl_groups[] = { BERLIN_PINCTRL_FUNCTION(0x4, "pwm"), BERLIN_PINCTRL_FUNCTION(0x6, "usb0_dbg"), BERLIN_PINCTRL_FUNCTION(0x7, "usb1_dbg")), -BERLIN_PINCTRL_GROUP ("G6" ,0x00 ,0x2 ,0x0b , +BERLIN_PINCTRL_GROUP ("G6" ,0x00 ,0x3 ,0x12 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"uart0" ),/* RX/TX */ BERLIN_PINCTRL_FUNCTION (0x1 ,"gpio" )), -BERLIN_PINCTRL_GROUP ("G7" ,0x00 ,0x3 ,0x0d , +BERLIN_PINCTRL_GROUP ("G7" ,0x00 ,0x3 ,0x15 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"eddc" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"twsi1" ),BERLIN_PINCTRL_FUNCTION (0x2 ,"gpio" )), -BERLIN_PINCTRL_GROUP ("G8" ,0x00 ,0x3 ,0x10 , +BERLIN_PINCTRL_GROUP ("G8" ,0x00 ,0x3 ,0x18 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"spi1" ),/* SS0n */ BERLIN_PINCTRL_FUNCTION (0x1 ,"gpio" )), -BERLIN_PINCTRL_GROUP ("G9" ,0x00 ,0x3 ,0x13 , +BERLIN_PINCTRL_GROUP ("G9" ,0x00 ,0x3 ,0x1b ,BERLIN_PINCTRL_FUNCTION (0x0 ,"gpio" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"spi1" ),/* SS1n/SS2n */ -BERLIN_PINCTRL_FUNCTION (0x2 ,"twsi0" )), -BERLIN_PINCTRL_GROUP ("G10" ,0x00 ,0x2 ,0x16 , +BERLIN_PINCTRL_FUNCTION (0x3 ,"twsi0" )), +BERLIN_PINCTRL_GROUP ("G10" ,0x00 ,0x2 ,0x1e ,BERLIN_PINCTRL_FUNCTION (0x0 ,"spi1" ),/* CLK */ BERLIN_PINCTRL_FUNCTION (0x1 ,"gpio" )), -BERLIN_PINCTRL_GROUP ("G11" ,0x00 ,0x2 ,0x18 , +BERLIN_PINCTRL_GROUP ("G11" ,0x04 ,0x2 ,0x00 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"spi1" ),/* SDI/SDO */ BERLIN_PINCTRL_FUNCTION (0x1 ,"gpio" )), -BERLIN_PINCTRL_GROUP ("G12" ,0x00 ,0x3 ,0x1a , +BERLIN_PINCTRL_GROUP ("G12" ,0x04 ,0x3 ,0x02 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"usb1" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"gpio" )), -BERLIN_PINCTRL_GROUP ("G13" ,0x04 ,0x3 ,0x00 , +BERLIN_PINCTRL_GROUP ("G13" ,0x04 ,0x3 ,0x05 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"nand" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"usb0_dbg" ),BERLIN_PINCTRL_FUNCTION (0x2 ,"usb1_dbg" )), -BERLIN_PINCTRL_GROUP ("G14" ,0x04 ,0x1 ,0x03 , +BERLIN_PINCTRL_GROUP ("G14" ,0x04 ,0x1 ,0x08 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"nand" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"gpio" )), -BERLIN_PINCTRL_GROUP ("G15" ,0x04 ,0x2 ,0x04 , +BERLIN_PINCTRL_GROUP ("G15" ,0x04 ,0x3 ,0x09 ,BERLIN_PINCTRL_FUNCTION (0x0 ,"jtag" ),BERLIN_PINCTRL_FUNCTION (0x1 ,"gpio" )), -BERLIN_PINCTRL_GROUP ("G16" ,0x04 ,0x3 ,0x06 , +BERLIN_PINCTRL_GROUP ("G16" ,0x04 ,0x3 ,0x0c ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G17" ,0x04 ,0x3 ,0x09 , +BERLIN_PINCTRL_GROUP ("G17" ,0x04 ,0x3 ,0x0f ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G18" ,0x04 ,0x1 ,0x0c , +BERLIN_PINCTRL_GROUP ("G18" ,0x04 ,0x2 ,0x12 ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G19" ,0x04 ,0x1 ,0x0d , +BERLIN_PINCTRL_GROUP ("G19" ,0x04 ,0x2 ,0x14 ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G20" ,0x04 ,0x1 ,0x0e , +BERLIN_PINCTRL_GROUP ("G20" ,0x04 ,0x2 ,0x16 ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G21" ,0x04 ,0x3 ,0x0f , +BERLIN_PINCTRL_GROUP ("G21" ,0x04 ,0x3 ,0x18 ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G22" ,0x04 ,0x3 ,0x12 , +BERLIN_PINCTRL_GROUP ("G22" ,0x04 ,0x3 ,0x1b ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G23" ,0x04 ,0x3 ,0x15 , +BERLIN_PINCTRL_GROUP ("G23" ,0x08 ,0x3 ,0x00 ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G24" ,0x04 ,0x2 ,0x18 , +BERLIN_PINCTRL_GROUP ("G24" ,0x08 ,0x2 ,0x03 ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G25" ,0x04 ,0x2 ,0x1a , +BERLIN_PINCTRL_GROUP ("G25" ,0x08 ,0x2 ,0x05 ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G26" ,0x04 ,0x1 ,0x1c , +BERLIN_PINCTRL_GROUP ("G26" ,0x08 ,0x1 ,0x07 ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G27" ,0x04 ,0x1 ,0x1d , +BERLIN_PINCTRL_GROUP ("G27" ,0x08 ,0x2 ,0x08 ,BERLIN_PINCTRL_FUNCTION_UNKNOWN ), -BERLIN_PINCTRL_GROUP ("G28" ,0x04 ,0x2 ,0x1e , +BERLIN_PINCTRL_GROUP ("G28" ,0x08 ,0x3 ,0x0a , +BERLIN_PINCTRL_FUNCTION_UNKNOWN ), +BERLIN_PINCTRL_GROUP ("G29" ,0x08 ,0x3 ,0x0d , BERLIN_PINCTRL_FUNCTION_UNKNOWN), };
Signature · 1 line
2.1.0
Quoted 6 lines · Sebastian Hesselbarth
From: Thomas Hebb <[email protected]>
The previous register layout was incorrect, many of the fields having fewer bits than were needed to represent all their modes. The new layout is taken from the bootloader source of a BG2CD device.
Quoted 6 lines
Signed-off-by Thomas Hebb <[email protected]>---
Linus,this is the fix from Thomas rebased on v4.3-rc1.
Patch applied. Strangely it applied cleanly despite all the other Berlin pinctrl development from Antoine and Jisheng!
Yours,
Linus Walleij