public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v6 00/10] add support for atheros ath79 based SOCs
@ 2016-01-04 11:06 Wills Wang
  2016-01-16  5:26 ` Marek Vasut
  0 siblings, 1 reply; 6+ messages in thread
From: Wills Wang @ 2016-01-04 11:06 UTC (permalink / raw)
  To: u-boot

These series of patch add support for atheros ath79 based SOCs in u-boot,
at the present moment it's just available for ar933x and qca953x chip.

Changes in v6:
- Remove useless "else"
- Move ar933x as separate patch
- Add get_bootstrap in reset.c
- Use map_physmem instead of KSEG1ADDR
- Add arch_cpu_init for detect SOC type for early
- Define magic value in ddr.c
- Remove wait loop in putc and getc
- Use map_physmem instead of KSEG1ADDR
- Add rrw_delay in ath79_spi_priv for more accurate timing
- Remove ath79_spi_delay
- Calculate delay in ath79_spi_set_speed
- Convert SZ_XXX into hex in ap121.h
- Remove useless CONFIG_SYS_INIT_SP_OFFSET in ap121.h
- Add board_early_init_f for DDR and pin initialization
- Select UART and SPI in ap121_defconfig
- Add support for qca953x

Changes in v5:
- Add independent Kconfig
- Use SRAM for initial stack
- Move DDR initialization into board_early_init_f
- Convert DDR tap tunning code to C
- Save SOC's version into arch_global_data
- remove ar933x_serial_platdata
- Import document "qca,ar9330-uart.txt" from kernel
- Add support for debug UART
- remove ar933x_spi_platdata
- Import document "spi-ath79.txt" from kernel
- Add delay for bitbang operation
- Move CONFIG_SYS_TEXT_BASE into ap121.h, and remove config.mk
- Remove useless README file
- Remove useless checkboard function

Changes in v4:
- Use global_data to save CPU/DDR/AHB clock
- Use arch_global_data to save SOC's type, revison and id
- Auto calculate baudrate for serial driver
- Move pinctrl code in serial driver into arch/mips/mach-ath79
- Use get_serial_clock to serial clock source
- Use get_bus_freq instead of hardcode in SPI driver

Changes in v3:
- Move SoC specific header files into arch/mips/mach-ath79/include/mach
- Optimize assembly code
- Same code style convertion
- Convert serial driver to driver model
- Same code style convertion
- Convert spi driver to driver model
- Same code style convertion
- Add support for device tree

Changes in v2:
- Move all SoC specific header files into arch/mips/include/asm/arch-ath79
- Check SOC type and extract common code into arch/mips/mach-ath79
- Move serial driver code into drivers/serial
- Add a compatible spi driver
- Add a reference board implemention

Wills Wang (10):
  mips: implement to access the KSEG0/1 memory range in map_physmem
  mips: add base support for QCA/Atheros ath79 SOCs
  mips: ath79: add support for AR933x SOCs
  mips: ath79: add support for QCA953x SOCs
  mips: ath79: add serial driver for ar933x SOC
  ns16550: add support for mips
  ns16550: map register base address for debug UART
  mips: ath79: add spi driver
  mips: ath79: add AP121 reference board
  mips: ath79: add AP143 reference board

 arch/mips/Kconfig                                  |    6 +
 arch/mips/Makefile                                 |    1 +
 arch/mips/dts/Makefile                             |    3 +-
 arch/mips/dts/ap121.dts                            |   37 +
 arch/mips/dts/ap143.dts                            |   37 +
 arch/mips/dts/ar933x.dtsi                          |   64 ++
 arch/mips/dts/qca953x.dtsi                         |   66 ++
 arch/mips/include/asm/global_data.h                |    6 +
 arch/mips/include/asm/io.h                         |    6 +-
 arch/mips/mach-ath79/Kconfig                       |   46 +
 arch/mips/mach-ath79/Makefile                      |   10 +
 arch/mips/mach-ath79/ar933x/Makefile               |    7 +
 arch/mips/mach-ath79/ar933x/clk.c                  |   90 ++
 arch/mips/mach-ath79/ar933x/ddr.c                  |  317 ++++++
 arch/mips/mach-ath79/ar933x/lowlevel_init.S        |  280 +++++
 arch/mips/mach-ath79/cpu.c                         |  204 ++++
 arch/mips/mach-ath79/dram.c                        |   17 +
 arch/mips/mach-ath79/include/mach/ar71xx_regs.h    | 1187 ++++++++++++++++++++
 arch/mips/mach-ath79/include/mach/ath79.h          |  143 +++
 arch/mips/mach-ath79/include/mach/ddr.h            |   14 +
 arch/mips/mach-ath79/include/mach/reset.h          |   15 +
 arch/mips/mach-ath79/qca953x/Makefile              |    7 +
 arch/mips/mach-ath79/qca953x/clk.c                 |  112 ++
 arch/mips/mach-ath79/qca953x/ddr.c                 |  463 ++++++++
 arch/mips/mach-ath79/qca953x/lowlevel_init.S       |  186 +++
 arch/mips/mach-ath79/reset.c                       |   75 ++
 board/ath79/ap121/Kconfig                          |    9 +
 board/ath79/ap121/MAINTAINERS                      |    6 +
 board/ath79/ap121/Makefile                         |    5 +
 board/ath79/ap121/ap121.c                          |   48 +
 board/ath79/ap143/Kconfig                          |    9 +
 board/ath79/ap143/MAINTAINERS                      |    6 +
 board/ath79/ap143/Makefile                         |    5 +
 board/ath79/ap143/ap143.c                          |   64 ++
 configs/ap121_defconfig                            |   42 +
 configs/ap143_defconfig                            |   43 +
 .../serial/qca,ar9330-uart.txt                     |   24 +
 doc/device-tree-bindings/spi/spi-ath79.txt         |   19 +
 drivers/serial/Kconfig                             |   17 +
 drivers/serial/Makefile                            |    1 +
 drivers/serial/ns16550.c                           |   30 +-
 drivers/serial/serial_ar933x.c                     |  264 +++++
 drivers/spi/Kconfig                                |    8 +
 drivers/spi/Makefile                               |    1 +
 drivers/spi/ath79_spi.c                            |  230 ++++
 include/configs/ap121.h                            |   81 ++
 include/configs/ap143.h                            |   86 ++
 47 files changed, 4384 insertions(+), 13 deletions(-)
 create mode 100644 arch/mips/dts/ap121.dts
 create mode 100644 arch/mips/dts/ap143.dts
 create mode 100644 arch/mips/dts/ar933x.dtsi
 create mode 100644 arch/mips/dts/qca953x.dtsi
 create mode 100644 arch/mips/mach-ath79/Kconfig
 create mode 100644 arch/mips/mach-ath79/Makefile
 create mode 100644 arch/mips/mach-ath79/ar933x/Makefile
 create mode 100644 arch/mips/mach-ath79/ar933x/clk.c
 create mode 100644 arch/mips/mach-ath79/ar933x/ddr.c
 create mode 100644 arch/mips/mach-ath79/ar933x/lowlevel_init.S
 create mode 100644 arch/mips/mach-ath79/cpu.c
 create mode 100644 arch/mips/mach-ath79/dram.c
 create mode 100644 arch/mips/mach-ath79/include/mach/ar71xx_regs.h
 create mode 100644 arch/mips/mach-ath79/include/mach/ath79.h
 create mode 100644 arch/mips/mach-ath79/include/mach/ddr.h
 create mode 100644 arch/mips/mach-ath79/include/mach/reset.h
 create mode 100644 arch/mips/mach-ath79/qca953x/Makefile
 create mode 100644 arch/mips/mach-ath79/qca953x/clk.c
 create mode 100644 arch/mips/mach-ath79/qca953x/ddr.c
 create mode 100644 arch/mips/mach-ath79/qca953x/lowlevel_init.S
 create mode 100644 arch/mips/mach-ath79/reset.c
 create mode 100644 board/ath79/ap121/Kconfig
 create mode 100644 board/ath79/ap121/MAINTAINERS
 create mode 100644 board/ath79/ap121/Makefile
 create mode 100644 board/ath79/ap121/ap121.c
 create mode 100644 board/ath79/ap143/Kconfig
 create mode 100644 board/ath79/ap143/MAINTAINERS
 create mode 100644 board/ath79/ap143/Makefile
 create mode 100644 board/ath79/ap143/ap143.c
 create mode 100644 configs/ap121_defconfig
 create mode 100644 configs/ap143_defconfig
 create mode 100644 doc/device-tree-bindings/serial/qca,ar9330-uart.txt
 create mode 100644 doc/device-tree-bindings/spi/spi-ath79.txt
 create mode 100644 drivers/serial/serial_ar933x.c
 create mode 100644 drivers/spi/ath79_spi.c
 create mode 100644 include/configs/ap121.h
 create mode 100644 include/configs/ap143.h

-- 
1.9.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH v6 00/10] add support for atheros ath79 based SOCs
  2016-01-04 11:06 [U-Boot] [PATCH v6 00/10] add support for atheros ath79 based SOCs Wills Wang
@ 2016-01-16  5:26 ` Marek Vasut
  2016-01-16 13:15   ` Wills Wang
  0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2016-01-16  5:26 UTC (permalink / raw)
  To: u-boot

On Monday, January 04, 2016 at 12:06:17 PM, Wills Wang wrote:
> These series of patch add support for atheros ath79 based SOCs in u-boot,
> at the present moment it's just available for ar933x and qca953x chip.
> 
> Changes in v6:
> - Remove useless "else"
> - Move ar933x as separate patch
> - Add get_bootstrap in reset.c
> - Use map_physmem instead of KSEG1ADDR
> - Add arch_cpu_init for detect SOC type for early
> - Define magic value in ddr.c
> - Remove wait loop in putc and getc
> - Use map_physmem instead of KSEG1ADDR
> - Add rrw_delay in ath79_spi_priv for more accurate timing
> - Remove ath79_spi_delay
> - Calculate delay in ath79_spi_set_speed
> - Convert SZ_XXX into hex in ap121.h
> - Remove useless CONFIG_SYS_INIT_SP_OFFSET in ap121.h
> - Add board_early_init_f for DDR and pin initialization
> - Select UART and SPI in ap121_defconfig
> - Add support for qca953x

I wanted to try this patchset, so I picked [1], since I didn't feel like fishing
out patches from the list. Especially since this wasn't sent as a series, but as
separate patches, which makes things annoying.

The [1] does not even compile, which is surprising. I would expect that if you 
submit patches, you would at least compile-test them. Sigh. I needed this patch:

---8<---
diff --git a/arch/mips/mach-ath79/cpu.c b/arch/mips/mach-ath79/cpu.c
index 2952679..140c65c 100644
--- a/arch/mips/mach-ath79/cpu.c
+++ b/arch/mips/mach-ath79/cpu.c
@@ -9,8 +9,8 @@
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
-#include <asm/arch/ath79.h>
-#include <asm/arch/ar71xx_regs.h>
+#include <mach/ath79.h>
+#include <mach/ar71xx_regs.h>
 
 struct ath79_soc_desc {
        enum ath79_soc_type soc;
diff --git a/arch/mips/mach-ath79/reset.c b/arch/mips/mach-ath79/reset.c
index 410b900..fe32d80 100644
--- a/arch/mips/mach-ath79/reset.c
+++ b/arch/mips/mach-ath79/reset.c
@@ -9,7 +9,7 @@
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
-#include <asm/arch/ath79.h>
+#include <mach/ath79.h>
 #include <mach/ar71xx_regs.h>
                                                                                                                                                  
 void _machine_restart(void)
--->8---

Once I managed to fix things, I compiled ap121. I tried booting it on arduino
yun (ar9331), but it hung in start.S in setup_c0_status . If I comment this
out, it hangs in lowlevel_init, right at the beginning. That's where I gave up.

[1] http://git.denx.de/?p=u-boot/u-boot-
mips.git;a=shortlog;h=refs/heads/mips_ath79_v6

Best regards,
Marek Vasut

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH v6 00/10] add support for atheros ath79 based SOCs
  2016-01-16  5:26 ` Marek Vasut
@ 2016-01-16 13:15   ` Wills Wang
  2016-01-16 15:33     ` Marek Vasut
  0 siblings, 1 reply; 6+ messages in thread
From: Wills Wang @ 2016-01-16 13:15 UTC (permalink / raw)
  To: u-boot



On Saturday, January 16, 2016 01:26 PM, Marek Vasut wrote:
> On Monday, January 04, 2016 at 12:06:17 PM, Wills Wang wrote:
>> These series of patch add support for atheros ath79 based SOCs in u-boot,
>> at the present moment it's just available for ar933x and qca953x chip.
>>
>> Changes in v6:
>> - Remove useless "else"
>> - Move ar933x as separate patch
>> - Add get_bootstrap in reset.c
>> - Use map_physmem instead of KSEG1ADDR
>> - Add arch_cpu_init for detect SOC type for early
>> - Define magic value in ddr.c
>> - Remove wait loop in putc and getc
>> - Use map_physmem instead of KSEG1ADDR
>> - Add rrw_delay in ath79_spi_priv for more accurate timing
>> - Remove ath79_spi_delay
>> - Calculate delay in ath79_spi_set_speed
>> - Convert SZ_XXX into hex in ap121.h
>> - Remove useless CONFIG_SYS_INIT_SP_OFFSET in ap121.h
>> - Add board_early_init_f for DDR and pin initialization
>> - Select UART and SPI in ap121_defconfig
>> - Add support for qca953x
> I wanted to try this patchset, so I picked [1], since I didn't feel like fishing
> out patches from the list. Especially since this wasn't sent as a series, but as
> separate patches, which makes things annoying.
>
> The [1] does not even compile, which is surprising. I would expect that if you
> submit patches, you would at least compile-test them. Sigh. I needed this patch:
>
> ---8<---
> diff --git a/arch/mips/mach-ath79/cpu.c b/arch/mips/mach-ath79/cpu.c
> index 2952679..140c65c 100644
> --- a/arch/mips/mach-ath79/cpu.c
> +++ b/arch/mips/mach-ath79/cpu.c
> @@ -9,8 +9,8 @@
>   #include <asm/io.h>
>   #include <asm/addrspace.h>
>   #include <asm/types.h>
> -#include <asm/arch/ath79.h>
> -#include <asm/arch/ar71xx_regs.h>
> +#include <mach/ath79.h>
> +#include <mach/ar71xx_regs.h>
>   
>   struct ath79_soc_desc {
>          enum ath79_soc_type soc;
> diff --git a/arch/mips/mach-ath79/reset.c b/arch/mips/mach-ath79/reset.c
> index 410b900..fe32d80 100644
> --- a/arch/mips/mach-ath79/reset.c
> +++ b/arch/mips/mach-ath79/reset.c
> @@ -9,7 +9,7 @@
>   #include <asm/io.h>
>   #include <asm/addrspace.h>
>   #include <asm/types.h>
> -#include <asm/arch/ath79.h>
> +#include <mach/ath79.h>
>   #include <mach/ar71xx_regs.h>
>                                                                                                                                                    
>   void _machine_restart(void)
> --->8---
Marek, you can try my repository at 
https://github.com/willswang/u-boot-ath79,
I have fixed the compiling issue about headers.
I'm very sorry about this compiling error, my work tree have a residual 
symbol
link between arch/mips/include/asm/arch and 
arch/mips/mach-ath79/include/mach.
it was not removed when i executed "make clean" to rebuild,  so, my 
compiling
didn't discover this problem before this. now i clone this remote branch 
into a new
location and find this issue.
> Once I managed to fix things, I compiled ap121. I tried booting it on arduino
> yun (ar9331), but it hung in start.S in setup_c0_status . If I comment this
> out, it hangs in lowlevel_init, right at the beginning. That's where I gave up.
>
> [1] http://git.denx.de/?p=u-boot/u-boot-
> mips.git;a=shortlog;h=refs/heads/mips_ath79_v6
>
> Best regards,
> Marek Vasut

-- 
Best Regards
Wills

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH v6 00/10] add support for atheros ath79 based SOCs
  2016-01-16 13:15   ` Wills Wang
@ 2016-01-16 15:33     ` Marek Vasut
  2016-01-16 16:08       ` Wills Wang
  0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2016-01-16 15:33 UTC (permalink / raw)
  To: u-boot

On Saturday, January 16, 2016 at 02:15:27 PM, Wills Wang wrote:
> On Saturday, January 16, 2016 01:26 PM, Marek Vasut wrote:
> > On Monday, January 04, 2016 at 12:06:17 PM, Wills Wang wrote:
> >> These series of patch add support for atheros ath79 based SOCs in
> >> u-boot, at the present moment it's just available for ar933x and
> >> qca953x chip.
> >> 
> >> Changes in v6:
> >> - Remove useless "else"
> >> - Move ar933x as separate patch
> >> - Add get_bootstrap in reset.c
> >> - Use map_physmem instead of KSEG1ADDR
> >> - Add arch_cpu_init for detect SOC type for early
> >> - Define magic value in ddr.c
> >> - Remove wait loop in putc and getc
> >> - Use map_physmem instead of KSEG1ADDR
> >> - Add rrw_delay in ath79_spi_priv for more accurate timing
> >> - Remove ath79_spi_delay
> >> - Calculate delay in ath79_spi_set_speed
> >> - Convert SZ_XXX into hex in ap121.h
> >> - Remove useless CONFIG_SYS_INIT_SP_OFFSET in ap121.h
> >> - Add board_early_init_f for DDR and pin initialization
> >> - Select UART and SPI in ap121_defconfig
> >> - Add support for qca953x
> > 
> > I wanted to try this patchset, so I picked [1], since I didn't feel like
> > fishing out patches from the list. Especially since this wasn't sent as
> > a series, but as separate patches, which makes things annoying.
> > 
> > The [1] does not even compile, which is surprising. I would expect that
> > if you submit patches, you would at least compile-test them. Sigh. I
> > needed this patch:
> > 
> > ---8<---
> > diff --git a/arch/mips/mach-ath79/cpu.c b/arch/mips/mach-ath79/cpu.c
> > index 2952679..140c65c 100644
> > --- a/arch/mips/mach-ath79/cpu.c
> > +++ b/arch/mips/mach-ath79/cpu.c
> > @@ -9,8 +9,8 @@
> > 
> >   #include <asm/io.h>
> >   #include <asm/addrspace.h>
> >   #include <asm/types.h>
> > 
> > -#include <asm/arch/ath79.h>
> > -#include <asm/arch/ar71xx_regs.h>
> > +#include <mach/ath79.h>
> > +#include <mach/ar71xx_regs.h>
> > 
> >   struct ath79_soc_desc {
> >   
> >          enum ath79_soc_type soc;
> > 
> > diff --git a/arch/mips/mach-ath79/reset.c b/arch/mips/mach-ath79/reset.c
> > index 410b900..fe32d80 100644
> > --- a/arch/mips/mach-ath79/reset.c
> > +++ b/arch/mips/mach-ath79/reset.c
> > @@ -9,7 +9,7 @@
> > 
> >   #include <asm/io.h>
> >   #include <asm/addrspace.h>
> >   #include <asm/types.h>
> > 
> > -#include <asm/arch/ath79.h>
> > +#include <mach/ath79.h>
> > 
> >   #include <mach/ar71xx_regs.h>
> >   
> >   void _machine_restart(void)
> > 
> > --->8---
> 
> Marek, you can try my repository at
> https://github.com/willswang/u-boot-ath79,
> I have fixed the compiling issue about headers.
> I'm very sorry about this compiling error, my work tree have a residual
> symbol
> link between arch/mips/include/asm/arch and
> arch/mips/mach-ath79/include/mach.
> it was not removed when i executed "make clean" to rebuild,  so, my
> compiling
> didn't discover this problem before this. now i clone this remote branch
> into a new
> location and find this issue.

You should do git clean -fdx to zap everything before doing the rebuild and 
repost. This way, you can be sure that you have no residual stuff in your tree.

Also, if make clean doesn't remove objects , there is some other problem which
needs attention.

> > Once I managed to fix things, I compiled ap121. I tried booting it on
> > arduino yun (ar9331), but it hung in start.S in setup_c0_status . If I
> > comment this out, it hangs in lowlevel_init, right at the beginning.
> > That's where I gave up.

What about this one? Did you ever boot-test these patches ? I can probably 
understand why setup_c0_status might hang, but I don't quite understand why
would lowlevel_init hang so early.

> > [1] http://git.denx.de/?p=u-boot/u-boot-
> > mips.git;a=shortlog;h=refs/heads/mips_ath79_v6
> > 
> > Best regards,
> > Marek Vasut

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH v6 00/10] add support for atheros ath79 based SOCs
  2016-01-16 15:33     ` Marek Vasut
@ 2016-01-16 16:08       ` Wills Wang
  2016-01-16 19:04         ` Marek Vasut
  0 siblings, 1 reply; 6+ messages in thread
From: Wills Wang @ 2016-01-16 16:08 UTC (permalink / raw)
  To: u-boot



On Saturday, January 16, 2016 11:33 PM, Marek Vasut wrote:
> On Saturday, January 16, 2016 at 02:15:27 PM, Wills Wang wrote:
>> On Saturday, January 16, 2016 01:26 PM, Marek Vasut wrote:
>>> On Monday, January 04, 2016 at 12:06:17 PM, Wills Wang wrote:
>>>> These series of patch add support for atheros ath79 based SOCs in
>>>> u-boot, at the present moment it's just available for ar933x and
>>>> qca953x chip.
>>>>
>>>> Changes in v6:
>>>> - Remove useless "else"
>>>> - Move ar933x as separate patch
>>>> - Add get_bootstrap in reset.c
>>>> - Use map_physmem instead of KSEG1ADDR
>>>> - Add arch_cpu_init for detect SOC type for early
>>>> - Define magic value in ddr.c
>>>> - Remove wait loop in putc and getc
>>>> - Use map_physmem instead of KSEG1ADDR
>>>> - Add rrw_delay in ath79_spi_priv for more accurate timing
>>>> - Remove ath79_spi_delay
>>>> - Calculate delay in ath79_spi_set_speed
>>>> - Convert SZ_XXX into hex in ap121.h
>>>> - Remove useless CONFIG_SYS_INIT_SP_OFFSET in ap121.h
>>>> - Add board_early_init_f for DDR and pin initialization
>>>> - Select UART and SPI in ap121_defconfig
>>>> - Add support for qca953x
>>> I wanted to try this patchset, so I picked [1], since I didn't feel like
>>> fishing out patches from the list. Especially since this wasn't sent as
>>> a series, but as separate patches, which makes things annoying.
>>>
>>> The [1] does not even compile, which is surprising. I would expect that
>>> if you submit patches, you would at least compile-test them. Sigh. I
>>> needed this patch:
>>>
>>> ---8<---
>>> diff --git a/arch/mips/mach-ath79/cpu.c b/arch/mips/mach-ath79/cpu.c
>>> index 2952679..140c65c 100644
>>> --- a/arch/mips/mach-ath79/cpu.c
>>> +++ b/arch/mips/mach-ath79/cpu.c
>>> @@ -9,8 +9,8 @@
>>>
>>>    #include <asm/io.h>
>>>    #include <asm/addrspace.h>
>>>    #include <asm/types.h>
>>>
>>> -#include <asm/arch/ath79.h>
>>> -#include <asm/arch/ar71xx_regs.h>
>>> +#include <mach/ath79.h>
>>> +#include <mach/ar71xx_regs.h>
>>>
>>>    struct ath79_soc_desc {
>>>    
>>>           enum ath79_soc_type soc;
>>>
>>> diff --git a/arch/mips/mach-ath79/reset.c b/arch/mips/mach-ath79/reset.c
>>> index 410b900..fe32d80 100644
>>> --- a/arch/mips/mach-ath79/reset.c
>>> +++ b/arch/mips/mach-ath79/reset.c
>>> @@ -9,7 +9,7 @@
>>>
>>>    #include <asm/io.h>
>>>    #include <asm/addrspace.h>
>>>    #include <asm/types.h>
>>>
>>> -#include <asm/arch/ath79.h>
>>> +#include <mach/ath79.h>
>>>
>>>    #include <mach/ar71xx_regs.h>
>>>    
>>>    void _machine_restart(void)
>>>
>>> --->8---
>> Marek, you can try my repository at
>> https://github.com/willswang/u-boot-ath79,
>> I have fixed the compiling issue about headers.
>> I'm very sorry about this compiling error, my work tree have a residual
>> symbol
>> link between arch/mips/include/asm/arch and
>> arch/mips/mach-ath79/include/mach.
>> it was not removed when i executed "make clean" to rebuild,  so, my
>> compiling
>> didn't discover this problem before this. now i clone this remote branch
>> into a new
>> location and find this issue.
> You should do git clean -fdx to zap everything before doing the rebuild and
> repost. This way, you can be sure that you have no residual stuff in your tree.
>
> Also, if make clean doesn't remove objects , there is some other problem which
> needs attention.
>
>>> Once I managed to fix things, I compiled ap121. I tried booting it on
>>> arduino yun (ar9331), but it hung in start.S in setup_c0_status . If I
>>> comment this out, it hangs in lowlevel_init, right at the beginning.
>>> That's where I gave up.
> What about this one? Did you ever boot-test these patches ? I can probably
> understand why setup_c0_status might hang, but I don't quite understand why
> would lowlevel_init hang so early.
Did your board still hang if compiling from my repository?
>>> [1] http://git.denx.de/?p=u-boot/u-boot-
>>> mips.git;a=shortlog;h=refs/heads/mips_ath79_v6
>>>
>>> Best regards,
>>> Marek Vasut
> Best regards,
> Marek Vasut

-- 
Best Regards
Wills

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH v6 00/10] add support for atheros ath79 based SOCs
  2016-01-16 16:08       ` Wills Wang
@ 2016-01-16 19:04         ` Marek Vasut
  0 siblings, 0 replies; 6+ messages in thread
From: Marek Vasut @ 2016-01-16 19:04 UTC (permalink / raw)
  To: u-boot

On Saturday, January 16, 2016 at 05:08:37 PM, Wills Wang wrote:
> On Saturday, January 16, 2016 11:33 PM, Marek Vasut wrote:
> > On Saturday, January 16, 2016 at 02:15:27 PM, Wills Wang wrote:
> >> On Saturday, January 16, 2016 01:26 PM, Marek Vasut wrote:
> >>> On Monday, January 04, 2016 at 12:06:17 PM, Wills Wang wrote:
> >>>> These series of patch add support for atheros ath79 based SOCs in
> >>>> u-boot, at the present moment it's just available for ar933x and
> >>>> qca953x chip.
> >>>> 
> >>>> Changes in v6:
> >>>> - Remove useless "else"
> >>>> - Move ar933x as separate patch
> >>>> - Add get_bootstrap in reset.c
> >>>> - Use map_physmem instead of KSEG1ADDR
> >>>> - Add arch_cpu_init for detect SOC type for early
> >>>> - Define magic value in ddr.c
> >>>> - Remove wait loop in putc and getc
> >>>> - Use map_physmem instead of KSEG1ADDR
> >>>> - Add rrw_delay in ath79_spi_priv for more accurate timing
> >>>> - Remove ath79_spi_delay
> >>>> - Calculate delay in ath79_spi_set_speed
> >>>> - Convert SZ_XXX into hex in ap121.h
> >>>> - Remove useless CONFIG_SYS_INIT_SP_OFFSET in ap121.h
> >>>> - Add board_early_init_f for DDR and pin initialization
> >>>> - Select UART and SPI in ap121_defconfig
> >>>> - Add support for qca953x
> >>> 
> >>> I wanted to try this patchset, so I picked [1], since I didn't feel
> >>> like fishing out patches from the list. Especially since this wasn't
> >>> sent as a series, but as separate patches, which makes things
> >>> annoying.
> >>> 
> >>> The [1] does not even compile, which is surprising. I would expect that
> >>> if you submit patches, you would at least compile-test them. Sigh. I
> >>> needed this patch:
> >>> 
> >>> ---8<---
> >>> diff --git a/arch/mips/mach-ath79/cpu.c b/arch/mips/mach-ath79/cpu.c
> >>> index 2952679..140c65c 100644
> >>> --- a/arch/mips/mach-ath79/cpu.c
> >>> +++ b/arch/mips/mach-ath79/cpu.c
> >>> @@ -9,8 +9,8 @@
> >>> 
> >>>    #include <asm/io.h>
> >>>    #include <asm/addrspace.h>
> >>>    #include <asm/types.h>
> >>> 
> >>> -#include <asm/arch/ath79.h>
> >>> -#include <asm/arch/ar71xx_regs.h>
> >>> +#include <mach/ath79.h>
> >>> +#include <mach/ar71xx_regs.h>
> >>> 
> >>>    struct ath79_soc_desc {
> >>>    
> >>>           enum ath79_soc_type soc;
> >>> 
> >>> diff --git a/arch/mips/mach-ath79/reset.c
> >>> b/arch/mips/mach-ath79/reset.c index 410b900..fe32d80 100644
> >>> --- a/arch/mips/mach-ath79/reset.c
> >>> +++ b/arch/mips/mach-ath79/reset.c
> >>> @@ -9,7 +9,7 @@
> >>> 
> >>>    #include <asm/io.h>
> >>>    #include <asm/addrspace.h>
> >>>    #include <asm/types.h>
> >>> 
> >>> -#include <asm/arch/ath79.h>
> >>> +#include <mach/ath79.h>
> >>> 
> >>>    #include <mach/ar71xx_regs.h>
> >>>    
> >>>    void _machine_restart(void)
> >>> 
> >>> --->8---
> >> 
> >> Marek, you can try my repository at
> >> https://github.com/willswang/u-boot-ath79,
> >> I have fixed the compiling issue about headers.
> >> I'm very sorry about this compiling error, my work tree have a residual
> >> symbol
> >> link between arch/mips/include/asm/arch and
> >> arch/mips/mach-ath79/include/mach.
> >> it was not removed when i executed "make clean" to rebuild,  so, my
> >> compiling
> >> didn't discover this problem before this. now i clone this remote branch
> >> into a new
> >> location and find this issue.
> > 
> > You should do git clean -fdx to zap everything before doing the rebuild
> > and repost. This way, you can be sure that you have no residual stuff in
> > your tree.
> > 
> > Also, if make clean doesn't remove objects , there is some other problem
> > which needs attention.
> > 
> >>> Once I managed to fix things, I compiled ap121. I tried booting it on
> >>> arduino yun (ar9331), but it hung in start.S in setup_c0_status . If I
> >>> comment this out, it hangs in lowlevel_init, right at the beginning.
> >>> That's where I gave up.
> > 
> > What about this one? Did you ever boot-test these patches ? I can
> > probably understand why setup_c0_status might hang, but I don't quite
> > understand why would lowlevel_init hang so early.
> 
> Did your board still hang if compiling from my repository?

I don't see any difference in start.S and lowlevel_init.S , so probably yes.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-01-16 19:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-04 11:06 [U-Boot] [PATCH v6 00/10] add support for atheros ath79 based SOCs Wills Wang
2016-01-16  5:26 ` Marek Vasut
2016-01-16 13:15   ` Wills Wang
2016-01-16 15:33     ` Marek Vasut
2016-01-16 16:08       ` Wills Wang
2016-01-16 19:04         ` Marek Vasut

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