malta: Use device model & tree for UART

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@imgtec.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
master
Paul Burton 8 years ago committed by Daniel Schwierzeck
parent 2e7eb12e5c
commit 6242aa1374
  1. 4
      arch/mips/Kconfig
  2. 1
      arch/mips/dts/Makefile
  3. 32
      arch/mips/dts/mti,malta.dts
  4. 2
      configs/malta_defconfig
  5. 2
      configs/maltael_defconfig
  6. 6
      include/configs/malta.h

@ -23,7 +23,11 @@ config TARGET_QEMU_MIPS
config TARGET_MALTA
bool "Support malta"
select DM
select DM_SERIAL
select DYNAMIC_IO_PORT_BASE
select OF_CONTROL
select OF_ISA_BUS
select SUPPORTS_BIG_ENDIAN
select SUPPORTS_LITTLE_ENDIAN
select SUPPORTS_CPU_MIPS32_R1

@ -4,6 +4,7 @@
dtb-$(CONFIG_TARGET_AP121) += ap121.dtb
dtb-$(CONFIG_TARGET_AP143) += ap143.dtb
dtb-$(CONFIG_TARGET_MALTA) += mti,malta.dtb
dtb-$(CONFIG_TARGET_PIC32MZDASK) += pic32mzda_sk.dtb
dtb-$(CONFIG_BOARD_TPLINK_WDR4300) += tplink_wdr4300.dtb

@ -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@0 {
compatible = "isa";
#address-cells = <2>;
#size-cells = <1>;
ranges = <1 0 0 0x1000>;
uart0: serial@3f8 {
compatible = "ns16550a";
reg = <1 0x3f8 0x40>;
reg-shift = <0>;
clock-frequency = <1843200>;
u-boot,dm-pre-reloc;
};
};
};

@ -1,5 +1,6 @@
CONFIG_MIPS=y
CONFIG_TARGET_MALTA=y
CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="malta # "
# CONFIG_CMD_LOADB is not set
@ -9,5 +10,6 @@ CONFIG_SYS_PROMPT="malta # "
CONFIG_CMD_DHCP=y
# CONFIG_CMD_NFS is not set
CONFIG_CMD_PING=y
CONFIG_OF_EMBED=y
CONFIG_SYS_NS16550=y
CONFIG_USE_PRIVATE_LIBGCC=y

@ -1,6 +1,7 @@
CONFIG_MIPS=y
CONFIG_TARGET_MALTA=y
CONFIG_SYS_LITTLE_ENDIAN=y
CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="maltael # "
# CONFIG_CMD_LOADB is not set
@ -10,5 +11,6 @@ CONFIG_SYS_PROMPT="maltael # "
CONFIG_CMD_DHCP=y
# CONFIG_CMD_NFS is not set
CONFIG_CMD_PING=y
CONFIG_OF_EMBED=y
CONFIG_SYS_NS16550=y
CONFIG_USE_PRIVATE_LIBGCC=y

@ -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

Loading…
Cancel
Save