public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Michal Simek <monstr@monstr.eu>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 00/13] dm: arm: zynq: Convert serial driver to driver model
Date: Fri, 4 Sep 2015 07:53:47 +0200	[thread overview]
Message-ID: <55E931EB.5000908@monstr.eu> (raw)
In-Reply-To: <CAPnjgZ2xHBPP7Dm=KkuhfA7k7s1g+aDgp=HqyEGmSG-duqe_Jw@mail.gmail.com>

On 09/02/2015 04:05 PM, Simon Glass wrote:
> Hi Michael,
> 
> On 1 September 2015 at 11:50, Michal Simek <monstr@monstr.eu> wrote:
>> On 09/01/2015 07:41 PM, Michal Simek wrote:
>>> On 09/01/2015 01:12 AM, Simon Glass wrote:
>>>> Hi Michal,
>>>>
>>>> On 31 August 2015 at 08:11, Michal Simek <monstr@monstr.eu> wrote:
>>>>> On 08/29/2015 05:10 PM, Simon Glass wrote:
>>>>>> This series updates the Zynq serial driver to use driver model. Along the
>>>>>> way several problems are fixed:
>>>>>>
>>>>>> - Support for /chosen/stdout-path using an alias
>>>>>> - Fix to fdtgrep which is currently breaking alias building
>>>>>> - Avoid building u-boot-spl-dtb.bin when it is not requested
>>>>>> - Deal with boards which have BSS in SDRAM
>>>>>>
>>>>>> For zynq this series makes a few changes:
>>>>>> - Use the new SPL init procedure, which just involves a few tweaks for zynq
>>>>>> - Add debug UART support
>>>>>> - Move to using a separate device tree instead of embedded
>>>>>>
>>>>>> Only zybo has been tested. Testing on other zynq boards is welcome. They are
>>>>>> all set up roughly the same so I expect only minor problems.
>>>>>>
>>>>>> For some reason zynqmp does not have a device tree, so this series does not
>>>>>> work on that. But that board fails to build on mainline for me anyway so
>>>>>> perhaps nothing is lost. I don't have a board to test with so help on this
>>>>>> would be appreciated!
>>>>>
>>>>> I have no problem to build zynqmp on my PC. Can you please c&p error
>>>>> which you are getting?
>>>>
>>>> I get this:
>>>>
>>>> $ buildman zynqmp
>>>> Building current source for 1 boards (1 thread, 32 jobs per thread)
>>>>    aarch64:  +   xilinx_zynqmp_ep
>>>> +      ((u32)(priv->rxbuffers) +
>>>> +       ^
>>>> +   writel((u32)priv->rx_bd, &regs->rxqbase);
>>>> +          ^
>>>> +arch/arm/include/asm/io.h:146:34: note: in definition of macro 'writel'
>>>> + #define writel(v,c) ({ u32 __v = v; __iowmb(); __arch_putl(__v,c); __v; })
>>>> +                                  ^
>>>> +  writel((u32)priv->tx_bd, &regs->txqbase);
>>>> +         ^
>>>> +  priv->tx_bd->addr = (u32)ptr;
>>>> +                      ^
>>>> +  addr = (u32) ptr;
>>>> +  addr = (u32)priv->rxbuffers;
>>>> +   net_process_received_packet((u8 *)addr, frame_len);
>>>> +                               ^
>>>> +  priv->rx_bd = (struct emac_bd *)((u32)bd_space + BD_SEPRN_SPACE);
>>>> +                                   ^
>>>> +                ^
>>>> +  dwc3_flush_cache((int)trb, sizeof(*trb));
>>>> +                   ^
>>>> +  dma_unmap_single((void *)dwc->scratch_addr, dwc->nr_scratch *
>>>> +  dma_unmap_single((void *)req->dma, req->length,
>>>> +    dwc3_flush_cache((int)trb, sizeof(*trb));
>>>> +                     ^
>>>> +   dwc3_flush_cache((int)dwc->ep0_bounce, DWC3_EP0_BOUNCE_SIZE);
>>>> +                    ^
>>>> +  dwc->regs = (int *)(dwc3_dev->base + DWC3_GLOBALS_REGS_START);
>>>> +              ^
>>>> +  debug("%s: dev->in_req->length:%d to_cpy:%d\n", __func__,
>>>> +  ^
>>>> +    dwc3_flush_cache((int)evt->buf, evt->length);
>>>> w+drivers/net/zynq_gem.c: In function 'zynq_gem_init':
>>>> w+drivers/net/zynq_gem.c:330:7: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+In file included from drivers/net/zynq_gem.c:19:0:
>>>> w+drivers/net/zynq_gem.c:336:10: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+drivers/net/zynq_gem.c: In function 'zynq_gem_send':
>>>> w+drivers/net/zynq_gem.c:399:9: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+drivers/net/zynq_gem.c:404:22: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+drivers/net/zynq_gem.c:409:9: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+drivers/net/zynq_gem.c:414:9: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+drivers/net/zynq_gem.c: In function 'zynq_gem_recv':
>>>> w+drivers/net/zynq_gem.c:454:31: warning: cast to pointer from integer
>>>> of different size [-Wint-to-pointer-cast]
>>>> w+drivers/net/zynq_gem.c: In function 'zynq_gem_initialize':
>>>> w+drivers/net/zynq_gem.c:533:35: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+drivers/net/zynq_gem.c:533:16: warning: cast to pointer from integer
>>>> of different size [-Wint-to-pointer-cast]
>>>> w+drivers/usb/dwc3/ep0.c: In function 'dwc3_ep0_start_trans':
>>>> w+drivers/usb/dwc3/ep0.c:85:19: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+drivers/usb/dwc3/core.c: In function 'dwc3_setup_scratch_buffers':
>>>> w+drivers/usb/dwc3/core.c:284:19: warning: cast to pointer from
>>>> integer of different size [-Wint-to-pointer-cast]
>>>> w+drivers/usb/dwc3/core.c: In function 'dwc3_free_scratch_buffers':
>>>> w+drivers/usb/dwc3/core.c:299:19: warning: cast to pointer from
>>>> integer of different size [-Wint-to-pointer-cast]
>>>> w+drivers/usb/gadget/udc/udc-core.c: In function 'usb_gadget_unmap_request':
>>>> w+drivers/usb/gadget/udc/udc-core.c:68:19: warning: cast to pointer
>>>> from integer of different size [-Wint-to-pointer-cast]
>>>> w+drivers/usb/dwc3/ep0.c: In function 'dwc3_ep0_complete_data':
>>>> w+drivers/usb/dwc3/ep0.c:793:19: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+drivers/usb/dwc3/ep0.c:824:21: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+drivers/usb/dwc3/ep0.c:834:20: warning: cast from pointer to integer
>>>> of different size [-Wpointer-to-int-cast]
>>>> w+drivers/usb/dwc3/core.c: In function 'dwc3_uboot_init':
>>>> w+drivers/usb/dwc3/core.c:632:14: warning: cast to pointer from
>>>> integer of different size [-Wint-to-pointer-cast]
>>>> w+drivers/usb/dwc3/gadget.c: In function 'dwc3_prepare_one_trb':
>>>> w+drivers/usb/dwc3/gadget.c:775:19: warning: cast from pointer to
>>>> integer of different size [-Wpointer-to-int-cast]
>>>> w+drivers/usb/dwc3/gadget.c: In function 'dwc3_cleanup_done_reqs':
>>>> w+drivers/usb/dwc3/gadget.c:1772:19: warning: cast from pointer to
>>>> integer of different size [-Wpointer-to-int-cast]
>>>> w+drivers/usb/gadget/f_thor.c: In function 'thor_tx_data':
>>>> w+drivers/usb/gadget/f_thor.c:568:2: warning: format '%d' expects
>>>> argument of type 'int', but argument 4 has type 'long unsigned int'
>>>> [-Wformat=]
>>>> w+drivers/usb/dwc3/gadget.c: In function 'dwc3_gadget_uboot_handle_interrupt':
>>>> w+drivers/usb/dwc3/gadget.c:2673:21: warning: cast from pointer to
>>>> integer of different size [-Wpointer-to-int-cast]
>>>>     0    1    0 /1      xilinx_zynqmp_ep
>>>>
>>>
>>> Here are step for running qemu.
>>>
>>> git clone git://git.qemu.org/qemu.git
>>> cd qemu
>>> git submodule update --init pixman
>>> ./configure --target-list=aarch64-softmmu --disable-werror
>>>
>>> ./aarch64-softmmu/qemu-system-aarch64 -M xlnx-ep108 -display none
>>> -kernel /mnt/disk/u-boot/u-boot.elf -m 8000000 -nographic -serial mon:stdio
>>>
>>> Please try and you will see.
>>>
>>> I have ZynqMP Serial DM. Will send patches tmr.
>>
>> One more thing I forget is that for that get up and running I had to
>> cherry-pick your reverted patch
>> "fdt: Fix fdtdec_get_addr_size() for 64-bit"
>> (sha1: 6fd4307bd55ba0e216770bdf362d2ce5f37a2311) because zynqmp is using
>> address-cells 2 and size cells 1 which is not covered in the current HEAD.
> 
> OK thanks for the info.
> 
> Do you have patches to move zynqmp to device tree? That would be a
> prerequisite for any patches I send.

Did you see my previous email I sent? There is link to the repo with
that patches.

Thanks,
Michal



-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150904/5a4fb133/attachment.sig>

  reply	other threads:[~2015-09-04  5:53 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-29 15:10 [U-Boot] [PATCH 00/13] dm: arm: zynq: Convert serial driver to driver model Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 01/13] fdt: Add a function to look up a /chosen property Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 02/13] fdt: Correct handling of alias regions Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 03/13] fdtgrep: Simplify the alias generation code Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 04/13] dm: serial: Deal with stdout-path with an alias Simon Glass
2015-08-31 11:13   ` Michal Simek
2015-08-31 13:54     ` Simon Glass
2015-08-31 14:08       ` Michal Simek
2015-08-31 23:12         ` Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 05/13] dm: spl: Generate u-boot-spl-dtb.bin only when enabled Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 06/13] dm: spl: Support device tree when BSS is in a different section Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 07/13] arm: zynq: Use separate device tree instead of embedded Simon Glass
2015-08-31 11:24   ` Michal Simek
2015-08-31 13:54     ` Simon Glass
2015-08-31 14:07       ` Michal Simek
2015-08-31 23:12         ` Simon Glass
2015-09-01 13:12           ` Michal Simek
2015-09-02  2:48             ` Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 08/13] arm: zynq: Drop unnecessary code in SPL board_init_f() Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 09/13] arm: zynq: Support the debug UART Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 10/13] dm: arm: zynq: Enable device tree control in SPL Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 11/13] arm: zynq: dts: Add U-Boot device tree additions Simon Glass
2015-08-31 10:01   ` Masahiro Yamada
2015-08-31 13:54     ` Simon Glass
2015-09-01 15:54       ` Masahiro Yamada
2015-08-31 11:30   ` Michal Simek
2015-08-31 13:54     ` Simon Glass
2015-08-31 14:16       ` Michal Simek
2015-08-31 23:13         ` Simon Glass
2015-09-01 15:41           ` Michal Simek
2015-09-01 16:19             ` Masahiro Yamada
2015-09-02  2:49               ` Simon Glass
2015-09-03 11:35                 ` Michal Simek
2015-09-04  0:22                   ` Simon Glass
2015-09-04  6:04                     ` Michal Simek
2015-09-04 14:32                       ` Simon Glass
2015-09-04 17:28                         ` Michal Simek
2015-09-09 18:07                           ` Simon Glass
2015-09-19  1:07                             ` Michal Simek
2015-09-19 11:16                               ` Tom Rini
2015-09-19 19:52                               ` Simon Glass
2015-09-01 13:13   ` Michal Simek
2015-08-29 15:10 ` [U-Boot] [PATCH 12/13] arm: zynq: serial: Drop non-device-tree serial driver portions Simon Glass
2015-08-29 15:10 ` [U-Boot] [PATCH 13/13] arm: zynq: Move serial driver to driver model Simon Glass
2015-08-31 11:33   ` Michal Simek
2015-08-31 13:54     ` Simon Glass
2015-08-31 14:12       ` Michal Simek
2015-09-01 15:42   ` Michal Simek
2015-08-31 14:11 ` [U-Boot] [PATCH 00/13] dm: arm: zynq: Convert " Michal Simek
2015-08-31 23:12   ` Simon Glass
2015-09-01 15:45     ` Michal Simek
2015-09-01 17:41     ` Michal Simek
2015-09-01 17:50       ` Michal Simek
2015-09-02 14:05         ` Simon Glass
2015-09-04  5:53           ` Michal Simek [this message]
2015-09-04 23:40             ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55E931EB.5000908@monstr.eu \
    --to=monstr@monstr.eu \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox