All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Simek <michal.simek@xilinx.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/4] board: topic_miamilite: Support cost-reduced version
Date: Tue, 22 Jan 2019 08:30:54 +0100	[thread overview]
Message-ID: <92ec1316-fcc5-1978-60c5-6c8fb3d6b137@xilinx.com> (raw)
In-Reply-To: <d9ed5145-315b-a475-e6e8-da3fdef538e7@topic.nl>

On 18. 01. 19 9:34, Mike Looijmans wrote:
> On 07-09-18 11:30, Michal Simek wrote:
>> On 24.8.2018 14:00, Mike Looijmans wrote:
>>> To reduce board cost, the topic-miamilite board hardware was adapted. It now
>>> only has single QSPI NOR flash and a single DDR RAM chip. This reduces the
>>> memory interface to 16-bit and halves the available RAM and flash.
>>>
>>> Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
>>> ---
>>>   arch/arm/dts/zynq-topic-miamilite.dts                |  7 ++++---
>>>   board/topic/zynq/zynq-topic-miamilite/ps7_init_gpl.c | 14 +++++++-------
>>>   board/topic/zynq/zynq-topic-miamilite/ps7_regs.txt   | 14 +++++++-------
>>>   include/configs/topic_miami.h                        |  7 +++++--
>>>   include/configs/topic_miamilite.h                    | 11 +++++++++++
>>>   5 files changed, 34 insertions(+), 19 deletions(-)
>>>   create mode 100644 include/configs/topic_miamilite.h
>>>
>>> diff --git a/arch/arm/dts/zynq-topic-miamilite.dts b/arch/arm/dts/zynq-topic-miamilite.dts
>>> index 366fd5b..c06549c 100644
>>> --- a/arch/arm/dts/zynq-topic-miamilite.dts
>>> +++ b/arch/arm/dts/zynq-topic-miamilite.dts
>>> @@ -9,8 +9,9 @@
>>>   / {
>>>   	model = "Topic Miami Lite Zynq Board";
>>>   	compatible = "topic,miamilite", "xlnx,zynq-7000";
>>> -};
>>>   
>>> -&qspi {
>>> -	is-dual = <1>;
>>> +	memory at 0 {
>>> +		device_type = "memory";
>>> +		reg = <0x0 0x20000000>;
>>> +	};
>>>   };
>>> diff --git a/board/topic/zynq/zynq-topic-miamilite/ps7_init_gpl.c b/board/topic/zynq/zynq-topic-miamilite/ps7_init_gpl.c
>>> index afec403..28670bd 100644
>>> --- a/board/topic/zynq/zynq-topic-miamilite/ps7_init_gpl.c
>>> +++ b/board/topic/zynq/zynq-topic-miamilite/ps7_init_gpl.c
>>> @@ -59,7 +59,7 @@ static unsigned long ps7_clock_init_data_3_0[] = {
>>>   };
>>>   
>>>   static unsigned long ps7_ddr_init_data_3_0[] = {
>>> -	EMIT_MASKWRITE(0xF8006000, 0x0001FFFFU, 0x00000080U),
>>> +	EMIT_MASKWRITE(0xF8006000, 0x0001FFFFU, 0x00000084U),
>>>   	EMIT_MASKWRITE(0xF8006004, 0x0007FFFFU, 0x00001081U),
>>>   	EMIT_MASKWRITE(0xF8006008, 0x03FFFFFFU, 0x03C0780FU),
>>>   	EMIT_MASKWRITE(0xF800600C, 0x03FFFFFFU, 0x02001001U),
>>> @@ -74,9 +74,9 @@ static unsigned long ps7_ddr_init_data_3_0[] = {
>>>   	EMIT_MASKWRITE(0xF8006030, 0xFFFFFFFFU, 0x00040930U),
>>>   	EMIT_MASKWRITE(0xF8006034, 0x13FF3FFFU, 0x000116D4U),
>>>   	EMIT_MASKWRITE(0xF8006038, 0x00000003U, 0x00000000U),
>>> -	EMIT_MASKWRITE(0xF800603C, 0x000FFFFFU, 0x00000777U),
>>> -	EMIT_MASKWRITE(0xF8006040, 0xFFFFFFFFU, 0xFFF00000U),
>>> -	EMIT_MASKWRITE(0xF8006044, 0x0FFFFFFFU, 0x0F666666U),
>>> +	EMIT_MASKWRITE(0xF800603C, 0x000FFFFFU, 0x00000666U),
>>> +	EMIT_MASKWRITE(0xF8006040, 0xFFFFFFFFU, 0xFFFF0000U),
>>> +	EMIT_MASKWRITE(0xF8006044, 0x0FFFFFFFU, 0x0F555555U),
>>>   	EMIT_MASKWRITE(0xF8006048, 0x0003F03FU, 0x0003C008U),
>>>   	EMIT_MASKWRITE(0xF8006050, 0xFF0F8FFFU, 0x77010800U),
>>>   	EMIT_MASKWRITE(0xF8006058, 0x00010000U, 0x00000000U),
>>> @@ -102,8 +102,8 @@ static unsigned long ps7_ddr_init_data_3_0[] = {
>>>   	EMIT_MASKWRITE(0xF8006114, 0x000000FFU, 0x00000000U),
>>>   	EMIT_MASKWRITE(0xF8006118, 0x7FFFFFCFU, 0x40000001U),
>>>   	EMIT_MASKWRITE(0xF800611C, 0x7FFFFFCFU, 0x40000001U),
>>> -	EMIT_MASKWRITE(0xF8006120, 0x7FFFFFCFU, 0x40000001U),
>>> -	EMIT_MASKWRITE(0xF8006124, 0x7FFFFFCFU, 0x40000001U),
>>> +	EMIT_MASKWRITE(0xF8006120, 0x7FFFFFCFU, 0x40000000U),
>>> +	EMIT_MASKWRITE(0xF8006124, 0x7FFFFFCFU, 0x40000000U),
>>>   	EMIT_MASKWRITE(0xF800612C, 0x000FFFFFU, 0x0003482CU),
>>>   	EMIT_MASKWRITE(0xF8006130, 0x000FFFFFU, 0x00033032U),
>>>   	EMIT_MASKWRITE(0xF8006134, 0x000FFFFFU, 0x0002E81FU),
>>> @@ -140,7 +140,7 @@ static unsigned long ps7_ddr_init_data_3_0[] = {
>>>   	EMIT_MASKWRITE(0xF80062B0, 0x003FFFFFU, 0x00005125U),
>>>   	EMIT_MASKWRITE(0xF80062B4, 0x0003FFFFU, 0x000012A8U),
>>>   	EMIT_MASKPOLL(0xF8000B74, 0x00002000U),
>>> -	EMIT_MASKWRITE(0xF8006000, 0x0001FFFFU, 0x00000081U),
>>> +	EMIT_MASKWRITE(0xF8006000, 0x0001FFFFU, 0x00000085U),
>>>   	EMIT_MASKPOLL(0xF8006054, 0x00000007U),
>>>   	EMIT_EXIT(),
>>>   };
>>> diff --git a/board/topic/zynq/zynq-topic-miamilite/ps7_regs.txt b/board/topic/zynq/zynq-topic-miamilite/ps7_regs.txt
>>> index db6e642..08d5344 100644
>>> --- a/board/topic/zynq/zynq-topic-miamilite/ps7_regs.txt
>>> +++ b/board/topic/zynq/zynq-topic-miamilite/ps7_regs.txt
>>> @@ -1,5 +1,5 @@
>>>   0xF8000120 0x1F000200 // ARM_CLK_CTRL - divisor = 2 433 MHz (?)
>>> -0xf8000700 0x202
>>> +0xf8000700 0x200
>>>   0xf8000704 0x202
>>>   0xf8000708 0x202
>>>   0xf800070c 0x202
>>> @@ -8,11 +8,11 @@
>>>   0xf8000718 0x202
>>>   0xf800071c 0x200
>>>   0xf8000720 0x202
>>> -0xf8000724 0x202
>>> -0xf8000728 0x202
>>> -0xf800072c 0x202
>>> -0xf8000730 0x202
>>> -0xf8000734 0x202
>>> +0xf8000724 0x200
>>> +0xf8000728 0x200
>>> +0xf800072c 0x200
>>> +0xf8000730 0x200
>>> +0xf8000734 0x200
>>>   0xf8000738 0x12e1
>>>   0xf800073c 0x12e0
>>>   0xf8000740 0x1200
>>> @@ -58,4 +58,4 @@
>>>   0xF800014C 0x00000621 // LQSPI_CLK_CTRL - ARMPLL/6 (200 MHz)
>>>   0xE000D000 0x800238C1 // QSPI config - divide-by-2
>>>   0xE000D038 0x00000020 // QSPI loopback - internal, 0 delay
>>> -0xE000D0A0 0xE2FF06EB // LQSPI_CFG - Quad read, dual flash
>>> +0xE000D0A0 0x82FF04EB // LQSPI_CFG - QIOREAD mode, Numonyx/Micron
>>> diff --git a/include/configs/topic_miami.h b/include/configs/topic_miami.h
>>> index f14c4ee..c32c63c 100644
>>> --- a/include/configs/topic_miami.h
>>> +++ b/include/configs/topic_miami.h
>>> @@ -57,9 +57,12 @@
>>>   /* Setup proper boot sequences for Miami boards */
>>>   
>>>   #if defined(CONFIG_USB)
>>> +# ifndef ENV_USB_RESET
>>> +#  define ENV_USB_RESET "i2c dev 1 && i2c mw 41 1 ff && i2c mw 41 3 fe && "\
>>> +		"i2c mw 41 1 fe && i2c mw 41 1 ff"
>>> +# endif
>>>   # define EXTRA_ENV_USB \
>>> -	"usbreset=i2c dev 1 && i2c mw 41 1 ff && i2c mw 41 3 fe && "\
>>> -		"i2c mw 41 1 fe && i2c mw 41 1 ff\0" \
>>> +	"usbreset=" ENV_USB_RESET "\0" \
>>>   	"usbboot=run usbreset && if usb start; then " \
>>>   		"echo Booting from USB... && " \
>>>   		"if load usb 0 0x1900000 ${bootscript}; then "\
>>> diff --git a/include/configs/topic_miamilite.h b/include/configs/topic_miamilite.h
>>> new file mode 100644
>>> index 0000000..7ec48d4
>>> --- /dev/null
>>> +++ b/include/configs/topic_miamilite.h
>>> @@ -0,0 +1,11 @@
>>> +/*
>>> + * (C) Copyright 2017 Topic Embedded Products
>>> + *
>>> + * Configuration for Miami Lite Zynq Evaluation and Development Board
>>> + *
>>> + * SPDX-License-Identifier:	GPL-2.0+
>>> + */
>>> +
>>> +/* USB reset is on GPIO signal instead of expander */
>>> +#define ENV_USB_RESET "gpio clear 0 && gpio set 0"
>>> +#include "topic_miami.h"
>>>
>> I would prefer if you can use CONFIG_SYS_EXTRA_OPTIONS
>> and do not create additional file just for this.
>>
>> Just use any GPIO_USB_RESET or similar
>>
>> #if !defined()
>> expander
>> #else
>> gpio
>> #endif
> 
> I was implementing this, but in README.kconfig it was stated that:
> ... Eventually CONFIG_SYS_EXTRA_OPTIONS will go away.
> CONFIG_SYS_EXTRA_OPTIONS should not be used for new boards...
> 
> I haven't yet been able to come up with a solution that doesn't require an 
> extra header file.

right now you have an option to write a driver for it. Is it any
i2c-gpio controller on the board for that?

Thanks,
Michal

  reply	other threads:[~2019-01-22  7:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-24 12:00 [U-Boot] [PATCH 0/4] Topic board support updates Mike Looijmans
2018-08-24 12:00 ` [U-Boot] [PATCH 1/4] topic-miamiplus: Run CPU at 800MHz for speedgrade-2 Mike Looijmans
2018-09-07  9:28   ` Michal Simek
2018-08-24 12:00 ` [U-Boot] [PATCH 2/4] board: topic_miamilite: Support cost-reduced version Mike Looijmans
2018-09-07  9:30   ` Michal Simek
2019-01-18  8:34     ` Mike Looijmans
2019-01-22  7:30       ` Michal Simek [this message]
2018-08-24 12:00 ` [U-Boot] [PATCH 3/4] configs/topic_miami.h: Use same partitioning for USB boot as for SD Mike Looijmans
2018-09-07  9:30   ` Michal Simek
2018-08-24 12:00 ` [U-Boot] [PATCH 4/4] board: topic-miamiplus: Run IO PLL at 1000 MHz Mike Looijmans
2018-09-07  9:30   ` Michal Simek

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=92ec1316-fcc5-1978-60c5-6c8fb3d6b137@xilinx.com \
    --to=michal.simek@xilinx.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.