[U-Boot] Please pull u-boot-sunxi master (fixes for v2015.07)

Hi Tom,
Please pull u-boot-sunxi/master into master for two bug-fixes, and one new board:
The following changes since commit 325849ff3d4adeebb8f8f9bc5db950724df9bc21:
Merge git://git.denx.de/u-boot-usb (2015-06-19 16:46:51 -0400)
are available in the git repository at:
http://git.denx.de/u-boot-sunxi.git master
for you to fetch changes up to cbf389d94bf300a38d0a26f5aab2efbc9d76a56c:
sunxi: Add Sinlinx SinA33 defconfig (2015-06-26 11:56:33 +0200)
---------------------------------------------------------------- Chen-Yu Tsai (5): sunxi: hardware-feature-specific function index defines for PORT F UART0 sunxi: rsb: Enable R_PIO clock before configuring external pins sunxi: Add support for UART0 in PB pin group on A33 sunxi: Sync sun8i dts files with the linux kernel sunxi: Add Sinlinx SinA33 defconfig
arch/arm/cpu/armv7/sunxi/board.c | 12 ++- arch/arm/cpu/armv7/sunxi/rsb.c | 5 +- arch/arm/dts/Makefile | 3 +- arch/arm/dts/sun8i-a23-a33.dtsi | 10 +++ arch/arm/dts/sun8i-a33-sinlinx-sina33.dts | 129 ++++++++++++++++++++++++++++++ arch/arm/dts/sun8i-a33.dtsi | 8 ++ arch/arm/include/asm/arch-sunxi/gpio.h | 1 + board/sunxi/MAINTAINERS | 6 ++ configs/Sinlinx_SinA33_defconfig | 8 ++ 9 files changed, 175 insertions(+), 7 deletions(-) create mode 100644 arch/arm/dts/sun8i-a33-sinlinx-sina33.dts create mode 100644 configs/Sinlinx_SinA33_defconfig
Thanks & Regards,
Hans

On Fri, Jun 26, 2015 at 12:13:51PM +0200, Hans de Goede wrote:
Hi Tom,
Please pull u-boot-sunxi/master into master for two bug-fixes, and one new board:
The following changes since commit 325849ff3d4adeebb8f8f9bc5db950724df9bc21:
Merge git://git.denx.de/u-boot-usb (2015-06-19 16:46:51 -0400)
are available in the git repository at:
http://git.denx.de/u-boot-sunxi.git master
for you to fetch changes up to cbf389d94bf300a38d0a26f5aab2efbc9d76a56c:
sunxi: Add Sinlinx SinA33 defconfig (2015-06-26 11:56:33 +0200)
NAK, this needs a rework now, sorry! Joe's changes mean the new defconfig needs updating.

Hi,
On 26-06-15 23:05, Tom Rini wrote:
On Fri, Jun 26, 2015 at 12:13:51PM +0200, Hans de Goede wrote:
Hi Tom,
Please pull u-boot-sunxi/master into master for two bug-fixes, and one new board:
The following changes since commit 325849ff3d4adeebb8f8f9bc5db950724df9bc21:
Merge git://git.denx.de/u-boot-usb (2015-06-19 16:46:51 -0400)
are available in the git repository at:
http://git.denx.de/u-boot-sunxi.git master
for you to fetch changes up to cbf389d94bf300a38d0a26f5aab2efbc9d76a56c:
sunxi: Add Sinlinx SinA33 defconfig (2015-06-26 11:56:33 +0200)
NAK, this needs a rework now, sorry! Joe's changes mean the new defconfig needs updating.
Ugh, I'm somewhat surprised with these changes, both with the contents of the changes, as with changes like these landing so late in the cycle, esp. since these are not uncontroversial.
I've the feeling that these were merged without proper discussion which is not good, and is esp. bad when it is done so late in the cycle.
In essense these changes revert my earlier commit where I explictly added:
config CMD_SETEXPR default y
config CMD_NET default y
And not only does the just merged series revert these changes, to make things worse it adds a whole lot more crap to the sunxi defconfigs.
Excuse my language but I've no other words for this, something which we want enabled on every single sunxi board does not belong in the defconfigs, we now have defconfig files where more of the lines are this crap / noise, rather then actual board config, we really need a better solution for providing per SoC defaults then just having them all in the defconfig, having them all in the defconfig is crazy, esp. as more and more compile time config gets moved into Kconfig.
So once more I find both the contents and the time of merging of this patch-set ill advised, and I'm NOT happy with these changes.
Regards,
Hans

On Sun, Jun 28, 2015 at 05:39:28PM +0200, Hans de Goede wrote:
Hi,
On 26-06-15 23:05, Tom Rini wrote:
On Fri, Jun 26, 2015 at 12:13:51PM +0200, Hans de Goede wrote:
Hi Tom,
Please pull u-boot-sunxi/master into master for two bug-fixes, and one new board:
The following changes since commit 325849ff3d4adeebb8f8f9bc5db950724df9bc21:
Merge git://git.denx.de/u-boot-usb (2015-06-19 16:46:51 -0400)
are available in the git repository at:
http://git.denx.de/u-boot-sunxi.git master
for you to fetch changes up to cbf389d94bf300a38d0a26f5aab2efbc9d76a56c:
sunxi: Add Sinlinx SinA33 defconfig (2015-06-26 11:56:33 +0200)
NAK, this needs a rework now, sorry! Joe's changes mean the new defconfig needs updating.
Ugh, I'm somewhat surprised with these changes, both with the contents of the changes, as with changes like these landing so late in the cycle, esp. since these are not uncontroversial.
I've the feeling that these were merged without proper discussion which is not good, and is esp. bad when it is done so late in the cycle.
Yeah, it's a bit later than I'd have liked, but I asked Joe to get these done because they help clean things up. For example:
In essense these changes revert my earlier commit where I explictly added:
config CMD_SETEXPR default y
config CMD_NET default y
Right. Your change kept sunxi boards from suddenly losing those features to prevent breakage (which is good, and why I allowed it at the time), but at the expense of adding lines to each of the sunxi defconfig files (which is why these lines ended up in each of the sunxi defconfg files, yes?) and didn't help all of the other SoCs out. What Joe's changes do is remove them from the defconfig files under configs/ _and_ restore the original behaviour.
And not only does the just merged series revert these changes, to make things worse it adds a whole lot more crap to the sunxi defconfigs.
It does in that it's now a direct translation of crap that used to be in the config.h files (and done just once, true). The next step is to instead add smarts to the Kconfig logic so that if we don't have NOR-style flash we don't ever ask about CMD_IMLS/CMD_FLASH and make CMD_FPGA depend on FPGA being set.
We're trying to skip over the period of linux kernel history where the defconfig files were hand-controlled files that had lots of board-specific knowledge in them. But at the same time, we can't kick out nearly as much of that information as they were able to because...
Excuse my language but I've no other words for this, something which we want enabled on every single sunxi board does not belong in the defconfigs, we now have defconfig files where more of the lines are this crap / noise, rather then actual board config, we really need a better solution for providing per SoC defaults then just having them all in the defconfig, having them all in the defconfig is crazy, esp. as more and more compile time config gets moved into Kconfig.
The problem is that defconfig files are maintained by 'savedefconfig' and yes, perhaps we'll have to come up with something different than the solution the kernel did of "having stuff stored in defconfigs is annoying, lets move it to device trees". Maybe we need to be less strict than (how it seems to me about) how the kernel community is about settings defaults in Kconfig.
So once more I find both the contents and the time of merging of this patch-set ill advised, and I'm NOT happy with these changes.
I will take it into consideration that maybe I should be stricter about the merge window and treat things more like the kernel rules (everything goes in, in first two weeks) instead of how I had been doing things (everything ought to be posted close to, except for things that I ask people to get done based on other stuff..). Thanks for the feedback!

Hi,
On 28-06-15 18:06, Tom Rini wrote:
On Sun, Jun 28, 2015 at 05:39:28PM +0200, Hans de Goede wrote:
Hi,
On 26-06-15 23:05, Tom Rini wrote:
On Fri, Jun 26, 2015 at 12:13:51PM +0200, Hans de Goede wrote:
Hi Tom,
Please pull u-boot-sunxi/master into master for two bug-fixes, and one new board:
The following changes since commit 325849ff3d4adeebb8f8f9bc5db950724df9bc21:
Merge git://git.denx.de/u-boot-usb (2015-06-19 16:46:51 -0400)
are available in the git repository at:
http://git.denx.de/u-boot-sunxi.git master
for you to fetch changes up to cbf389d94bf300a38d0a26f5aab2efbc9d76a56c:
sunxi: Add Sinlinx SinA33 defconfig (2015-06-26 11:56:33 +0200)
NAK, this needs a rework now, sorry! Joe's changes mean the new defconfig needs updating.
Ugh, I'm somewhat surprised with these changes, both with the contents of the changes, as with changes like these landing so late in the cycle, esp. since these are not uncontroversial.
I've the feeling that these were merged without proper discussion which is not good, and is esp. bad when it is done so late in the cycle.
Yeah, it's a bit later than I'd have liked, but I asked Joe to get these done because they help clean things up. For example:
In essense these changes revert my earlier commit where I explictly added:
config CMD_SETEXPR default y
config CMD_NET default y
Right. Your change kept sunxi boards from suddenly losing those features to prevent breakage (which is good, and why I allowed it at the time), but at the expense of adding lines to each of the sunxi defconfig files (which is why these lines ended up in each of the sunxi defconfg files, yes?)
That is not how I see it, with my change for sunxi boards the default for these options was y, so they did not end up in the deconfigs with Joe's recent changes removed the above 4 lines from board/sunxi/Kconfig now all of a sudden all sunxi defconfig files need these lines, it is Joe's changes which have caused a ton of extra lines to be added to the sunxi defconfigs not mine, specifically this commit:
http://git.denx.de/?p=u-boot.git;a=commit;h=c9bb942e2f91d9f8e5f25ed1961eba2d...
Which does:
--- a/board/sunxi/Kconfig +++ b/board/sunxi/Kconfig @@ -566,25 +566,4 @@ config GMAC_TX_DELAY ---help--- Set the GMAC Transmit Clock Delay Chain value.
-config SYS_MALLOC_CLEAR_ON_INIT - default n - -config NETDEVICES - default y - -config DM_ETH - default y - -config DM_SERIAL - default y - -config DM_USB - default y if !USB_MUSB_SUNXI - -config CMD_SETEXPR - default y - -config CMD_NET - default y - endif
Which result in the following "matching" change for 60+ sunxi defconfig's : --- a/configs/A10-OLinuXino-Lime_defconfig +++ b/configs/A10-OLinuXino-Lime_defconfig @@ -5,5 +5,13 @@ CONFIG_DRAM_CLK=480 CONFIG_DRAM_EMR1=4 CONFIG_SYS_CLK_FREQ=912000000 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_SPL=y CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI" +CONFIG_CMD_SETEXPR=y +CONFIG_CMD_NET=y +CONFIG_DM_ETH=y +CONFIG_NETDEVICES=y +CONFIG_DM_SERIAL=y +CONFIG_USB=y +CONFIG_DM_USB=y
and didn't help all of the other SoCs out. What Joe's changes do is remove them from the defconfig files under configs/ _and_ restore the original behaviour.
No what Joe's changes have them is ADD them to the defconfig files under configs/ and force the new behavior of all things defaulting to off unless explictly enabled in defconfig, resulting in 8 * 61 = 488 extra lines in sunxi defconfig's alone.
And for some reason Joe has not only done these change for CONFIG_CMD_* but also for other unrelated options like CONFIG_DM_* which is really BAD, as sunxi has been completely moved over to the device model and simply will not build nor run when CONFIG_DM and friends are not set.
And not only does the just merged series revert these changes, to make things worse it adds a whole lot more crap to the sunxi defconfigs.
It does in that it's now a direct translation of crap that used to be in the config.h files (and done just once, true). The next step is to instead add smarts to the Kconfig logic so that if we don't have NOR-style flash we don't ever ask about CMD_IMLS/CMD_FLASH and make CMD_FPGA depend on FPGA being set.
We're trying to skip over the period of linux kernel history where the defconfig files were hand-controlled files that had lots of board-specific knowledge in them. But at the same time, we can't kick out nearly as much of that information as they were able to because...
The latest patch-series seems to do the exact reverse. More knowledge is being moved away from a central place and into defconfig files. As said ARCH_SUNXI builds must always have CONFIG_DM* set, and yet now all sunxi defconfig files need to set that explicitly.
Excuse my language but I've no other words for this, something which we want enabled on every single sunxi board does not belong in the defconfigs, we now have defconfig files where more of the lines are this crap / noise, rather then actual board config, we really need a better solution for providing per SoC defaults then just having them all in the defconfig, having them all in the defconfig is crazy, esp. as more and more compile time config gets moved into Kconfig.
The problem is that defconfig files are maintained by 'savedefconfig' and yes, perhaps we'll have to come up with something different than the solution the kernel did of "having stuff stored in defconfigs is annoying, lets move it to device trees". Maybe we need to be less strict than (how it seems to me about) how the kernel community is about settings defaults in Kconfig.
So once more I find both the contents and the time of merging of this patch-set ill advised, and I'm NOT happy with these changes.
I will take it into consideration that maybe I should be stricter about the merge window and treat things more like the kernel rules (everything goes in, in first two weeks) instead of how I had been doing things (everything ought to be posted close to, except for things that I ask people to get done based on other stuff..).
I'm actually usually quite happy about you not being overly strict with the merge window, I believe things work well in general. But this latest series feels like it was rushed in while it should have been discussed more, esp. this late in the cycle.
Regards,
Hans

On Tue, 2015-06-30 at 15:11 +0200, Hans de Goede wrote: [...]
The latest patch-series seems to do the exact reverse. More knowledge is being moved away from a central place and into defconfig files. As said ARCH_SUNXI builds must always have CONFIG_DM* set, and yet now all sunxi defconfig files need to set that explicitly.
CONFIG_DM* seems like the sort of thing which ought to be select'd not default y'd (it's never really an user "option", it's something something else needs), but the recent change seems like a step in the wrong direction either way.
Ian.

Hi,
On 30-06-15 15:30, Ian Campbell wrote:
On Tue, 2015-06-30 at 15:11 +0200, Hans de Goede wrote: [...]
The latest patch-series seems to do the exact reverse. More knowledge is being moved away from a central place and into defconfig files. As said ARCH_SUNXI builds must always have CONFIG_DM* set, and yet now all sunxi defconfig files need to set that explicitly.
CONFIG_DM* seems like the sort of thing which ought to be select'd not default y'd
ACK. The problem is that there are some other not entirely clean Kconfig bits un the u-boot tree which causes Kconfig to explain about circular deps last time I tried to select them. Still I agree we need to move to selecting these and fix any other issues this triggers.
Regards,
Hans

Hi Ian,
On Tue, Jun 30, 2015 at 8:30 AM, Ian Campbell ijc@hellion.org.uk wrote:
On Tue, 2015-06-30 at 15:11 +0200, Hans de Goede wrote: [...]
The latest patch-series seems to do the exact reverse. More knowledge is being moved away from a central place and into defconfig files. As said ARCH_SUNXI builds must always have CONFIG_DM* set, and yet now all sunxi defconfig files need to set that explicitly.
CONFIG_DM* seems like the sort of thing which ought to be select'd not default y'd (it's never really an user "option", it's something something else needs), but the recent change seems like a step in the wrong direction either way.
I agree that the DM configs should be selects where there is no other option (that will usually, maybe always, be the case with those, right?).
I can see where the recent changes appear to be a step in the wrong direction, but I believe they are a step out of an unmanageable local minima. We simply have to get away from defining configs in arch or board Kconfigs. Unfortunately, the current mechanism for changing defaults requires this.
I do not believe that we should do nothing further to improve the way we use Kconfig, but I do believe strongly that we cannot allow this approach to defaults to proliferate.
For your specific case, sunxi defconfigs should be no different if you decide to "select" the DM options that always apply. Perhaps you didn't look at the next patch which moved all default commands into the Kconfig where those configs are actually defined?
Cheers, -Joe

On Tue, Jun 30, 2015 at 10:48:20AM -0500, Joe Hershberger wrote:
Hi Ian,
On Tue, Jun 30, 2015 at 8:30 AM, Ian Campbell ijc@hellion.org.uk wrote:
On Tue, 2015-06-30 at 15:11 +0200, Hans de Goede wrote: [...]
The latest patch-series seems to do the exact reverse. More knowledge is being moved away from a central place and into defconfig files. As said ARCH_SUNXI builds must always have CONFIG_DM* set, and yet now all sunxi defconfig files need to set that explicitly.
CONFIG_DM* seems like the sort of thing which ought to be select'd not default y'd (it's never really an user "option", it's something something else needs), but the recent change seems like a step in the wrong direction either way.
I agree that the DM configs should be selects where there is no other option (that will usually, maybe always, be the case with those, right?).
I can see where the recent changes appear to be a step in the wrong direction, but I believe they are a step out of an unmanageable local minima. We simply have to get away from defining configs in arch or board Kconfigs. Unfortunately, the current mechanism for changing defaults requires this.
Both the Kconfig and DM transition mean that we'll probably end up with some ugly bits for a while. But I want to take a poke around again and see if it can be a bit better now, today.
I do not believe that we should do nothing further to improve the way we use Kconfig, but I do believe strongly that we cannot allow this approach to defaults to proliferate.
For your specific case, sunxi defconfigs should be no different if you decide to "select" the DM options that always apply. Perhaps you didn't look at the next patch which moved all default commands into the Kconfig where those configs are actually defined?
No, checkout say configs/A10-OLinuXino-Lime_defconfig and see all of the DM_* stuff that's in there. Hans' point is that it shouldn't be since they must be set. Having them correct in the config files (IMHO) helps, but Hans' point I believe (And I see the validity there, there's _60_ sunxi boards today and more every week practically) is that making each new board set this is wrong on many levels.

On Tue, Jun 30, 2015 at 03:11:02PM +0200, Hans de Goede wrote:
Hi,
On 28-06-15 18:06, Tom Rini wrote:
On Sun, Jun 28, 2015 at 05:39:28PM +0200, Hans de Goede wrote:
Hi,
On 26-06-15 23:05, Tom Rini wrote:
On Fri, Jun 26, 2015 at 12:13:51PM +0200, Hans de Goede wrote:
Hi Tom,
Please pull u-boot-sunxi/master into master for two bug-fixes, and one new board:
The following changes since commit 325849ff3d4adeebb8f8f9bc5db950724df9bc21:
Merge git://git.denx.de/u-boot-usb (2015-06-19 16:46:51 -0400)
are available in the git repository at:
http://git.denx.de/u-boot-sunxi.git master
for you to fetch changes up to cbf389d94bf300a38d0a26f5aab2efbc9d76a56c:
sunxi: Add Sinlinx SinA33 defconfig (2015-06-26 11:56:33 +0200)
NAK, this needs a rework now, sorry! Joe's changes mean the new defconfig needs updating.
Ugh, I'm somewhat surprised with these changes, both with the contents of the changes, as with changes like these landing so late in the cycle, esp. since these are not uncontroversial.
I've the feeling that these were merged without proper discussion which is not good, and is esp. bad when it is done so late in the cycle.
Yeah, it's a bit later than I'd have liked, but I asked Joe to get these done because they help clean things up. For example:
In essense these changes revert my earlier commit where I explictly added:
config CMD_SETEXPR default y
config CMD_NET default y
Right. Your change kept sunxi boards from suddenly losing those features to prevent breakage (which is good, and why I allowed it at the time), but at the expense of adding lines to each of the sunxi defconfig files (which is why these lines ended up in each of the sunxi defconfg files, yes?)
That is not how I see it, with my change for sunxi boards the default for these options was y, so they did not end up in the deconfigs with Joe's recent changes removed the above 4 lines from board/sunxi/Kconfig now all of a sudden all sunxi defconfig files need these lines, it is Joe's changes which have caused a ton of extra lines to be added to the sunxi defconfigs not mine, specifically this commit:
http://git.denx.de/?p=u-boot.git;a=commit;h=c9bb942e2f91d9f8e5f25ed1961eba2d...
Which does:
--- a/board/sunxi/Kconfig +++ b/board/sunxi/Kconfig @@ -566,25 +566,4 @@ config GMAC_TX_DELAY ---help--- Set the GMAC Transmit Clock Delay Chain value.
-config SYS_MALLOC_CLEAR_ON_INIT
default n
-config NETDEVICES
default y
-config DM_ETH
default y
-config DM_SERIAL
default y
-config DM_USB
default y if !USB_MUSB_SUNXI
-config CMD_SETEXPR
default y
-config CMD_NET
default y
endif
Which result in the following "matching" change for 60+ sunxi defconfig's : --- a/configs/A10-OLinuXino-Lime_defconfig +++ b/configs/A10-OLinuXino-Lime_defconfig @@ -5,5 +5,13 @@ CONFIG_DRAM_CLK=480 CONFIG_DRAM_EMR1=4 CONFIG_SYS_CLK_FREQ=912000000 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_SPL=y CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI" +CONFIG_CMD_SETEXPR=y +CONFIG_CMD_NET=y +CONFIG_DM_ETH=y +CONFIG_NETDEVICES=y +CONFIG_DM_SERIAL=y +CONFIG_USB=y +CONFIG_DM_USB=y
OK, I see part of the problem. One part of the problem, and this probably isn't just a sunxi thing, is that arch/arm/Kconfig::config ARCH_SUNXI hasn't been getting updated with select's like it should.
If we do: diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0829235..48319c1 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -646,6 +646,9 @@ config ARCH_SUNXI bool "Support sunxi (Allwinner) SoCs" select DM select DM_GPIO + select DM_ETH + select DM_SERIAL + select DM_USB if USB_EHCI_HCD select OF_CONTROL select OF_SEPARATE select SPL_DISABLE_OF_CONTROL
We get: diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig index 6445b25..a8aa8d2 100644 --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig @@ -8,12 +8,10 @@ CONFIG_USB0_VBUS_DET="PH5" CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime2" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_SPL=y -CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI" +CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set -CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y -CONFIG_DM_SERIAL=y CONFIG_USB=y -CONFIG_DM_USB=y +CONFIG_USB_EHCI_HCD=y
Which is much closer to what you were asking for, right Hans? That still leaves CONFIG_SYS_MALLOC_CLEAR_ON_INIT=n being added in each case but that's a performance per-board tweak (and something that frankly we need to pencil in making a global change for).
(And yes, I did a manual conversion from SYS_EXTRA_OPTIONS to USB_EHCI_HCD in there).

Hi,
On 06/30/2015 07:52 PM, Tom Rini wrote:
On Tue, Jun 30, 2015 at 03:11:02PM +0200, Hans de Goede wrote:
Hi,
On 28-06-15 18:06, Tom Rini wrote:
On Sun, Jun 28, 2015 at 05:39:28PM +0200, Hans de Goede wrote:
Hi,
On 26-06-15 23:05, Tom Rini wrote:
On Fri, Jun 26, 2015 at 12:13:51PM +0200, Hans de Goede wrote:
Hi Tom,
Please pull u-boot-sunxi/master into master for two bug-fixes, and one new board:
The following changes since commit 325849ff3d4adeebb8f8f9bc5db950724df9bc21:
Merge git://git.denx.de/u-boot-usb (2015-06-19 16:46:51 -0400)
are available in the git repository at:
http://git.denx.de/u-boot-sunxi.git master
for you to fetch changes up to cbf389d94bf300a38d0a26f5aab2efbc9d76a56c:
sunxi: Add Sinlinx SinA33 defconfig (2015-06-26 11:56:33 +0200)
NAK, this needs a rework now, sorry! Joe's changes mean the new defconfig needs updating.
Ugh, I'm somewhat surprised with these changes, both with the contents of the changes, as with changes like these landing so late in the cycle, esp. since these are not uncontroversial.
I've the feeling that these were merged without proper discussion which is not good, and is esp. bad when it is done so late in the cycle.
Yeah, it's a bit later than I'd have liked, but I asked Joe to get these done because they help clean things up. For example:
In essense these changes revert my earlier commit where I explictly added:
config CMD_SETEXPR default y
config CMD_NET default y
Right. Your change kept sunxi boards from suddenly losing those features to prevent breakage (which is good, and why I allowed it at the time), but at the expense of adding lines to each of the sunxi defconfig files (which is why these lines ended up in each of the sunxi defconfg files, yes?)
That is not how I see it, with my change for sunxi boards the default for these options was y, so they did not end up in the deconfigs with Joe's recent changes removed the above 4 lines from board/sunxi/Kconfig now all of a sudden all sunxi defconfig files need these lines, it is Joe's changes which have caused a ton of extra lines to be added to the sunxi defconfigs not mine, specifically this commit:
http://git.denx.de/?p=u-boot.git;a=commit;h=c9bb942e2f91d9f8e5f25ed1961eba2d...
Which does:
--- a/board/sunxi/Kconfig +++ b/board/sunxi/Kconfig @@ -566,25 +566,4 @@ config GMAC_TX_DELAY ---help--- Set the GMAC Transmit Clock Delay Chain value.
-config SYS_MALLOC_CLEAR_ON_INIT
default n
-config NETDEVICES
default y
-config DM_ETH
default y
-config DM_SERIAL
default y
-config DM_USB
default y if !USB_MUSB_SUNXI
-config CMD_SETEXPR
default y
-config CMD_NET
default y
- endif
Which result in the following "matching" change for 60+ sunxi defconfig's : --- a/configs/A10-OLinuXino-Lime_defconfig +++ b/configs/A10-OLinuXino-Lime_defconfig @@ -5,5 +5,13 @@ CONFIG_DRAM_CLK=480 CONFIG_DRAM_EMR1=4 CONFIG_SYS_CLK_FREQ=912000000 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_SPL=y CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI" +CONFIG_CMD_SETEXPR=y +CONFIG_CMD_NET=y +CONFIG_DM_ETH=y +CONFIG_NETDEVICES=y +CONFIG_DM_SERIAL=y +CONFIG_USB=y +CONFIG_DM_USB=y
OK, I see part of the problem. One part of the problem, and this probably isn't just a sunxi thing, is that arch/arm/Kconfig::config ARCH_SUNXI hasn't been getting updated with select's like it should.
If we do: diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0829235..48319c1 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -646,6 +646,9 @@ config ARCH_SUNXI bool "Support sunxi (Allwinner) SoCs" select DM select DM_GPIO
- select DM_ETH
- select DM_SERIAL
- select DM_USB if USB_EHCI_HCD select OF_CONTROL select OF_SEPARATE select SPL_DISABLE_OF_CONTROL
We get: diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig index 6445b25..a8aa8d2 100644 --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig @@ -8,12 +8,10 @@ CONFIG_USB0_VBUS_DET="PH5" CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime2" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_SPL=y -CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI" +CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set -CONFIG_DM_ETH=y CONFIG_ETH_DESIGNWARE=y -CONFIG_DM_SERIAL=y CONFIG_USB=y -CONFIG_DM_USB=y +CONFIG_USB_EHCI_HCD=y
Which is much closer to what you were asking for, right Hans? That still leaves CONFIG_SYS_MALLOC_CLEAR_ON_INIT=n being added in each case but that's a performance per-board tweak (and something that frankly we need to pencil in making a global change for).
(And yes, I did a manual conversion from SYS_EXTRA_OPTIONS to USB_EHCI_HCD in there).
Right, I've been working on a patch doing pretty much the same tonight, but then for all sunxi boards. I will post this patch later today, note this is intended for the next cycle, for now lets just keep things as is in v2015.07-rc3 ,
Regards,
Hans
participants (4)
-
Hans de Goede
-
Ian Campbell
-
Joe Hershberger
-
Tom Rini