[U-Boot] [PATCH v2 5/5] malta: Use device model & tree for UART
Daniel Schwierzeck
daniel.schwierzeck at gmail.com
Mon May 16 20:56:32 CEST 2016
Am 16.05.2016 um 19:44 schrieb Paul Burton:
> Make use of device model & device tree to probe the UART driver. This is
> the initial step in bringing Malta up to date with driver model, and
> allows for cleaner handling of the different I/O addresses for different
> system controllers by specifying the ISA bus address instead of a
> translated memory address.
>
> Signed-off-by: Paul Burton <paul.burton at imgtec.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
nits below
> ---
>
> Changes in v2:
> - Only handle the UART we already use, for simplicity.
>
> arch/mips/Kconfig | 5 +++++
> arch/mips/dts/Makefile | 3 ++-
> arch/mips/dts/mti,malta.dts | 32 ++++++++++++++++++++++++++++++++
> configs/malta_defconfig | 1 +
> configs/maltael_defconfig | 1 +
> include/configs/malta.h | 6 ------
> 6 files changed, 41 insertions(+), 7 deletions(-)
> create mode 100644 arch/mips/dts/mti,malta.dts
>
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index fe37d1f..e407b19 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -23,7 +23,12 @@ config TARGET_QEMU_MIPS
>
> config TARGET_MALTA
> bool "Support malta"
> + select DM
> + select DM_SERIAL
actually DM_SERIAL should be selected in the defconfig. But Malta is a single target so it's ok.
> select DYNAMIC_IO_PORT_BASE
> + select OF_CONTROL
> + select OF_EMBED
but OF_EMBED should go into the defconfig. The user should decide if the DTB should be appended or be embedded.
> + select OF_ISA_BUS
> select SUPPORTS_BIG_ENDIAN
> select SUPPORTS_LITTLE_ENDIAN
> select SUPPORTS_CPU_MIPS32_R1
> diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile
> index b513918..45d623f 100644
> --- a/arch/mips/dts/Makefile
> +++ b/arch/mips/dts/Makefile
> @@ -2,7 +2,8 @@
> # SPDX-License-Identifier: GPL-2.0+
> #
>
> -dtb-$(CONFIG_TARGET_PIC32MZDASK) += pic32mzda_sk.dtb
> +dtb-$(CONFIG_TARGET_MALTA) += mti,malta.dtb
> +dtb-$(CONFIG_TARGET_PIC32MZDASK) += pic32mzda_sk.dtb
this doesn't apply to u-boot-mips/next but I can fix it.
>
> targets += $(dtb-y)
>
> diff --git a/arch/mips/dts/mti,malta.dts b/arch/mips/dts/mti,malta.dts
> new file mode 100644
> index 0000000..1dba606
> --- /dev/null
> +++ b/arch/mips/dts/mti,malta.dts
> @@ -0,0 +1,32 @@
> +/dts-v1/;
> +
> +/memreserve/ 0x00000000 0x00001000; /* Exception vectors */
> +/memreserve/ 0x000f0000 0x00010000; /* PIIX4 ISA memory */
> +
> +/ {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "mti,malta";
> +
> + chosen {
> + stdout-path = &uart0;
> + };
> +
> + isa {
> + compatible = "isa";
> + #address-cells = <2>;
> + #size-cells = <1>;
> + ranges = <1 0 0 0x1000>;
is following dtc warning fixable?
Warning (unit_address_vs_reg): Node /isa has a reg or ranges property, but no unit name
> +
> + uart0: serial at 3f8 {
> + compatible = "ns16550a";
> +
> + reg = <1 0x3f8 0x40>;
> + reg-shift = <0>;
> +
> + clock-frequency = <1843200>;
> +
> + u-boot,dm-pre-reloc;
> + };
> + };
> +};
> diff --git a/configs/malta_defconfig b/configs/malta_defconfig
> index a16f10b..0b5075f 100644
> --- a/configs/malta_defconfig
> +++ b/configs/malta_defconfig
> @@ -11,3 +11,4 @@ CONFIG_CMD_DHCP=y
> CONFIG_CMD_PING=y
> CONFIG_SYS_NS16550=y
> CONFIG_USE_PRIVATE_LIBGCC=y
> +CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
> diff --git a/configs/maltael_defconfig b/configs/maltael_defconfig
> index 5289797..876e806 100644
> --- a/configs/maltael_defconfig
> +++ b/configs/maltael_defconfig
> @@ -12,3 +12,4 @@ CONFIG_CMD_DHCP=y
> CONFIG_CMD_PING=y
> CONFIG_SYS_NS16550=y
> CONFIG_USE_PRIVATE_LIBGCC=y
> +CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
> diff --git a/include/configs/malta.h b/include/configs/malta.h
> index 1c3c83c..e03935b 100644
> --- a/include/configs/malta.h
> +++ b/include/configs/malta.h
> @@ -65,13 +65,7 @@
> * Serial driver
> */
> #define CONFIG_BAUDRATE 115200
> -
> -#define CONFIG_SYS_NS16550_SERIAL
> #define CONFIG_SYS_NS16550_PORT_MAPPED
> -#define CONFIG_SYS_NS16550_REG_SIZE 1
> -#define CONFIG_SYS_NS16550_CLK (115200 * 16)
> -#define CONFIG_SYS_NS16550_COM1 0x3f8
> -#define CONFIG_CONS_INDEX 1
>
> /*
> * Flash configuration
>
--
- Daniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160516/600b8cb0/attachment.sig>
More information about the U-Boot
mailing list