[U-Boot] [GIT PULL] Xilinx and SCSI changes

Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
Thanks, Michal
The following changes since commit 9ae0e14350758e6447c90615ff4df530549a45e2:
Merge git://www.denx.de/git/u-boot-marvell (2016-12-01 09:24:02 -0500)
are available in the git repository at:
git://www.denx.de/git/u-boot-microblaze.git master
for you to fetch changes up to 861fe6503e205622202a61d3ca86cd4ccb80bf03:
cmd: scsi: Make private functions static (2016-12-02 14:37:32 +0100)
---------------------------------------------------------------- Masahiro Yamada (1): ARM: zynq(mp): remove unneeded CONFIG_USB_MAX_CONTROLLER_COUNT defines
Michal Simek (14): ARM64: zynqmp: Force certain bootmode for SPL ARM64: zynqmp: Use DTS name for different psu_init_gpl* files in SPL ARM64: zynqmp: List secondary software boot modes common: miiphyutil: Work and report phy address in hex in mdio cmd scsi: Extract block device initialization scsi: Extract device detection algorithm scsi: Take lun from device block description scsi: Move pccb buffer initalization directly to scsi_detect_dev scsi: Simplify scsi_read/scsi_write() scsi: Remove completely unused functions scsi: Make private functions static scsi: Change scsi_scan() to be able to return value scsi: Separate SCSI private block description initialization cmd: scsi: Make private functions static
Siva Durga Prasad Paladugu (1): ARM: zynq: Enable SD1 and qspi for picozed board
arch/arm/cpu/armv8/zynqmp/Kconfig | 10 +- arch/arm/cpu/armv8/zynqmp/spl.c | 4 + arch/arm/dts/zynq-picozed.dts | 12 +++ arch/arm/include/asm/arch-zynqmp/hardware.h | 3 + board/xilinx/zynqmp/Makefile | 2 +- cmd/mdio.c | 6 +- cmd/scsi.c | 18 ++-- common/miiphyutil.c | 2 +- common/scsi.c | 288 +++++++++++++++++++++++++++++--------------------------- drivers/net/zynq_gem.c | 2 +- include/configs/xilinx_zynqmp.h | 1 - include/configs/zynq-common.h | 1 - include/scsi.h | 5 +- 13 files changed, 194 insertions(+), 160 deletions(-)

On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
We have to disable the 'sleep' test on a number of other platforms, you just need to add TEST_PY_TEST_SPEC="not sleep"
For the zynq model, can we not use the -dtb argument to qemu? Or, how does the device tree get passed along on the real platform?
And, the PPA we currently use only has qemu-2.5 available but I get tempted to either do a PPA myself or just throw things up on dropbox of a more current release of QEMU, especially if it enabled more platforms for us to test.

Hi,
On 2.12.2016 15:12, Tom Rini wrote:
On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
We have to disable the 'sleep' test on a number of other platforms, you just need to add TEST_PY_TEST_SPEC="not sleep"
ok. Will try.
For the zynq model, can we not use the -dtb argument to qemu? Or, how does the device tree get passed along on the real platform?
I was trying it but it didn't work. Will try again next week and will refresh my mind on Zynq.
And, the PPA we currently use only has qemu-2.5 available but I get tempted to either do a PPA myself or just throw things up on dropbox of a more current release of QEMU, especially if it enabled more platforms for us to test.
That will be great. In the latest qemu our guys told me that they have added loader property that we can load more sw to memory which is one of the thing which I need for arm64. Then we can wire zynqmp stuff at least for platform which is supported in qemu.
Thanks, Michal

Hi,
On 2.12.2016 15:46, Michal Simek wrote:
Hi,
On 2.12.2016 15:12, Tom Rini wrote:
On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
We have to disable the 'sleep' test on a number of other platforms, you just need to add TEST_PY_TEST_SPEC="not sleep"
ok. Will try.
For the zynq model, can we not use the -dtb argument to qemu? Or, how does the device tree get passed along on the real platform?
I was trying it but it didn't work. Will try again next week and will refresh my mind on Zynq.
I have looked at it and discussed with our qemu expect (Edgar) and there is no easy way how to do it with ancient qemu version. In Qemu 2.8 there will be loader functionality which provides an easy way.
I was briefly checking current qemu targets and they don't use OF_CONTROL/OF_SEPARATE which based on fdtdec_setup() requires to put dtb to certain location and there is no way around.
Also qemu expect elf to be loaded not binary that's why we can't use u-boot-dtb.bin with appended dtb.
The only option I use right now and I know it is working is using OF_EMBED for zynq_zc702 target and I can add zynq board to travis testing. The next option is use latest qemu and we can also wire zynqmp platforms.
Please let me know what you think.
Thanks, Michal

On Wed, Dec 07, 2016 at 12:21:29PM +0100, Michal Simek wrote:
Hi,
On 2.12.2016 15:46, Michal Simek wrote:
Hi,
On 2.12.2016 15:12, Tom Rini wrote:
On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
We have to disable the 'sleep' test on a number of other platforms, you just need to add TEST_PY_TEST_SPEC="not sleep"
ok. Will try.
For the zynq model, can we not use the -dtb argument to qemu? Or, how does the device tree get passed along on the real platform?
I was trying it but it didn't work. Will try again next week and will refresh my mind on Zynq.
I have looked at it and discussed with our qemu expect (Edgar) and there is no easy way how to do it with ancient qemu version. In Qemu 2.8 there will be loader functionality which provides an easy way.
I was briefly checking current qemu targets and they don't use OF_CONTROL/OF_SEPARATE which based on fdtdec_setup() requires to put dtb to certain location and there is no way around.
Also qemu expect elf to be loaded not binary that's why we can't use u-boot-dtb.bin with appended dtb.
The only option I use right now and I know it is working is using OF_EMBED for zynq_zc702 target and I can add zynq board to travis testing. The next option is use latest qemu and we can also wire zynqmp platforms.
Please let me know what you think.
OK, I'm leaning towards another round of rework to the travis yml file. I think I can make it key building QEMU from sources off of if we're doing test.py run or not and then be smart about only doing the extra work there. I'll see how much more time that adds.

On 7.12.2016 14:10, Tom Rini wrote:
On Wed, Dec 07, 2016 at 12:21:29PM +0100, Michal Simek wrote:
Hi,
On 2.12.2016 15:46, Michal Simek wrote:
Hi,
On 2.12.2016 15:12, Tom Rini wrote:
On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
We have to disable the 'sleep' test on a number of other platforms, you just need to add TEST_PY_TEST_SPEC="not sleep"
ok. Will try.
For the zynq model, can we not use the -dtb argument to qemu? Or, how does the device tree get passed along on the real platform?
I was trying it but it didn't work. Will try again next week and will refresh my mind on Zynq.
I have looked at it and discussed with our qemu expect (Edgar) and there is no easy way how to do it with ancient qemu version. In Qemu 2.8 there will be loader functionality which provides an easy way.
I was briefly checking current qemu targets and they don't use OF_CONTROL/OF_SEPARATE which based on fdtdec_setup() requires to put dtb to certain location and there is no way around.
Also qemu expect elf to be loaded not binary that's why we can't use u-boot-dtb.bin with appended dtb.
The only option I use right now and I know it is working is using OF_EMBED for zynq_zc702 target and I can add zynq board to travis testing. The next option is use latest qemu and we can also wire zynqmp platforms.
Please let me know what you think.
OK, I'm leaning towards another round of rework to the travis yml file. I think I can make it key building QEMU from sources off of if we're doing test.py run or not and then be smart about only doing the extra work there. I'll see how much more time that adds.
Ok. I am just retesting "not sleep" option now but definitely keep in loop on this because we are using qemu a lot and this can be added to regression. I will also think about wiring microblaze to regression.
Thanks, Michal

On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
Thanks, Michal
The following changes since commit 9ae0e14350758e6447c90615ff4df530549a45e2:
Merge git://www.denx.de/git/u-boot-marvell (2016-12-01 09:24:02 -0500)
are available in the git repository at:
git://www.denx.de/git/u-boot-microblaze.git master
for you to fetch changes up to 861fe6503e205622202a61d3ca86cd4ccb80bf03:
cmd: scsi: Make private functions static (2016-12-02 14:37:32 +0100)
This blows up microblaze-generic, please fix, thanks!

Hi Tom,
On 8.12.2016 17:04, Tom Rini wrote:
On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
Thanks, Michal
The following changes since commit 9ae0e14350758e6447c90615ff4df530549a45e2:
Merge git://www.denx.de/git/u-boot-marvell (2016-12-01 09:24:02 -0500)
are available in the git repository at:
git://www.denx.de/git/u-boot-microblaze.git master
for you to fetch changes up to 861fe6503e205622202a61d3ca86cd4ccb80bf03:
cmd: scsi: Make private functions static (2016-12-02 14:37:32 +0100)
This blows up microblaze-generic, please fix, thanks!
What exactly is the problem?
[u-boot]$ ./tools/buildman/buildman microblaze-generic -b uboot -C -o /tmp/2 -c 8 -sSedB boards.cfg is up to date. Nothing to do. Summary of 8 commits for 1 boards (1 thread, 8 jobs per thread) 01: scsi: Take lun from device block description 02: scsi: Move pccb buffer initalization directly to scsi_detect_dev 03: scsi: Simplify scsi_read/scsi_write() 04: scsi: Remove completely unused functions 05: scsi: Make private functions static 06: scsi: Change scsi_scan() to be able to return value 07: scsi: Separate SCSI private block description initialization 08: cmd: scsi: Make private functions static (no errors to report) [u-boot]$ git log --oneline -n 1 861fe6503e20 cmd: scsi: Make private functions static [u-boot]$
Microblaze is not enabling anything related to SCSI. I have one design from past with sata but it was custom project which is not supported in mainline.
Thanks, Michal

On Fri, Dec 09, 2016 at 07:34:05AM +0100, Michal Simek wrote:
Hi Tom,
On 8.12.2016 17:04, Tom Rini wrote:
On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
Thanks, Michal
The following changes since commit 9ae0e14350758e6447c90615ff4df530549a45e2:
Merge git://www.denx.de/git/u-boot-marvell (2016-12-01 09:24:02 -0500)
are available in the git repository at:
git://www.denx.de/git/u-boot-microblaze.git master
for you to fetch changes up to 861fe6503e205622202a61d3ca86cd4ccb80bf03:
cmd: scsi: Make private functions static (2016-12-02 14:37:32 +0100)
This blows up microblaze-generic, please fix, thanks!
What exactly is the problem?
[u-boot]$ ./tools/buildman/buildman microblaze-generic -b uboot -C -o /tmp/2 -c 8 -sSedB boards.cfg is up to date. Nothing to do. Summary of 8 commits for 1 boards (1 thread, 8 jobs per thread) 01: scsi: Take lun from device block description 02: scsi: Move pccb buffer initalization directly to scsi_detect_dev 03: scsi: Simplify scsi_read/scsi_write() 04: scsi: Remove completely unused functions 05: scsi: Make private functions static 06: scsi: Change scsi_scan() to be able to return value 07: scsi: Separate SCSI private block description initialization 08: cmd: scsi: Make private functions static (no errors to report) [u-boot]$ git log --oneline -n 1 861fe6503e20 cmd: scsi: Make private functions static [u-boot]$
Microblaze is not enabling anything related to SCSI. I have one design from past with sata but it was custom project which is not supported in mainline.
Oh, sorry, my fault, wrong PR was breaking things.

On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
Thanks, Michal
The following changes since commit 9ae0e14350758e6447c90615ff4df530549a45e2:
Merge git://www.denx.de/git/u-boot-marvell (2016-12-01 09:24:02 -0500)
are available in the git repository at:
git://www.denx.de/git/u-boot-microblaze.git master
for you to fetch changes up to 861fe6503e205622202a61d3ca86cd4ccb80bf03:
cmd: scsi: Make private functions static (2016-12-02 14:37:32 +0100)
Applied to u-boot/master, thanks!

Hi Tom,
On 9.12.2016 13:11, Tom Rini wrote:
On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
Thanks, Michal
The following changes since commit 9ae0e14350758e6447c90615ff4df530549a45e2:
Merge git://www.denx.de/git/u-boot-marvell (2016-12-01 09:24:02 -0500)
are available in the git repository at:
git://www.denx.de/git/u-boot-microblaze.git master
for you to fetch changes up to 861fe6503e205622202a61d3ca86cd4ccb80bf03:
cmd: scsi: Make private functions static (2016-12-02 14:37:32 +0100)
Applied to u-boot/master, thanks!
This PR was applied already. And if you look at what you have applied just now is temporary branch. Nothing what should be added to tree in this state. In general it is mess. You should revert that stuff you have merged even it contain some patches which should be merged soon.
Thanks, Michal

On Fri, Dec 09, 2016 at 01:54:30PM +0100, Michal Simek wrote:
Hi Tom,
On 9.12.2016 13:11, Tom Rini wrote:
On Fri, Dec 02, 2016 at 02:55:00PM +0100, Michal Simek wrote:
Hi Tom,
here are some patches I have collected for Xilinx devices, one miiphy patch and SCSI changes I have made.
Simon: I have sent v4 of DM_SCSI + ceva sata driver moved to DM which should go through your tree because you have applied "dm: blk: Fix get_desc to return block device descriptor" which is required. They are based on this branch.
Tom: I have tested also travis with zynq qemu but it looks like a problem with qemu timing for zynq model. The rest of python tests look good. https://travis-ci.org/michalsimek-test/u-boot/jobs/180384185 Also for running this I had to use CONFIG_OF_EMBED=y to handle dtb. Anyway I will talk to Qemu guys what I can do with it and when this timing issue was solved and which mainline qemu version this requires. Is there arm64 qemu available too?
Thanks, Michal
The following changes since commit 9ae0e14350758e6447c90615ff4df530549a45e2:
Merge git://www.denx.de/git/u-boot-marvell (2016-12-01 09:24:02 -0500)
are available in the git repository at:
git://www.denx.de/git/u-boot-microblaze.git master
for you to fetch changes up to 861fe6503e205622202a61d3ca86cd4ccb80bf03:
cmd: scsi: Make private functions static (2016-12-02 14:37:32 +0100)
Applied to u-boot/master, thanks!
This PR was applied already. And if you look at what you have applied just now is temporary branch. Nothing what should be added to tree in this state. In general it is mess. You should revert that stuff you have merged even it contain some patches which should be merged soon.
OK, oops, sorry. I've reverted that merge just now. Sorry about that!
And for the record, this was applied correctly earlier but I lost the mail apparently.
participants (3)
-
Michal Simek
-
Michal Simek
-
Tom Rini