mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* Re: Loading kernel issues
From: Juergen Borleis @ 2016-10-20  9:13 UTC (permalink / raw)
  To: Javier Fileiv; +Cc: barebox
In-Reply-To: <CABvwO2BZoNwdZJsWmygcjsAUXsmexDPU5cTpEoVd-sW9y5T_Rw@mail.gmail.com>

Hi Javier,

On Wednesday 19 October 2016 20:18:38 Javier Fileiv wrote:
> just in case...my /env/config as well
> [...]

Sorry, no idea. I do not even have the hardware anymore, so I cannot test it.

Keep a look into the "env/bin/boot" script, what it tries to do with the 
configuration from your "env/config". Maybe it could help you to make it work 
again.

Cheers,
Juergen

-- 
Pengutronix e.K.                              | Juergen Borleis             |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* [PATCH 1/3] state: pass error code instead of inventing new one
From: Sascha Hauer @ 2016-10-20  7:31 UTC (permalink / raw)
  To: Barebox List

Both of_find_path() and of_find_path_by_node() return a meaningful
error code, so forward it instead of inventing a new one. Do this
especially for the -EPROBE_DEFER case which currently does not work.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 common/state/state.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/common/state/state.c b/common/state/state.c
index 075618e..2be3c8c 100644
--- a/common/state/state.c
+++ b/common/state/state.c
@@ -466,9 +466,10 @@ struct state *state_new_from_node(struct device_node *node, char *path,
 			of_path = partition_node->full_name;
 			ret = of_find_path_by_node(partition_node, &path, 0);
 		}
-		if (!path) {
-			pr_err("state failed to parse path to backend\n");
-			ret = -EINVAL;
+		if (ret) {
+			if (ret != -EPROBE_DEFER)
+				pr_err("state failed to parse path to backend: %s\n",
+				       strerror(-ret));
 			goto out_release_state;
 		}
 	}
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* [PATCH 2/3] state: driver: handle EPROBE_DEFER
From: Sascha Hauer @ 2016-10-20  7:31 UTC (permalink / raw)
  To: Barebox List
In-Reply-To: <20161020073122.19295-1-s.hauer@pengutronix.de>

When state_new_from_node() returns -ENODEV that means that there
is no device available for the node, so return -EPROBE_DEFER in this
case and hope a device is there later.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 drivers/misc/state.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/state.c b/drivers/misc/state.c
index b9eb1b7..b43aee6 100644
--- a/drivers/misc/state.c
+++ b/drivers/misc/state.c
@@ -28,8 +28,12 @@ static int state_probe(struct device_d *dev)
 	bool readonly = false;
 
 	state = state_new_from_node(np, NULL, 0, 0, readonly);
-	if (IS_ERR(state))
-		return PTR_ERR(state);
+	if (IS_ERR(state)) {
+		int ret = PTR_ERR(state);
+		if (ret == -ENODEV)
+			ret = -EPROBE_DEFER;
+		return ret;
+	}
 
 	return 0;
 }
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* [PATCH 3/3] of_path: handle no driver for device
From: Sascha Hauer @ 2016-10-20  7:31 UTC (permalink / raw)
  To: Barebox List
In-Reply-To: <20161020073122.19295-1-s.hauer@pengutronix.de>

in __of_find_path it can happen that there is a device, but there
is no driver for this device because it hasn't been probed yet.
Return -ENODEV in this case to let the caller know that it has to
try later again.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 drivers/of/of_path.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/of/of_path.c b/drivers/of/of_path.c
index 8e1931f..12a7c02 100644
--- a/drivers/of/of_path.c
+++ b/drivers/of/of_path.c
@@ -61,6 +61,9 @@ static int __of_find_path(struct device_node *node, const char *part, char **out
 			return -ENODEV;
 	}
 
+	if (!dev->driver)
+		return -ENODEV;
+
 	device_detect(dev);
 
 	if (part)
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* Re: Loading kernel issues
From: Javier Fileiv @ 2016-10-19 18:18 UTC (permalink / raw)
  To: Juergen Borleis; +Cc: barebox
In-Reply-To: <CABvwO2BoCQs-XoSNsYG8Uo8+odKcZ6o5dWoFzk_nQjTJGerYLw@mail.gmail.com>

just in case...my /env/config as well

mini2440:/ cat /env/config
#!/bin/sh

machine=mini2440
user=

# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp

# or set your networking parameters here
#eth0.ipaddr=a.b.c.d
#eth0.netmask=a.b.c.d
#eth0.gateway=a.b.c.d
eth0.serverip=192.168.0.10
#eth0.ethaddr=a:b:b:d:e:f

# autoboot settings
# can be either 'tftp', 'nfs', 'nand' or 'mmc'
kernel_loc=nand
# can be either 'net', 'nand', 'initrd' or 'mmc'
rootfs_loc=nand
# can be either 'jffs2' or 'ubifs' for flash or 'ext3' for mmc
rootfs_type=jffs2

rootfsimage=root-${machine}.${rootfs_type}

# The image type of the kernel. Can be uimage, zimage, raw, or raw_lzo
#kernelimage_type=zimage
#kernelimage=zImage-${machine}
kernelimage_type=uimage
kernelimage=uImage-$machine
#kernelimage_type=raw
#kernelimage=Image-$machine
#kernelimage_type=raw_lzo
#kernelimage=Image-$machine.lzo

# the name of the barebox image used by the update script
bareboximage=barebox-$machine

# the name of the barebox default environment used by the update script
bareboxenvimage=barebox-environment-$machine

if [ -n $user ]; then
kernelimage="${user}"-"${kernelimage}"
nfsroot="${eth0.serverip}:/home/${user}/nfsroot/${machine}"
rootfsimage="${user}"-"${rootfsimage}"
else
nfsroot="/path/to/nfs/root"
fi

autoboot_timeout=3

if [ -e /dev/nor0 ]; then
       nor_parts="512k(barebox)"

       # Skip autoboot if not booting from NAND
       autoboot_disable=1
fi

#
# "mini2440" kernel parameter
# 0 .. 9 = screen type
# b = backlight enabled
# t = touch enabled
# c = camera enabled
# Note: can be "mini2440= " if nothing of these components are connected
#
bootargs="console=ttySAC0,115200 mini2440=0tbc rootdelay=5"

# NAND boot settings
# Device name used by the kernel
nand_device="nand"
# partition definition in the NAND
nand_parts="512k(barebox),384k(bareboxenv),2048k(kernel),-(root)"
# rootfs's partition number in the NAND
rootfs_mtdblock_nand=3
# used when manually booting with "boot nand" command
rootfs_mtdblock_type=jffs2

# MMC/SD boot settings
# partition number to read the kernel from
# (starting with # 0, Barebox's counting scheme)
kernel_mmc_part=0
# rootfs's partition number
# (starting with # 1, Kernel's counting scheme)
rootfs_mmc_part=2
# used when manually booting with "boot mmc" command
rootfs_mmc_type=ext2

2016-10-19 20:17 GMT+02:00 Javier Fileiv <javier.fileiv@gmail.com>:
> Hello Juergen,
>
> Here is my power up output, thanks you very much
>
> Terminal ready
>
>
> barebox 2011.05.0-ptx-2014.11.0 (Oct 13 2016 - 21:53:08)
>
> Board: Mini 2440
> NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
> Bad block table found at page 524224, version 0x01
> Bad block table found at page 524160, version 0x01
> nand_read_bbt: Bad block at 0x255a0000
> dm9000 i/o: 0x20000300, id: 0x90000a46
> eth@eth0: got MAC address from EEPROM: 00:00:00:00:00:00
> cfi_probe: cfi_flash base: 0x00000000 size: 0x00200000
> ## Unknown FLASH on Bank at 0x00000000 - Size = 0x00000000 = 0 MB
> refclk:    12000 kHz
> mpll:     405000 kHz
> upll:      48000 kHz
> fclk:     405000 kHz
> hclk:     101250 kHz
> pclk:      50625 kHz
> SDRAM1:   CL2@101MHz
> Malloc space: 0x33a00000 -> 0x33e00000 (size  4 MB)
> Stack space : 0x339f8000 -> 0x33a00000 (size 32 kB)
> running /env/bin/init...
>
> 2016-10-19 9:53 GMT+02:00 Juergen Borleis <jbe@pengutronix.de>:
>> Hi Javier,
>>
>> On Tuesday 18 October 2016 18:56:03 Javier Fileiv wrote:
>>> Trying to autoboot from nand, I set my /env/config file like that (and
>>> after that a "saveenv"). Although it doesn't work automaGically! :)
>>
>> Can you also send the output of barebox from power on up to the point it falls
>> into the prompt?
>>
>> Cheers,
>> Juergen
>>
>> --
>> Pengutronix e.K.                              | Juergen Borleis             |
>> Industrial Linux Solutions                    | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* Re: Loading kernel issues
From: Javier Fileiv @ 2016-10-19 18:17 UTC (permalink / raw)
  To: Juergen Borleis; +Cc: barebox
In-Reply-To: <201610190953.41081.jbe@pengutronix.de>

Hello Juergen,

Here is my power up output, thanks you very much

Terminal ready


barebox 2011.05.0-ptx-2014.11.0 (Oct 13 2016 - 21:53:08)

Board: Mini 2440
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
Bad block table found at page 524224, version 0x01
Bad block table found at page 524160, version 0x01
nand_read_bbt: Bad block at 0x255a0000
dm9000 i/o: 0x20000300, id: 0x90000a46
eth@eth0: got MAC address from EEPROM: 00:00:00:00:00:00
cfi_probe: cfi_flash base: 0x00000000 size: 0x00200000
## Unknown FLASH on Bank at 0x00000000 - Size = 0x00000000 = 0 MB
refclk:    12000 kHz
mpll:     405000 kHz
upll:      48000 kHz
fclk:     405000 kHz
hclk:     101250 kHz
pclk:      50625 kHz
SDRAM1:   CL2@101MHz
Malloc space: 0x33a00000 -> 0x33e00000 (size  4 MB)
Stack space : 0x339f8000 -> 0x33a00000 (size 32 kB)
running /env/bin/init...

2016-10-19 9:53 GMT+02:00 Juergen Borleis <jbe@pengutronix.de>:
> Hi Javier,
>
> On Tuesday 18 October 2016 18:56:03 Javier Fileiv wrote:
>> Trying to autoboot from nand, I set my /env/config file like that (and
>> after that a "saveenv"). Although it doesn't work automaGically! :)
>
> Can you also send the output of barebox from power on up to the point it falls
> into the prompt?
>
> Cheers,
> Juergen
>
> --
> Pengutronix e.K.                              | Juergen Borleis             |
> Industrial Linux Solutions                    | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* Re: [PATCH v2] pinctrl: mvebu: sync mpp names to Linux 4.9-rc1
From: Sascha Hauer @ 2016-10-19 13:54 UTC (permalink / raw)
  To: Uwe Kleine-König; +Cc: barebox
In-Reply-To: <20161019123229.11583-1-u.kleine-koenig@pengutronix.de>

On Wed, Oct 19, 2016 at 02:32:29PM +0200, Uwe Kleine-König wrote:
> Linux changed several mpp names in commits:
> 
> 	438881dfddb9 (pinctrl: mvebu: armada-370: fix spi0 pin description)
> 	bc99357f3690 (pinctrl: mvebu: armada-xp: remove non-existing NAND pins)
> 	80b3d04feab5 (pinctrl: mvebu: armada-xp: remove non-existing VDD cpu_pd functions)
> 	100dc5d84095 (pinctrl: mvebu: armada-{38x,39x,xp}: normalize naming of DRAM functions)
> 	7bd6a26db6f9 (pinctrl: mvebu: armada-{370,375,38x,39x}: normalize dev pins)
> 	dae5597f253a (pinctrl: mvebu: armada-{370,375,38x,39x,xp}: normalize TDM pins)
> 	d4974c16ed22 (pinctrl: mvebu: armada-{370,375}: normalize PCIe pins)
> 	f32f01e1ba6b (pinctrl: mvebu: armada-{370,375}: normalize audio pins)
> 	a361cbc575d6 (pinctrl: mvebu: armada-{370,xp}: normalize ethernet txclkout pins)
> 	bfacb5669474 (pinctrl: mvebu: armada-370: align VDD cpu-pd pin naming with datasheet)
> 	9e05db29e2ac (pinctrl: mvebu: armada-370: align spi1 clock pin naming)
> 	50a7d13d2410 (pinctrl: mvebu: armada-xp: rename spi to spi0)
> 	88b355f1e4e5 (pinctrl: mvebu: armada-xp: add spi1 function)
> 	fb53b61d7768 (pinctrl: mvebu: armada-xp: add nand rb function)
> 	b19bf3797679 (pinctrl: mvebu: armada-xp: add dram functions)
> 
> Adapt the barebox mvebu drivers accordingly.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> Changes since (implict) v1:
>  - rebase to master

Applied, thanks

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* [PATCH] mtd: ubi: enable thread earlier
From: Sascha Hauer @ 2016-10-19 12:49 UTC (permalink / raw)
  To: Barebox List

Since "57cebc4 mtd: ubi: Fix scrubbing during attach" we make sure
that the wear level worker does not start too early. However, now
there are cases when the worker starts too late. When a ubi image is
freshly written a volume may be autoresized. This has to be done
after the wear level worker is started because otherwise the initial
fastmap update will not be able to find any anchor PEBs.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 drivers/mtd/ubi/build.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
index 617c63e..dd90e17 100644
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -622,6 +622,11 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
 		goto out_free;
 	}
 
+	ubi->thread_enabled = 1;
+
+	/* No threading, call ubi_thread directly */
+	ubi_thread(ubi);
+
 	if (ubi->autoresize_vol_id != -1) {
 		err = autoresize(ubi, ubi->autoresize_vol_id);
 		if (err)
@@ -663,15 +668,6 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
 	dev_add_param_int_ro(&ubi->dev, "available_pebs", ubi->avail_pebs, "%d");
 	dev_add_param_int_ro(&ubi->dev, "reserved_pebs", ubi->rsvd_pebs, "%d");
 
-	/*
-	 * The below lock makes sure we do not race with 'ubi_thread()' which
-	 * checks @ubi->thread_enabled. Otherwise we may fail to wake it up.
-	 */
-	ubi->thread_enabled = 1;
-
-	/* No threading, call ubi_thread directly */
-	ubi_thread(ubi);
-
 	ubi_devices[ubi_num] = ubi;
 
 	return ubi_num;
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* [PATCH v2] pinctrl: mvebu: sync mpp names to Linux 4.9-rc1
From: Uwe Kleine-König @ 2016-10-19 12:32 UTC (permalink / raw)
  To: barebox
In-Reply-To: <20161019102123.vibu2i6p3rlu7ye4@pengutronix.de>

Linux changed several mpp names in commits:

	438881dfddb9 (pinctrl: mvebu: armada-370: fix spi0 pin description)
	bc99357f3690 (pinctrl: mvebu: armada-xp: remove non-existing NAND pins)
	80b3d04feab5 (pinctrl: mvebu: armada-xp: remove non-existing VDD cpu_pd functions)
	100dc5d84095 (pinctrl: mvebu: armada-{38x,39x,xp}: normalize naming of DRAM functions)
	7bd6a26db6f9 (pinctrl: mvebu: armada-{370,375,38x,39x}: normalize dev pins)
	dae5597f253a (pinctrl: mvebu: armada-{370,375,38x,39x,xp}: normalize TDM pins)
	d4974c16ed22 (pinctrl: mvebu: armada-{370,375}: normalize PCIe pins)
	f32f01e1ba6b (pinctrl: mvebu: armada-{370,375}: normalize audio pins)
	a361cbc575d6 (pinctrl: mvebu: armada-{370,xp}: normalize ethernet txclkout pins)
	bfacb5669474 (pinctrl: mvebu: armada-370: align VDD cpu-pd pin naming with datasheet)
	9e05db29e2ac (pinctrl: mvebu: armada-370: align spi1 clock pin naming)
	50a7d13d2410 (pinctrl: mvebu: armada-xp: rename spi to spi0)
	88b355f1e4e5 (pinctrl: mvebu: armada-xp: add spi1 function)
	fb53b61d7768 (pinctrl: mvebu: armada-xp: add nand rb function)
	b19bf3797679 (pinctrl: mvebu: armada-xp: add dram functions)

Adapt the barebox mvebu drivers accordingly.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
Changes since (implict) v1:
 - rebase to master

 drivers/pinctrl/mvebu/armada-370.c | 22 ++++-----
 drivers/pinctrl/mvebu/armada-xp.c  | 93 ++++++++++++++++++++------------------
 2 files changed, 59 insertions(+), 56 deletions(-)

diff --git a/drivers/pinctrl/mvebu/armada-370.c b/drivers/pinctrl/mvebu/armada-370.c
index c2c1a0fa6399..2fd07a7b8737 100644
--- a/drivers/pinctrl/mvebu/armada-370.c
+++ b/drivers/pinctrl/mvebu/armada-370.c
@@ -50,12 +50,12 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
 	   MPP_FUNCTION(0x2, "uart0", "rxd")),
 	MPP_MODE(4, "mpp4", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
-	   MPP_FUNCTION(0x1, "cpu_pd", "vdd")),
+	   MPP_FUNCTION(0x1, "vdd", "cpu-pd")),
 	MPP_MODE(5, "mpp5", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
-	   MPP_FUNCTION(0x1, "ge0", "txclko"),
+	   MPP_FUNCTION(0x1, "ge0", "txclkout"),
 	   MPP_FUNCTION(0x2, "uart1", "txd"),
-	   MPP_FUNCTION(0x4, "spi1", "clk"),
+	   MPP_FUNCTION(0x4, "spi1", "sck"),
 	   MPP_FUNCTION(0x5, "audio", "mclk")),
 	MPP_MODE(6, "mpp6", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
@@ -66,7 +66,7 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
 	MPP_MODE(7, "mpp7", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
 	   MPP_FUNCTION(0x1, "ge0", "txd1"),
-	   MPP_FUNCTION(0x4, "tdm", "tdx"),
+	   MPP_FUNCTION(0x4, "tdm", "dtx"),
 	   MPP_FUNCTION(0x5, "audio", "lrclk")),
 	MPP_MODE(8, "mpp8", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
@@ -205,11 +205,11 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
 	   MPP_FUNCTION(0x2, "spi0", "cs0")),
 	MPP_MODE(34, "mpp34", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
-	   MPP_FUNCTION(0x1, "dev", "wen0"),
+	   MPP_FUNCTION(0x1, "dev", "we0"),
 	   MPP_FUNCTION(0x2, "spi0", "mosi")),
 	MPP_MODE(35, "mpp35", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
-	   MPP_FUNCTION(0x1, "dev", "oen"),
+	   MPP_FUNCTION(0x1, "dev", "oe"),
 	   MPP_FUNCTION(0x2, "spi0", "sck")),
 	MPP_MODE(36, "mpp36", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
@@ -346,13 +346,13 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
 	   MPP_FUNCTION(0x1, "dev", "ale1"),
 	   MPP_FUNCTION(0x2, "uart1", "rxd"),
 	   MPP_FUNCTION(0x3, "sata0", "prsnt"),
-	   MPP_FUNCTION(0x4, "pcie", "rst-out"),
+	   MPP_FUNCTION(0x4, "pcie", "rstout"),
 	   MPP_FUNCTION(0x5, "audio", "sdi")),
 	MPP_MODE(61, "mpp61", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
-	   MPP_FUNCTION(0x1, "dev", "wen1"),
+	   MPP_FUNCTION(0x1, "dev", "we1"),
 	   MPP_FUNCTION(0x2, "uart1", "txd"),
-	   MPP_FUNCTION(0x5, "audio", "rclk")),
+	   MPP_FUNCTION(0x5, "audio", "lrclk")),
 	MPP_MODE(62, "mpp62", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
 	   MPP_FUNCTION(0x1, "dev", "a2"),
@@ -368,11 +368,11 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
 	MPP_MODE(64, "mpp64", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
 	   MPP_FUNCTION(0x1, "spi0", "miso"),
-	   MPP_FUNCTION(0x2, "spi0-1", "cs1")),
+	   MPP_FUNCTION(0x2, "spi0", "cs1")),
 	MPP_MODE(65, "mpp65", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
 	   MPP_FUNCTION(0x1, "spi0", "mosi"),
-	   MPP_FUNCTION(0x2, "spi0-1", "cs2")),
+	   MPP_FUNCTION(0x2, "spi0", "cs2")),
 };
 
 static struct mvebu_pinctrl_soc_info mv88f6710_pinctrl_info = {
diff --git a/drivers/pinctrl/mvebu/armada-xp.c b/drivers/pinctrl/mvebu/armada-xp.c
index f1bc8b498aac..b9c2aa47f1e5 100644
--- a/drivers/pinctrl/mvebu/armada-xp.c
+++ b/drivers/pinctrl/mvebu/armada-xp.c
@@ -53,7 +53,7 @@ enum armada_xp_variant {
 static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	MPP_MODE(0, "mpp0", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "ge0", "txclko",     V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x1, "ge0", "txclkout",   V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d0",         V_MV78230_PLUS)),
 	MPP_MODE(1, "mpp1", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
@@ -102,17 +102,19 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	MPP_MODE(12, "mpp12", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "txd4",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "ge1", "clkout",     V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x2, "ge1", "txclkout",   V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d12",        V_MV78230_PLUS)),
 	MPP_MODE(13, "mpp13", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "txd5",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "ge1", "txd0",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi1", "mosi",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d13",        V_MV78230_PLUS)),
 	MPP_MODE(14, "mpp14", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "txd6",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "ge1", "txd1",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi1", "sck",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d14",        V_MV78230_PLUS)),
 	MPP_MODE(15, "mpp15", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
@@ -123,11 +125,13 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "txclk",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "ge1", "txd3",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi1", "cs0",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d16",        V_MV78230_PLUS)),
 	MPP_MODE(17, "mpp17", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "col",        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "ge1", "txctl",      V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi1", "miso",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d17",        V_MV78230_PLUS)),
 	MPP_MODE(18, "mpp18", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
@@ -151,7 +155,7 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "rxd5",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "ge1", "rxd3",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "mem", "bat",        V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "dram", "bat",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d21",        V_MV78230_PLUS)),
 	MPP_MODE(22, "mpp22", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
@@ -168,20 +172,17 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	MPP_MODE(24, "mpp24", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sata1", "prsnt",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "nf", "bootcs-re",   V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "rst",        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "hsync",      V_MV78230_PLUS)),
 	MPP_MODE(25, "mpp25", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sata0", "prsnt",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "nf", "bootcs-we",   V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "pclk",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "vsync",      V_MV78230_PLUS)),
 	MPP_MODE(26, "mpp26", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "fsync",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "lcd", "clk",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu1-pd",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x4, "lcd", "clk",        V_MV78230_PLUS)),
 	MPP_MODE(27, "mpp27", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ptp", "trig",       V_MV78230_PLUS),
@@ -196,8 +197,7 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ptp", "clk",        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "int0",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "lcd", "ref-clk",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu0-pd",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x4, "lcd", "ref-clk",    V_MV78230_PLUS)),
 	MPP_MODE(30, "mpp30", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "clk",        V_MV78230_PLUS),
@@ -205,23 +205,23 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	MPP_MODE(31, "mpp31", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "cmd",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "tdm", "int2",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu0-pd",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "tdm", "int2",       V_MV78230_PLUS)),
 	MPP_MODE(32, "mpp32", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "d0",         V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "tdm", "int3",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu1-pd",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "tdm", "int3",       V_MV78230_PLUS)),
 	MPP_MODE(33, "mpp33", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "d1",         V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "int4",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "mem", "bat",        V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x4, "dram", "bat",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x5, "dram", "vttctrl",   V_MV78230_PLUS)),
 	MPP_MODE(34, "mpp34", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "d2",         V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "sata0", "prsnt",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "tdm", "int5",       V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "tdm", "int5",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x4, "dram", "deccerr",   V_MV78230_PLUS)),
 	MPP_MODE(35, "mpp35", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "d3",         V_MV78230_PLUS),
@@ -229,74 +229,80 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	   MPP_VAR_FUNCTION(0x3, "tdm", "int6",       V_MV78230_PLUS)),
 	MPP_MODE(36, "mpp36", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "mosi",       V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "mosi",      V_MV78230_PLUS)),
 	MPP_MODE(37, "mpp37", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "miso",       V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "miso",      V_MV78230_PLUS)),
 	MPP_MODE(38, "mpp38", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "sck",        V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "sck",       V_MV78230_PLUS)),
 	MPP_MODE(39, "mpp39", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "cs0",        V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "cs0",       V_MV78230_PLUS)),
 	MPP_MODE(40, "mpp40", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "cs1",        V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "cs1",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart2", "cts",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "vdd", "cpu1-pd",    V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "vga-hsync",  V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq0",   V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq0",   V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs1",       V_MV78230_PLUS)),
 	MPP_MODE(41, "mpp41", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "cs2",        V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "cs2",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart2", "rts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "sata1", "prsnt",    V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "vga-vsync",  V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq1",   V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq1",   V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs2",       V_MV78230_PLUS)),
 	MPP_MODE(42, "mpp42", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart2", "rxd",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart0", "cts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "int7",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "tdm-1", "timer",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu0-pd",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x4, "tdm", "timer",      V_MV78230_PLUS)),
 	MPP_MODE(43, "mpp43", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart2", "txd",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart0", "rts",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "spi", "cs3",        V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi0", "cs3",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "pcie", "rstout",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu2-3-pd",  V_MV78460)),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs3",       V_MV78230_PLUS)),
 	MPP_MODE(44, "mpp44", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart2", "cts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart3", "rxd",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "spi", "cs4",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "mem", "bat",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq2",   V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "spi0", "cs4",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x4, "dram", "bat",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq2",   V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs4",       V_MV78230_PLUS)),
 	MPP_MODE(45, "mpp45", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart2", "rts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart3", "txd",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "spi", "cs5",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "sata1", "prsnt",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "spi0", "cs5",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x4, "sata1", "prsnt",    V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x5, "dram", "vttctrl",   V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs5",       V_MV78230_PLUS)),
 	MPP_MODE(46, "mpp46", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart3", "rts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart1", "rts",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "spi", "cs6",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "sata0", "prsnt",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "spi0", "cs6",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x4, "sata0", "prsnt",    V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs6",       V_MV78230_PLUS)),
 	MPP_MODE(47, "mpp47", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart3", "cts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart1", "cts",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "spi", "cs7",        V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi0", "cs7",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "ref", "clkout",     V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq3",   V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq3",   V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs7",       V_MV78230_PLUS)),
 	MPP_MODE(48, "mpp48", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "tclk", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "dev", "burst/last", V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "dev", "clkout",     V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x2, "dev", "burst/last", V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "nand", "rb",        V_MV78230_PLUS)),
 	MPP_MODE(49, "mpp49", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78260_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "dev", "we3",        V_MV78260_PLUS)),
@@ -317,16 +323,13 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	   MPP_VAR_FUNCTION(0x1, "dev", "ad19",       V_MV78260_PLUS)),
 	MPP_MODE(55, "mpp55", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "dev", "ad20",       V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "vdd", "cpu0-pd",    V_MV78260_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "dev", "ad20",       V_MV78260_PLUS)),
 	MPP_MODE(56, "mpp56", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "dev", "ad21",       V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "vdd", "cpu1-pd",    V_MV78260_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "dev", "ad21",       V_MV78260_PLUS)),
 	MPP_MODE(57, "mpp57", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "dev", "ad22",       V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "vdd", "cpu2-3-pd",  V_MV78460)),
+	   MPP_VAR_FUNCTION(0x1, "dev", "ad22",       V_MV78260_PLUS)),
 	MPP_MODE(58, "mpp58", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78260_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "dev", "ad23",       V_MV78260_PLUS)),
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* Re: [PATCH] sandbox: eliminate sdl_init()
From: Sascha Hauer @ 2016-10-19 10:22 UTC (permalink / raw)
  To: Antony Pavlov; +Cc: barebox
In-Reply-To: <20161019084437.7533-1-antonynpavlov@gmail.com>

On Wed, Oct 19, 2016 at 11:44:37AM +0300, Antony Pavlov wrote:
> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
> ---
>  arch/sandbox/mach-sandbox/include/mach/linux.h | 1 -
>  arch/sandbox/os/sdl.c                          | 7 +------
>  2 files changed, 1 insertion(+), 7 deletions(-)

Applied, thanks

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* Re: [PATCH] pinctrl: mvebu: sync mpp names to Linux 4.9-rc1
From: Sascha Hauer @ 2016-10-19 10:21 UTC (permalink / raw)
  To: Uwe Kleine-König; +Cc: barebox
In-Reply-To: <20161018194719.30707-1-u.kleine-koenig@pengutronix.de>

On Tue, Oct 18, 2016 at 09:47:19PM +0200, Uwe Kleine-König wrote:
> Linux changed several mpp names in commits:
> 
> 	a526973e0291 (pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio))
> 	438881dfddb9 (pinctrl: mvebu: armada-370: fix spi0 pin description)
> 	bc99357f3690 (pinctrl: mvebu: armada-xp: remove non-existing NAND pins)
> 	80b3d04feab5 (pinctrl: mvebu: armada-xp: remove non-existing VDD cpu_pd functions)
> 	100dc5d84095 (pinctrl: mvebu: armada-{38x,39x,xp}: normalize naming of DRAM functions)
> 	7bd6a26db6f9 (pinctrl: mvebu: armada-{370,375,38x,39x}: normalize dev pins)
> 	dae5597f253a (pinctrl: mvebu: armada-{370,375,38x,39x,xp}: normalize TDM pins)
> 	d4974c16ed22 (pinctrl: mvebu: armada-{370,375}: normalize PCIe pins)
> 	f32f01e1ba6b (pinctrl: mvebu: armada-{370,375}: normalize audio pins)
> 	a361cbc575d6 (pinctrl: mvebu: armada-{370,xp}: normalize ethernet txclkout pins)
> 	bfacb5669474 (pinctrl: mvebu: armada-370: align VDD cpu-pd pin naming with datasheet)
> 	9e05db29e2ac (pinctrl: mvebu: armada-370: align spi1 clock pin naming)
> 	50a7d13d2410 (pinctrl: mvebu: armada-xp: rename spi to spi0)
> 	88b355f1e4e5 (pinctrl: mvebu: armada-xp: add spi1 function)
> 	fb53b61d7768 (pinctrl: mvebu: armada-xp: add nand rb function)
> 	b19bf3797679 (pinctrl: mvebu: armada-xp: add dram functions)
> 
> Adapt the barebox mvebu drivers accordingly.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> Hello,
> 
> this superseeds patch
> 
> 	pinctrl: mvebu: armada-370 fix gpio name for mpp63
> 
> which currently sits in next as 8aed8106c2ec.

This is not in next anymore, it's in master since the last release.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* Re: [PATCH] spi: mvebu: make more than one device on a bus work
From: Sascha Hauer @ 2016-10-19 10:14 UTC (permalink / raw)
  To: Uwe Kleine-König; +Cc: barebox
In-Reply-To: <20161019073045.15747-1-u.kleine-koenig@pengutronix.de>

On Wed, Oct 19, 2016 at 09:30:45AM +0200, Uwe Kleine-König wrote:
> The mvebu socs support up to 8 chip selects. Make use of them.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/spi/mvebu_spi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks

Sascha

> 
> diff --git a/drivers/spi/mvebu_spi.c b/drivers/spi/mvebu_spi.c
> index c679e64c4248..335774d4c609 100644
> --- a/drivers/spi/mvebu_spi.c
> +++ b/drivers/spi/mvebu_spi.c
> @@ -361,7 +361,7 @@ static int mvebu_spi_probe(struct device_d *dev)
>  	master->bus_num = dev->id;
>  	master->setup = mvebu_spi_setup;
>  	master->transfer = mvebu_spi_transfer;
> -	master->num_chipselect = 1;
> +	master->num_chipselect = 8;
>  
>  	ret = spi_register_master(master);
>  	if (!ret)
> -- 
> 2.9.3
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* Re: [PATCH] arm: Baltos: setup MPU PLL to run at 600MHz
From: Sascha Hauer @ 2016-10-19 10:07 UTC (permalink / raw)
  To: yegorslists; +Cc: barebox
In-Reply-To: <1476793443-27586-1-git-send-email-yegorslists@googlemail.com>

On Tue, Oct 18, 2016 at 02:24:03PM +0200, yegorslists@googlemail.com wrote:
> From: Yegor Yefremov <yegorslists@googlemail.com>
> 
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> ---
>  arch/arm/boards/vscom-baltos/lowlevel.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks

Sascha

> 
> diff --git a/arch/arm/boards/vscom-baltos/lowlevel.c b/arch/arm/boards/vscom-baltos/lowlevel.c
> index 8bce91a..87f2a74 100644
> --- a/arch/arm/boards/vscom-baltos/lowlevel.c
> +++ b/arch/arm/boards/vscom-baltos/lowlevel.c
> @@ -93,7 +93,7 @@ static noinline int baltos_sram_init(void)
>  	while (__raw_readl(AM33XX_WDT_REG(WWPS)) != 0x0);
>  
>  	/* Setup the PLLs and the clocks for the peripherals */
> -	am33xx_pll_init(MPUPLL_M_500, DDRPLL_M_400);
> +	am33xx_pll_init(MPUPLL_M_600, DDRPLL_M_400);
>  	am335x_sdram_init(0x18B, &ddr3_cmd_ctrl, &ddr3_regs, &ddr3_data);
>  	sdram_size = get_ram_size((void *)0x80000000, (1024 << 20));
>  	if (sdram_size == SZ_256M)
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* [PATCH] sandbox: eliminate sdl_init()
From: Antony Pavlov @ 2016-10-19  8:44 UTC (permalink / raw)
  To: barebox

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
---
 arch/sandbox/mach-sandbox/include/mach/linux.h | 1 -
 arch/sandbox/os/sdl.c                          | 7 +------
 2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/arch/sandbox/mach-sandbox/include/mach/linux.h b/arch/sandbox/mach-sandbox/include/mach/linux.h
index 1e53f69..1f11ed4 100644
--- a/arch/sandbox/mach-sandbox/include/mach/linux.h
+++ b/arch/sandbox/mach-sandbox/include/mach/linux.h
@@ -30,7 +30,6 @@ struct linux_console_data {
 
 extern int sdl_xres;
 extern int sdl_yres;
-int sdl_init(void);
 void sdl_close(void);
 int sdl_open(int xres, int yres, int bpp, void* buf);
 void sdl_stop_timer(void);
diff --git a/arch/sandbox/os/sdl.c b/arch/sandbox/os/sdl.c
index ec538e9..9a35279 100644
--- a/arch/sandbox/os/sdl.c
+++ b/arch/sandbox/os/sdl.c
@@ -23,11 +23,6 @@ static SDL_Surface *real_screen;
 static void *buffer = NULL;
 pthread_t th;
 
-int sdl_init(void)
-{
-	return SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE);
-}
-
 static void sdl_copy_buffer(SDL_Surface *screen)
 {
 	if (SDL_MUSTLOCK(screen)) {
@@ -84,7 +79,7 @@ int sdl_open(int xres, int yres, int bpp, void* buf)
 {
 	int flags = SDL_HWSURFACE | SDL_ASYNCBLIT | SDL_HWACCEL;
 
-	if (sdl_init() < 0) {
+	if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE) < 0) {
 		printf("Could not initialize SDL: %s.\n", SDL_GetError());
 		return -1;
 	}
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* Re: Loading kernel issues
From: Juergen Borleis @ 2016-10-19  7:53 UTC (permalink / raw)
  To: Javier Fileiv; +Cc: barebox
In-Reply-To: <CABvwO2A6jNWz7_MOcxxAdJh_fAoV06uA9qk28dKZ5icfV07kQg@mail.gmail.com>

Hi Javier,

On Tuesday 18 October 2016 18:56:03 Javier Fileiv wrote:
> Trying to autoboot from nand, I set my /env/config file like that (and
> after that a "saveenv"). Although it doesn't work automaGically! :)

Can you also send the output of barebox from power on up to the point it falls 
into the prompt?

Cheers,
Juergen

-- 
Pengutronix e.K.                              | Juergen Borleis             |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* [PATCH] spi: mvebu: make more than one device on a bus work
From: Uwe Kleine-König @ 2016-10-19  7:30 UTC (permalink / raw)
  To: barebox

The mvebu socs support up to 8 chip selects. Make use of them.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/spi/mvebu_spi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/spi/mvebu_spi.c b/drivers/spi/mvebu_spi.c
index c679e64c4248..335774d4c609 100644
--- a/drivers/spi/mvebu_spi.c
+++ b/drivers/spi/mvebu_spi.c
@@ -361,7 +361,7 @@ static int mvebu_spi_probe(struct device_d *dev)
 	master->bus_num = dev->id;
 	master->setup = mvebu_spi_setup;
 	master->transfer = mvebu_spi_transfer;
-	master->num_chipselect = 1;
+	master->num_chipselect = 8;
 
 	ret = spi_register_master(master);
 	if (!ret)
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* [PATCH] mtd: Make UBI detection more robust
From: Sascha Hauer @ 2016-10-19  6:54 UTC (permalink / raw)
  To: Barebox List

When we want to detect if a mtd device contains an UBI image then
testing the first block is not enough since it can always happen that
UBI has just erased the block before the power failed during last boot.
Since UBI only ever erases one block at a time and directly writes the
ec header to it afterwards, it shouldn't be necessary to scan the whole
device for UBI data. Scan the first 64 blocks. The first non-empty block
then must contain UBI data, if instead we find foreign data we assume
that no UBI is on that mtd device.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 drivers/mtd/core.c | 35 ++++++++++++++++++++++++-----------
 1 file changed, 24 insertions(+), 11 deletions(-)

diff --git a/drivers/mtd/core.c b/drivers/mtd/core.c
index 6d04b88..90b800c 100644
--- a/drivers/mtd/core.c
+++ b/drivers/mtd/core.c
@@ -18,6 +18,7 @@
 #include <common.h>
 #include <linux/mtd/nand.h>
 #include <linux/mtd/mtd.h>
+#include <mtd/mtd-peb.h>
 #include <mtd/ubi-user.h>
 #include <cmdlinepart.h>
 #include <filetype.h>
@@ -622,9 +623,11 @@ static int mtd_detect(struct device_d *dev)
 	struct mtd_info *mtd = container_of(dev, struct mtd_info, class_dev);
 	int bufsize = 512;
 	void *buf;
-	int ret;
+	int ret = 0, i;
 	enum filetype filetype;
-	size_t retlen;
+	int npebs = mtd_div_by_eb(mtd->size, mtd);
+
+	npebs = max(npebs, 64);
 
 	/*
 	 * Do not try to attach an UBI device if this device has partitions
@@ -636,17 +639,27 @@ static int mtd_detect(struct device_d *dev)
 
 	buf = xmalloc(bufsize);
 
-	ret = mtd_read(mtd, 0, bufsize, &retlen, buf);
-	if (ret)
-		goto out;
+	for (i = 0; i < npebs; i++) {
+		if (mtd_peb_is_bad(mtd, i))
+			continue;
 
-	filetype = file_detect_type(buf, bufsize);
-	if (filetype == filetype_ubi) {
-		ret = ubi_attach_mtd_dev(mtd, UBI_DEV_NUM_AUTO, 0, 20);
-		if (ret == -EEXIST)
-			ret = 0;
+		ret = mtd_peb_read(mtd, buf, i, 0, 512);
+		if (ret)
+			continue;
+
+		if (mtd_buf_all_ff(buf, 512))
+			continue;
+
+		filetype = file_detect_type(buf, bufsize);
+		if (filetype == filetype_ubi) {
+			ret = ubi_attach_mtd_dev(mtd, UBI_DEV_NUM_AUTO, 0, 20);
+			if (ret == -EEXIST)
+				ret = 0;
+		}
+
+		break;
 	}
-out:
+
 	free(buf);
 
 	return ret;
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* [PATCH 1/2] linux/list.h: Add missing include
From: Sascha Hauer @ 2016-10-19  6:39 UTC (permalink / raw)
  To: Barebox List

linux/list.h needs linux/kernel.h for container_of(). Add it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 include/linux/list.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/list.h b/include/linux/list.h
index bc63ece..af5edc9 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -2,6 +2,7 @@
 #define _LINUX_LIST_H
 
 #include <linux/stddef.h> /* for NULL */
+#include <linux/kernel.h>
 
 /*
  * Simple doubly linked list implementation.
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* [PATCH 2/2] complete: Add completion for nv and globalvar commands
From: Sascha Hauer @ 2016-10-19  6:39 UTC (permalink / raw)
  To: Barebox List
In-Reply-To: <20161019063921.13247-1-s.hauer@pengutronix.de>

The 'nv' command is often used to create a nv variable
for an existing global variable, so add a command completion
function for this.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 commands/global.c   |  2 ++
 commands/nv.c       |  2 ++
 common/globalvar.c  | 28 ++++++++++++++++++++++++++++
 include/globalvar.h |  2 ++
 4 files changed, 34 insertions(+)

diff --git a/commands/global.c b/commands/global.c
index d21b829..fc68716 100644
--- a/commands/global.c
+++ b/commands/global.c
@@ -22,6 +22,7 @@
 #include <globalvar.h>
 #include <environment.h>
 #include <getopt.h>
+#include <complete.h>
 
 static int do_global(int argc, char *argv[])
 {
@@ -77,4 +78,5 @@ BAREBOX_CMD_START(global)
 	BAREBOX_CMD_OPTS("[-r] VAR[=VALUE] ...")
 	BAREBOX_CMD_GROUP(CMD_GRP_ENV)
 	BAREBOX_CMD_HELP(cmd_global_help)
+	BAREBOX_CMD_COMPLETE(nv_global_complete)
 BAREBOX_CMD_END
diff --git a/commands/nv.c b/commands/nv.c
index a1fb095..37cdb96 100644
--- a/commands/nv.c
+++ b/commands/nv.c
@@ -22,6 +22,7 @@
 #include <globalvar.h>
 #include <environment.h>
 #include <getopt.h>
+#include <complete.h>
 
 static int do_nv(int argc, char *argv[])
 {
@@ -90,4 +91,5 @@ BAREBOX_CMD_START(nv)
 	BAREBOX_CMD_OPTS("[-r] VAR[=VALUE] ...")
 	BAREBOX_CMD_GROUP(CMD_GRP_ENV)
 	BAREBOX_CMD_HELP(cmd_nv_help)
+	BAREBOX_CMD_COMPLETE(nv_global_complete)
 BAREBOX_CMD_END
diff --git a/common/globalvar.c b/common/globalvar.c
index fb69db9..e75cac9 100644
--- a/common/globalvar.c
+++ b/common/globalvar.c
@@ -626,3 +626,31 @@ static void nv_exit(void)
 	nvvar_save();
 }
 predevshutdown_exitcall(nv_exit);
+
+static int nv_global_param_complete(struct device_d *dev, struct string_list *sl,
+				 char *instr, int eval)
+{
+	struct param_d *param;
+	int len;
+
+	len = strlen(instr);
+
+	list_for_each_entry(param, &dev->parameters, list) {
+		if (strncmp(instr, param->name, len))
+			continue;
+
+		string_list_add_asprintf(sl, "%s%c",
+			param->name,
+			eval ? ' ' : '=');
+	}
+
+	return 0;
+}
+
+int nv_global_complete(struct string_list *sl, char *instr)
+{
+	nv_global_param_complete(&global_device, sl, instr, 0);
+	nv_global_param_complete(&nv_device, sl, instr, 0);
+
+	return 0;
+}
diff --git a/include/globalvar.h b/include/globalvar.h
index 2a5d8a1..ecd9f1d 100644
--- a/include/globalvar.h
+++ b/include/globalvar.h
@@ -4,6 +4,7 @@
 #include <param.h>
 #include <driver.h>
 #include <linux/err.h>
+#include <stringlist.h>
 
 extern struct device_d global_device;
 
@@ -123,5 +124,6 @@ static inline void dev_param_init_from_nv(struct device_d *dev, const char *name
 
 void nv_var_set_clean(void);
 int nvvar_save(void);
+int nv_global_complete(struct string_list *sl, char *instr);
 
 #endif /* __GLOBALVAR_H */
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* [PATCH] pinctrl: mvebu: sync mpp names to Linux 4.9-rc1
From: Uwe Kleine-König @ 2016-10-18 19:47 UTC (permalink / raw)
  To: barebox

Linux changed several mpp names in commits:

	a526973e0291 (pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio))
	438881dfddb9 (pinctrl: mvebu: armada-370: fix spi0 pin description)
	bc99357f3690 (pinctrl: mvebu: armada-xp: remove non-existing NAND pins)
	80b3d04feab5 (pinctrl: mvebu: armada-xp: remove non-existing VDD cpu_pd functions)
	100dc5d84095 (pinctrl: mvebu: armada-{38x,39x,xp}: normalize naming of DRAM functions)
	7bd6a26db6f9 (pinctrl: mvebu: armada-{370,375,38x,39x}: normalize dev pins)
	dae5597f253a (pinctrl: mvebu: armada-{370,375,38x,39x,xp}: normalize TDM pins)
	d4974c16ed22 (pinctrl: mvebu: armada-{370,375}: normalize PCIe pins)
	f32f01e1ba6b (pinctrl: mvebu: armada-{370,375}: normalize audio pins)
	a361cbc575d6 (pinctrl: mvebu: armada-{370,xp}: normalize ethernet txclkout pins)
	bfacb5669474 (pinctrl: mvebu: armada-370: align VDD cpu-pd pin naming with datasheet)
	9e05db29e2ac (pinctrl: mvebu: armada-370: align spi1 clock pin naming)
	50a7d13d2410 (pinctrl: mvebu: armada-xp: rename spi to spi0)
	88b355f1e4e5 (pinctrl: mvebu: armada-xp: add spi1 function)
	fb53b61d7768 (pinctrl: mvebu: armada-xp: add nand rb function)
	b19bf3797679 (pinctrl: mvebu: armada-xp: add dram functions)

Adapt the barebox mvebu drivers accordingly.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
Hello,

this superseeds patch

	pinctrl: mvebu: armada-370 fix gpio name for mpp63

which currently sits in next as 8aed8106c2ec.

Best regards
Uwe

 drivers/pinctrl/mvebu/armada-370.c | 24 +++++-----
 drivers/pinctrl/mvebu/armada-xp.c  | 93 ++++++++++++++++++++------------------
 2 files changed, 60 insertions(+), 57 deletions(-)

diff --git a/drivers/pinctrl/mvebu/armada-370.c b/drivers/pinctrl/mvebu/armada-370.c
index 1c79bd62af92..2fd07a7b8737 100644
--- a/drivers/pinctrl/mvebu/armada-370.c
+++ b/drivers/pinctrl/mvebu/armada-370.c
@@ -50,12 +50,12 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
 	   MPP_FUNCTION(0x2, "uart0", "rxd")),
 	MPP_MODE(4, "mpp4", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
-	   MPP_FUNCTION(0x1, "cpu_pd", "vdd")),
+	   MPP_FUNCTION(0x1, "vdd", "cpu-pd")),
 	MPP_MODE(5, "mpp5", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
-	   MPP_FUNCTION(0x1, "ge0", "txclko"),
+	   MPP_FUNCTION(0x1, "ge0", "txclkout"),
 	   MPP_FUNCTION(0x2, "uart1", "txd"),
-	   MPP_FUNCTION(0x4, "spi1", "clk"),
+	   MPP_FUNCTION(0x4, "spi1", "sck"),
 	   MPP_FUNCTION(0x5, "audio", "mclk")),
 	MPP_MODE(6, "mpp6", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
@@ -66,7 +66,7 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
 	MPP_MODE(7, "mpp7", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
 	   MPP_FUNCTION(0x1, "ge0", "txd1"),
-	   MPP_FUNCTION(0x4, "tdm", "tdx"),
+	   MPP_FUNCTION(0x4, "tdm", "dtx"),
 	   MPP_FUNCTION(0x5, "audio", "lrclk")),
 	MPP_MODE(8, "mpp8", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
@@ -205,11 +205,11 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
 	   MPP_FUNCTION(0x2, "spi0", "cs0")),
 	MPP_MODE(34, "mpp34", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
-	   MPP_FUNCTION(0x1, "dev", "wen0"),
+	   MPP_FUNCTION(0x1, "dev", "we0"),
 	   MPP_FUNCTION(0x2, "spi0", "mosi")),
 	MPP_MODE(35, "mpp35", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
-	   MPP_FUNCTION(0x1, "dev", "oen"),
+	   MPP_FUNCTION(0x1, "dev", "oe"),
 	   MPP_FUNCTION(0x2, "spi0", "sck")),
 	MPP_MODE(36, "mpp36", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
@@ -346,13 +346,13 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
 	   MPP_FUNCTION(0x1, "dev", "ale1"),
 	   MPP_FUNCTION(0x2, "uart1", "rxd"),
 	   MPP_FUNCTION(0x3, "sata0", "prsnt"),
-	   MPP_FUNCTION(0x4, "pcie", "rst-out"),
+	   MPP_FUNCTION(0x4, "pcie", "rstout"),
 	   MPP_FUNCTION(0x5, "audio", "sdi")),
 	MPP_MODE(61, "mpp61", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpo", NULL),
-	   MPP_FUNCTION(0x1, "dev", "wen1"),
+	   MPP_FUNCTION(0x1, "dev", "we1"),
 	   MPP_FUNCTION(0x2, "uart1", "txd"),
-	   MPP_FUNCTION(0x5, "audio", "rclk")),
+	   MPP_FUNCTION(0x5, "audio", "lrclk")),
 	MPP_MODE(62, "mpp62", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
 	   MPP_FUNCTION(0x1, "dev", "a2"),
@@ -362,17 +362,17 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
 	   MPP_FUNCTION(0x5, "audio", "mclk"),
 	   MPP_FUNCTION(0x6, "uart0", "cts")),
 	MPP_MODE(63, "mpp63", armada_370_mpp_ctrl,
-	   MPP_FUNCTION(0x0, "gpo", NULL),
+	   MPP_FUNCTION(0x0, "gpio", NULL),
 	   MPP_FUNCTION(0x1, "spi0", "sck"),
 	   MPP_FUNCTION(0x2, "tclk", NULL)),
 	MPP_MODE(64, "mpp64", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
 	   MPP_FUNCTION(0x1, "spi0", "miso"),
-	   MPP_FUNCTION(0x2, "spi0-1", "cs1")),
+	   MPP_FUNCTION(0x2, "spi0", "cs1")),
 	MPP_MODE(65, "mpp65", armada_370_mpp_ctrl,
 	   MPP_FUNCTION(0x0, "gpio", NULL),
 	   MPP_FUNCTION(0x1, "spi0", "mosi"),
-	   MPP_FUNCTION(0x2, "spi0-1", "cs2")),
+	   MPP_FUNCTION(0x2, "spi0", "cs2")),
 };
 
 static struct mvebu_pinctrl_soc_info mv88f6710_pinctrl_info = {
diff --git a/drivers/pinctrl/mvebu/armada-xp.c b/drivers/pinctrl/mvebu/armada-xp.c
index f1bc8b498aac..b9c2aa47f1e5 100644
--- a/drivers/pinctrl/mvebu/armada-xp.c
+++ b/drivers/pinctrl/mvebu/armada-xp.c
@@ -53,7 +53,7 @@ enum armada_xp_variant {
 static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	MPP_MODE(0, "mpp0", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "ge0", "txclko",     V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x1, "ge0", "txclkout",   V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d0",         V_MV78230_PLUS)),
 	MPP_MODE(1, "mpp1", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
@@ -102,17 +102,19 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	MPP_MODE(12, "mpp12", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "txd4",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "ge1", "clkout",     V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x2, "ge1", "txclkout",   V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d12",        V_MV78230_PLUS)),
 	MPP_MODE(13, "mpp13", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "txd5",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "ge1", "txd0",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi1", "mosi",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d13",        V_MV78230_PLUS)),
 	MPP_MODE(14, "mpp14", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "txd6",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "ge1", "txd1",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi1", "sck",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d14",        V_MV78230_PLUS)),
 	MPP_MODE(15, "mpp15", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
@@ -123,11 +125,13 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "txclk",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "ge1", "txd3",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi1", "cs0",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d16",        V_MV78230_PLUS)),
 	MPP_MODE(17, "mpp17", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "col",        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "ge1", "txctl",      V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi1", "miso",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d17",        V_MV78230_PLUS)),
 	MPP_MODE(18, "mpp18", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
@@ -151,7 +155,7 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ge0", "rxd5",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "ge1", "rxd3",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "mem", "bat",        V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "dram", "bat",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "d21",        V_MV78230_PLUS)),
 	MPP_MODE(22, "mpp22", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
@@ -168,20 +172,17 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	MPP_MODE(24, "mpp24", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sata1", "prsnt",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "nf", "bootcs-re",   V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "rst",        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "hsync",      V_MV78230_PLUS)),
 	MPP_MODE(25, "mpp25", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sata0", "prsnt",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "nf", "bootcs-we",   V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "pclk",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "vsync",      V_MV78230_PLUS)),
 	MPP_MODE(26, "mpp26", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "fsync",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "lcd", "clk",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu1-pd",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x4, "lcd", "clk",        V_MV78230_PLUS)),
 	MPP_MODE(27, "mpp27", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ptp", "trig",       V_MV78230_PLUS),
@@ -196,8 +197,7 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "ptp", "clk",        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "int0",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "lcd", "ref-clk",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu0-pd",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x4, "lcd", "ref-clk",    V_MV78230_PLUS)),
 	MPP_MODE(30, "mpp30", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "clk",        V_MV78230_PLUS),
@@ -205,23 +205,23 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	MPP_MODE(31, "mpp31", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "cmd",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "tdm", "int2",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu0-pd",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "tdm", "int2",       V_MV78230_PLUS)),
 	MPP_MODE(32, "mpp32", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "d0",         V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "tdm", "int3",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu1-pd",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "tdm", "int3",       V_MV78230_PLUS)),
 	MPP_MODE(33, "mpp33", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "d1",         V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "int4",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "mem", "bat",        V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x4, "dram", "bat",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x5, "dram", "vttctrl",   V_MV78230_PLUS)),
 	MPP_MODE(34, "mpp34", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "d2",         V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "sata0", "prsnt",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "tdm", "int5",       V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "tdm", "int5",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x4, "dram", "deccerr",   V_MV78230_PLUS)),
 	MPP_MODE(35, "mpp35", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "sd0", "d3",         V_MV78230_PLUS),
@@ -229,74 +229,80 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	   MPP_VAR_FUNCTION(0x3, "tdm", "int6",       V_MV78230_PLUS)),
 	MPP_MODE(36, "mpp36", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "mosi",       V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "mosi",      V_MV78230_PLUS)),
 	MPP_MODE(37, "mpp37", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "miso",       V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "miso",      V_MV78230_PLUS)),
 	MPP_MODE(38, "mpp38", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "sck",        V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "sck",       V_MV78230_PLUS)),
 	MPP_MODE(39, "mpp39", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "cs0",        V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "cs0",       V_MV78230_PLUS)),
 	MPP_MODE(40, "mpp40", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "cs1",        V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "cs1",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart2", "cts",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "vdd", "cpu1-pd",    V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "vga-hsync",  V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq0",   V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq0",   V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs1",       V_MV78230_PLUS)),
 	MPP_MODE(41, "mpp41", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "spi", "cs2",        V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x1, "spi0", "cs2",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart2", "rts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "sata1", "prsnt",    V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "lcd", "vga-vsync",  V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq1",   V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq1",   V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs2",       V_MV78230_PLUS)),
 	MPP_MODE(42, "mpp42", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart2", "rxd",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart0", "cts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x3, "tdm", "int7",       V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "tdm-1", "timer",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu0-pd",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x4, "tdm", "timer",      V_MV78230_PLUS)),
 	MPP_MODE(43, "mpp43", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart2", "txd",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart0", "rts",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "spi", "cs3",        V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi0", "cs3",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "pcie", "rstout",    V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "vdd", "cpu2-3-pd",  V_MV78460)),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs3",       V_MV78230_PLUS)),
 	MPP_MODE(44, "mpp44", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart2", "cts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart3", "rxd",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "spi", "cs4",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "mem", "bat",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq2",   V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "spi0", "cs4",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x4, "dram", "bat",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq2",   V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs4",       V_MV78230_PLUS)),
 	MPP_MODE(45, "mpp45", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart2", "rts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart3", "txd",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "spi", "cs5",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "sata1", "prsnt",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "spi0", "cs5",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x4, "sata1", "prsnt",    V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x5, "dram", "vttctrl",   V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs5",       V_MV78230_PLUS)),
 	MPP_MODE(46, "mpp46", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart3", "rts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart1", "rts",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "spi", "cs6",        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x4, "sata0", "prsnt",    V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x3, "spi0", "cs6",       V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x4, "sata0", "prsnt",    V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs6",       V_MV78230_PLUS)),
 	MPP_MODE(47, "mpp47", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "uart3", "cts",      V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x2, "uart1", "cts",      V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x3, "spi", "cs7",        V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "spi0", "cs7",       V_MV78230_PLUS),
 	   MPP_VAR_FUNCTION(0x4, "ref", "clkout",     V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq3",   V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x5, "pcie", "clkreq3",   V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x6, "spi1", "cs7",       V_MV78230_PLUS)),
 	MPP_MODE(48, "mpp48", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "tclk", NULL,        V_MV78230_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "dev", "burst/last", V_MV78230_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "dev", "clkout",     V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x2, "dev", "burst/last", V_MV78230_PLUS),
+	   MPP_VAR_FUNCTION(0x3, "nand", "rb",        V_MV78230_PLUS)),
 	MPP_MODE(49, "mpp49", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78260_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "dev", "we3",        V_MV78260_PLUS)),
@@ -317,16 +323,13 @@ static struct mvebu_mpp_mode armada_xp_mpp_modes[] = {
 	   MPP_VAR_FUNCTION(0x1, "dev", "ad19",       V_MV78260_PLUS)),
 	MPP_MODE(55, "mpp55", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "dev", "ad20",       V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "vdd", "cpu0-pd",    V_MV78260_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "dev", "ad20",       V_MV78260_PLUS)),
 	MPP_MODE(56, "mpp56", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "dev", "ad21",       V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "vdd", "cpu1-pd",    V_MV78260_PLUS)),
+	   MPP_VAR_FUNCTION(0x1, "dev", "ad21",       V_MV78260_PLUS)),
 	MPP_MODE(57, "mpp57", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x1, "dev", "ad22",       V_MV78260_PLUS),
-	   MPP_VAR_FUNCTION(0x2, "vdd", "cpu2-3-pd",  V_MV78460)),
+	   MPP_VAR_FUNCTION(0x1, "dev", "ad22",       V_MV78260_PLUS)),
 	MPP_MODE(58, "mpp58", armada_xp_mpp_ctrl,
 	   MPP_VAR_FUNCTION(0x0, "gpio", NULL,        V_MV78260_PLUS),
 	   MPP_VAR_FUNCTION(0x1, "dev", "ad23",       V_MV78260_PLUS)),
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* Re: Loading kernel issues
From: Javier Fileiv @ 2016-10-18 16:56 UTC (permalink / raw)
  To: Juergen Borleis; +Cc: barebox
In-Reply-To: <CABvwO2AvfKwc==BhRfw14CzeX4ALwAFp5Zxn1t0MEj2bsn50zQ@mail.gmail.com>

Hi all!
Trying to autoboot from nand, I set my /env/config file like that (and
after that a "saveenv"). Although it doesn't work automaGically! :)

What do you think about this guys?
Thanks a lot!
(I'm gonna try the nfs mounting right now!)
mini2440:/ cat env/config
#!/bin/sh

machine=mini2440
user=

# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp

# or set your networking parameters here
#eth0.ipaddr=a.b.c.d
#eth0.netmask=a.b.c.d
#eth0.gateway=a.b.c.d
eth0.serverip=192.168.0.10
#eth0.ethaddr=a:b:b:d:e:f

# autoboot settings
# can be either 'tftp', 'nfs', 'nand' or 'mmc'
kernel_loc=nand
# can be either 'net', 'nand', 'initrd' or 'mmc'
rootfs_loc=nand
# can be either 'jffs2' or 'ubifs' for flash or 'ext3' for mmc
rootfs_type=jffs2

rootfsimage=root-${machine}.${rootfs_type}

# The image type of the kernel. Can be uimage, zimage, raw, or raw_lzo
#kernelimage_type=zimage
#kernelimage=zImage-${machine}
kernelimage_type=uimage
kernelimage=uImage-$machine
#kernelimage_type=raw
#kernelimage=Image-$machine
#kernelimage_type=raw_lzo
#kernelimage=Image-$machine.lzo

# the name of the barebox image used by the update script
bareboximage=barebox-$machine

# the name of the barebox default environment used by the update script
bareboxenvimage=barebox-environment-$machine

if [ -n $user ]; then
kernelimage="${user}"-"${kernelimage}"
nfsroot="${eth0.serverip}:/home/${user}/nfsroot/${machine}"
rootfsimage="${user}"-"${rootfsimage}"
else
nfsroot="/path/to/nfs/root"
fi

autoboot_timeout=3

if [ -e /dev/nor0 ]; then
       nor_parts="512k(barebox)"

       # Skip autoboot if not booting from NAND
       autoboot_disable=1
fi

#
# "mini2440" kernel parameter
# 0 .. 9 = screen type
# b = backlight enabled
# t = touch enabled
# c = camera enabled
# Note: can be "mini2440= " if nothing of these components are connected
#
bootargs="console=ttySAC0,115200 mini2440=0tbc rootdelay=5"

# NAND boot settings
# Device name used by the kernel
nand_device="nand"
# partition definition in the NAND
nand_parts="512k(barebox),384k(bareboxenv),2048k(kernel),-(root)"
# rootfs's partition number in the NAND
rootfs_mtdblock_nand=3
# used when manually booting with "boot nand" command
rootfs_mtdblock_type=jffs2

# MMC/SD boot settings
# partition number to read the kernel from
# (starting with # 0, Barebox's counting scheme)
kernel_mmc_part=0
# rootfs's partition number
# (starting with # 1, Kernel's counting scheme)
rootfs_mmc_part=2
# used when manually booting with "boot mmc" command
rootfs_mmc_type=ext2

2016-10-18 10:24 GMT+02:00 Javier Fileiv <javier.fileiv@gmail.com>:
> Yes I did it and the values are ok. When I get home I'll send my config file!
>
> Thanks
>
> 2016-10-18 10:17 GMT+02:00 Juergen Borleis <jbe@pengutronix.de>:
>> Hi Javier,
>>
>> On Sunday 16 October 2016 23:06:15 Javier Fileiv wrote:
>>> I've just flashed barebox on my Mini2440. I have 2 questions/issues now
>>>
>>> 1) When trying to load the kernel from TFTP, everything is ok but when
>>> it's trying to mount the rootfs something is not working, even though
>>> I set the rootdelay param to 5 secs.
>>>
>>> 2) I tried also the boot from nand and is working just fine, but there
>>> no is auto boot when reseting the board... it just give me the barebox
>>> prompt each time, and if i run from there boot nand it works OK, but
>>> no automaGically. :)
>>
>> Did you modify the "/env/config"[1] file to define the default boot source?
>>
>> Cheers,
>> Juergen
>>
>> [1] "kernel_loc" and "rootfs_loc"
>>
>> --
>> Pengutronix e.K.                              | Juergen Borleis             |
>> Industrial Linux Solutions                    | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* [PATCH] arm: Baltos: setup MPU PLL to run at 600MHz
From: yegorslists @ 2016-10-18 12:24 UTC (permalink / raw)
  To: barebox

From: Yegor Yefremov <yegorslists@googlemail.com>

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
 arch/arm/boards/vscom-baltos/lowlevel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boards/vscom-baltos/lowlevel.c b/arch/arm/boards/vscom-baltos/lowlevel.c
index 8bce91a..87f2a74 100644
--- a/arch/arm/boards/vscom-baltos/lowlevel.c
+++ b/arch/arm/boards/vscom-baltos/lowlevel.c
@@ -93,7 +93,7 @@ static noinline int baltos_sram_init(void)
 	while (__raw_readl(AM33XX_WDT_REG(WWPS)) != 0x0);
 
 	/* Setup the PLLs and the clocks for the peripherals */
-	am33xx_pll_init(MPUPLL_M_500, DDRPLL_M_400);
+	am33xx_pll_init(MPUPLL_M_600, DDRPLL_M_400);
 	am335x_sdram_init(0x18B, &ddr3_cmd_ctrl, &ddr3_regs, &ddr3_data);
 	sdram_size = get_ram_size((void *)0x80000000, (1024 << 20));
 	if (sdram_size == SZ_256M)
-- 
2.1.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* Re: Loading kernel issues
From: Javier Fileiv @ 2016-10-18  8:24 UTC (permalink / raw)
  To: Juergen Borleis; +Cc: barebox
In-Reply-To: <201610181017.27843.jbe@pengutronix.de>

Yes I did it and the values are ok. When I get home I'll send my config file!

Thanks

2016-10-18 10:17 GMT+02:00 Juergen Borleis <jbe@pengutronix.de>:
> Hi Javier,
>
> On Sunday 16 October 2016 23:06:15 Javier Fileiv wrote:
>> I've just flashed barebox on my Mini2440. I have 2 questions/issues now
>>
>> 1) When trying to load the kernel from TFTP, everything is ok but when
>> it's trying to mount the rootfs something is not working, even though
>> I set the rootdelay param to 5 secs.
>>
>> 2) I tried also the boot from nand and is working just fine, but there
>> no is auto boot when reseting the board... it just give me the barebox
>> prompt each time, and if i run from there boot nand it works OK, but
>> no automaGically. :)
>
> Did you modify the "/env/config"[1] file to define the default boot source?
>
> Cheers,
> Juergen
>
> [1] "kernel_loc" and "rootfs_loc"
>
> --
> Pengutronix e.K.                              | Juergen Borleis             |
> Industrial Linux Solutions                    | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* Re: Loading kernel issues
From: Juergen Borleis @ 2016-10-18  8:17 UTC (permalink / raw)
  To: Javier Fileiv; +Cc: barebox
In-Reply-To: <CABvwO2ARpHSzYE6Y3JrfFAQ2jEzw3EXfP36goL6kPogcBbNLKQ@mail.gmail.com>

Hi Javier,

On Sunday 16 October 2016 23:06:15 Javier Fileiv wrote:
> I've just flashed barebox on my Mini2440. I have 2 questions/issues now
>
> 1) When trying to load the kernel from TFTP, everything is ok but when
> it's trying to mount the rootfs something is not working, even though
> I set the rootdelay param to 5 secs.
>
> 2) I tried also the boot from nand and is working just fine, but there
> no is auto boot when reseting the board... it just give me the barebox
> prompt each time, and if i run from there boot nand it works OK, but
> no automaGically. :)

Did you modify the "/env/config"[1] file to define the default boot source?

Cheers,
Juergen

[1] "kernel_loc" and "rootfs_loc"

-- 
Pengutronix e.K.                              | Juergen Borleis             |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* [PATCH] ARM: bootm: Fix free_mem calculation when initrd is given
From: Sascha Hauer @ 2016-10-18  7:50 UTC (permalink / raw)
  To: Barebox List

When a initrd is given we calculate the next free memory position
as:
free_mem = PAGE_ALIGN(initrd_end);
This is wrong when initrd_end exactly falls on a page boundary.
In this case PAGE_ALIGN() does nothing and free_mem becomes
initrd_end and the following bootm_load_devicetree() and thus
booting fails with -ENOMEM.

Fix this by correctly advancing to the next free memory position.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 arch/arm/lib/bootm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 56663fe..9f3d950 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -158,7 +158,7 @@ static int __do_bootm_linux(struct image_data *data, unsigned long free_mem, int
 		initrd_start = data->initrd_res->start;
 		initrd_end = data->initrd_res->end;
 		initrd_size = resource_size(data->initrd_res);
-		free_mem = PAGE_ALIGN(initrd_end);
+		free_mem = PAGE_ALIGN(initrd_end + 1);
 	}
 
 	ret = bootm_load_devicetree(data, free_mem);
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox