Skip to contentSkip to conversation

Please pull u-boot-sunxi master (fixes for v2015.07)

U-Boot NAK Hans de Goede 4 participants 11 messages Jun 26, 2015 – Jun 30, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
Quoted 9 lines · Hans de Goede

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)

Quoted 8 lines

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.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150626/81e27709/attachment.sig>
#2 lore raw

Hi,

Quoted 15 lines · Tom Rini
Quoted 13 lines · Hans de Goede

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

Quoted 7 lines
Quoted 4 lines

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

#3 lore raw
Quoted 26 lines · Hans de Goede

Hi,

Quoted 15 lines · Tom Rini
Quoted 13 lines · Hans de Goede

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

Quoted 7 lines
Quoted 4 lines

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.

Quoted 7 lines

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:

Quoted 7 lines

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.

Quoted 2 lines

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...

Quoted 7 lines

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.

Quoted 2 lines

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!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150628/fb18b6cd/attachment.sig>
#4 lore raw

Hi,

Quoted 43 lines · Tom Rini
Quoted 26 lines · Hans de Goede

Hi,

Quoted 15 lines · Tom Rini
Quoted 13 lines · Hans de Goede

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

Quoted 7 lines
Quoted 4 lines

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.

Quoted 7 lines

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:

Quoted 5 lines

In essense these changes revert my earlier commit where I explictly added:

config CMD_SETEXPR
default y

Quoted 8 lines
Quoted 2 lines

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=c9bb942e2f91d9f8e5f25ed1961eba2d64f65b8d

Which does:

board/sunxi/Kconfig +0 -21
@@ -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 :

configs/A10-OLinuXino-Lime_defconfig +8 -0
@@ -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
Quoted 3 lines

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.

Quoted 9 lines
Quoted 2 lines

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.

Quoted 4 lines

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.

Quoted 15 lines
Quoted 7 lines

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.

Quoted 8 lines
Quoted 2 lines

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

#5 lore raw

On Tue, 2015-06-30 at 15:11 +0200, Hans de Goede wrote:
[...]

Quoted 4 lines

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.

#6 lore raw

Hi,

Quoted 9 lines · Ian Campbell

On Tue, 2015-06-30 at 15:11 +0200, Hans de Goede wrote:
[...]

Quoted 4 lines

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

#7 lore raw
In reply to Ian Campbell

Hi Ian,

Quoted 11 lines · Ian Campbell

On Tue, 2015-06-30 at 15:11 +0200, Hans de Goede wrote:
[...]

Quoted 4 lines

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

#8 lore raw
Quoted 19 lines · Joe Hershberger

Hi Ian,

Quoted 11 lines · Ian Campbell

On Tue, 2015-06-30 at 15:11 +0200, Hans de Goede wrote:
[...]

Quoted 4 lines

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?).

Quoted 5 lines

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.

Quoted 8 lines

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.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150630/a43ff59c/attachment.sig>
#9 lore raw
In reply to Hans de Goede
Quoted 103 lines · Hans de Goede

Hi,

Quoted 43 lines · Tom Rini
Quoted 26 lines · Hans de Goede

Hi,

Quoted 15 lines · Tom Rini
Quoted 13 lines · Hans de Goede

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

Quoted 7 lines
Quoted 4 lines

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.

Quoted 7 lines

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:

Quoted 5 lines

In essense these changes revert my earlier commit where I explictly added:

config CMD_SETEXPR
default y

Quoted 8 lines
Quoted 2 lines

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=c9bb942e2f91d9f8e5f25ed1961eba2d64f65b8d

Which does:

board/sunxi/Kconfig +0 -21
@@ -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 :

configs/A10-OLinuXino-Lime_defconfig +0 -0
@@ -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"

configs/A10-OLinuXino-Lime_defconfig CONFIG_DRAM_CLK=480 · line 17

Quoted 10 lines
configs/A10-OLinuXino-Lime_defconfig +8 -0
+# 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:

arch/arm/Kconfig +3 -0
index 0829235..48319c1 100644
@@ -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:

configs/A20-OLinuXino-Lime2_defconfig +2 -4
index 6445b25..a8aa8d2 100644
@@ -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).

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150630/90635212/attachment.sig>
#10 lore raw

Hi,

Quoted 157 lines · Tom Rini
Quoted 103 lines · Hans de Goede

Hi,

Quoted 43 lines · Tom Rini
Quoted 26 lines · Hans de Goede

Hi,

Quoted 15 lines · Tom Rini
Quoted 13 lines · Hans de Goede

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

Quoted 7 lines
Quoted 4 lines

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.

Quoted 7 lines

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:

Quoted 5 lines

In essense these changes revert my earlier commit where I explictly added:

config CMD_SETEXPR
default y

Quoted 8 lines
Quoted 2 lines

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=c9bb942e2f91d9f8e5f25ed1961eba2d64f65b8d

Which does:

board/sunxi/Kconfig +0 -21
@@ -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 :

configs/A10-OLinuXino-Lime_defconfig +0 -0
@@ -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"

configs/A10-OLinuXino-Lime_defconfig CONFIG_DRAM_CLK=480 · line 17

Quoted 10 lines
configs/A10-OLinuXino-Lime_defconfig +8 -0
+# 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:

arch/arm/Kconfig +3 -0
index 0829235..48319c1 100644
@@ -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:

configs/A20-OLinuXino-Lime2_defconfig +2 -4
index 6445b25..a8aa8d2 100644
@@ -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
Quoted 7 lines

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