[U-Boot] [PATCH 4/5 v2] mips: Add Gardena Smart-Gateway board support

Stefan Roese sr at denx.de
Wed Aug 15 14:39:56 UTC 2018


On 15.08.2018 16:36, Daniel Schwierzeck wrote:
> 
> 
> On 10.08.2018 09:48, Stefan Roese wrote:
>> The Gardena Smart-Gateway boards have a MT7688 SoC with 128 MiB of RAM
>> and 8 MiB of flash (SPI NOR) and additional 128MiB SPI NAND storage.
>>
>> This patch also includes 2 targets. One is the target that can be
>> programmed into the SPI NOR flash and a 2nd target "xxx-ram" is
>> added to support loading and booting via an already running U-Boot
>> version. This allows easy development and testing without the
>> need to flash the image each time.
>>
>> Signed-off-by: Stefan Roese <sr at denx.de>
>> Cc: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
>> ---
>> v2:
>> - No change
>>
>>   .../mips/dts/gardena-smart-gateway-mt7688.dts | 54 +++++++++++++++
>>   arch/mips/mach-mt7620/Kconfig                 |  9 +++
>>   board/gardena/smart-gateway-mt7688/Kconfig    | 12 ++++
>>   .../gardena/smart-gateway-mt7688/MAINTAINERS  |  8 +++
>>   board/gardena/smart-gateway-mt7688/Makefile   |  3 +
>>   board/gardena/smart-gateway-mt7688/board.c    | 18 +++++
>>   ...gardena-smart-gateway-mt7688-ram_defconfig | 68 +++++++++++++++++++
>>   .../gardena-smart-gateway-mt7688_defconfig    | 67 ++++++++++++++++++
>>   .../configs/gardena-smart-gateway-mt7688.h    | 56 +++++++++++++++
>>   9 files changed, 295 insertions(+)
>>   create mode 100644 arch/mips/dts/gardena-smart-gateway-mt7688.dts
>>   create mode 100644 board/gardena/smart-gateway-mt7688/Kconfig
>>   create mode 100644 board/gardena/smart-gateway-mt7688/MAINTAINERS
>>   create mode 100644 board/gardena/smart-gateway-mt7688/Makefile
>>   create mode 100644 board/gardena/smart-gateway-mt7688/board.c
>>   create mode 100644 configs/gardena-smart-gateway-mt7688-ram_defconfig
>>   create mode 100644 configs/gardena-smart-gateway-mt7688_defconfig
>>   create mode 100644 include/configs/gardena-smart-gateway-mt7688.h
>>
>> diff --git a/arch/mips/dts/gardena-smart-gateway-mt7688.dts b/arch/mips/dts/gardena-smart-gateway-mt7688.dts
>> new file mode 100644
>> index 0000000000..6b2600a446
>> --- /dev/null
>> +++ b/arch/mips/dts/gardena-smart-gateway-mt7688.dts
>> @@ -0,0 +1,54 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * Copyright (C) 2018 Stefan Roese <sr at denx.de>
>> + */
>> +
>> +/dts-v1/;
>> +
>> +#include "mt7628a.dtsi"
>> +
>> +/ {
>> +	compatible = "gardena,smart-gateway-mt7688", "ralink,mt7628a-soc";
>> +	model = "Gardena smart-Gateway-MT7688";
>> +
>> +	aliases {
>> +		serial0 = &uart0;
>> +		spi0 = &spi0;
>> +	};
>> +
>> +	memory at 0 {
>> +		device_type = "memory";
>> +		reg = <0x0 0x08000000>;
>> +	};
>> +
>> +	chosen {
>> +		bootargs = "console=ttyS0,57600";
>> +		stdout-path = &uart0;
>> +	};
>> +};
>> +
>> +&uart0 {
>> +	status = "okay";
>> +	clock-frequency = <40000000>;
>> +};
>> +
>> +&spi0 {
>> +	status = "okay";
>> +	num-cs = <2>;
>> +
>> +	spi-flash at 0 {
>> +		#address-cells = <1>;
>> +		#size-cells = <1>;
>> +		compatible = "spi-flash", "jedec,spi-nor";
>> +		spi-max-frequency = <25000000>;
>> +		reg = <0>;
>> +	};
>> +
>> +	spi-nand at 1 {
>> +		#address-cells = <1>;
>> +		#size-cells = <1>;
>> +		compatible = "spi-nand";
>> +		spi-max-frequency = <25000000>;
>> +		reg = <1>;
>> +	};
>> +};
>> diff --git a/arch/mips/mach-mt7620/Kconfig b/arch/mips/mach-mt7620/Kconfig
>> index ef1211d172..13a7bd2cc0 100644
>> --- a/arch/mips/mach-mt7620/Kconfig
>> +++ b/arch/mips/mach-mt7620/Kconfig
>> @@ -21,6 +21,14 @@ endchoice
>>   choice
>>   	prompt "Board select"
>>   
>> +config BOARD_GARDENA_SMART_GATEWAY_MT7688
>> +	bool "Gardena Smart Gateway"
>> +	depends on SOC_MT7620
>> +	select SUPPORTS_BOOT_RAM
>> +	help
>> +	  Gardena Smart Gateway boards have a MT7688 SoC with 128 MiB of RAM
>> +	  and 8 MiB of flash (SPI NOR) and additional SPI NAND storage.
>> +
>>   config BOARD_LINKIT_SMART_7688
>>   	bool "LinkIt Smart 7688"
>>   	depends on SOC_MT7620
>> @@ -121,6 +129,7 @@ endchoice
>>   config SUPPORTS_BOOT_RAM
>>   	bool
>>   
>> +source "board/gardena/smart-gateway-mt7688/Kconfig"
>>   source "board/seeed/linkit-smart-7688/Kconfig"
>>   
>>   endmenu
>> diff --git a/board/gardena/smart-gateway-mt7688/Kconfig b/board/gardena/smart-gateway-mt7688/Kconfig
>> new file mode 100644
>> index 0000000000..3653f8aadb
>> --- /dev/null
>> +++ b/board/gardena/smart-gateway-mt7688/Kconfig
>> @@ -0,0 +1,12 @@
>> +if BOARD_GARDENA_SMART_GATEWAY_MT7688
>> +
>> +config SYS_BOARD
>> +	default "smart-gateway-mt7688"
>> +
>> +config SYS_VENDOR
>> +	default "gardena"
>> +
>> +config SYS_CONFIG_NAME
>> +	default "gardena-smart-gateway-mt7688"
>> +
>> +endif
>> diff --git a/board/gardena/smart-gateway-mt7688/MAINTAINERS b/board/gardena/smart-gateway-mt7688/MAINTAINERS
>> new file mode 100644
>> index 0000000000..bbb491c1ce
>> --- /dev/null
>> +++ b/board/gardena/smart-gateway-mt7688/MAINTAINERS
>> @@ -0,0 +1,8 @@
>> +GARDENA_SMART_GATEWAY_MT7688 BOARD
>> +M:	Stefan Roese <sr at denx.de>
>> +S:	Maintained
>> +F:	board/gardena/smart-gateway-mt7688
>> +F:	include/configs/gardena-smart-gateway-mt7688.h
>> +F:	configs/gardena-smart-gateway-mt7688_defconfig
>> +F:	configs/gardena-smart-gateway-mt7688-ram_defconfig
>> +F:	arch/mips/dts/gardena-smart-gateway-mt7688.dts
>> diff --git a/board/gardena/smart-gateway-mt7688/Makefile b/board/gardena/smart-gateway-mt7688/Makefile
>> new file mode 100644
>> index 0000000000..70cd7a8e56
>> --- /dev/null
>> +++ b/board/gardena/smart-gateway-mt7688/Makefile
>> @@ -0,0 +1,3 @@
>> +# SPDX-License-Identifier: GPL-2.0+
>> +
>> +obj-y += board.o
>> diff --git a/board/gardena/smart-gateway-mt7688/board.c b/board/gardena/smart-gateway-mt7688/board.c
>> new file mode 100644
>> index 0000000000..a62dc654f2
>> --- /dev/null
>> +++ b/board/gardena/smart-gateway-mt7688/board.c
>> @@ -0,0 +1,18 @@
>> +// SPDX-License-Identifier: GPL-2.0+
>> +/*
>> + * Copyright (C) 2018 Stefan Roese <sr at denx.de>
>> + */
>> +
>> +#include <common.h>
>> +#include <asm/io.h>
>> +
>> +void board_debug_uart_init(void)
>> +{
>> +	/* Nothing to be done here for this board (no UART setup etc) */
>> +}
>> +
>> +int board_early_init_f(void)
>> +{
>> +	/* Nothing to be done here for this board (no UART setup etc) */
>> +	return 0;
>> +}
> 
> do you plan to implement something? Otherwise you could drop those
> functions and if you don't enable CONFIG_BOARD_EARLY_INIT_F and
> CONFIG_DEBUG_UART_BOARD_INIT.

I'm currently working on some other MUX setup (etc) here for this
board. So its very likely that something will be added. But you
are right, DEBUG_UART_BOARD_INIT can very likely be dropped.

Thanks,
Stefan


More information about the U-Boot mailing list