Register basic devices for Loongson-1A, and setup clk for UART. Signed-off-by: Binbin Zhou <zhoubb@xxxxxxxxxx> Signed-off-by: HuaCai Chen <chenhc@xxxxxxxxxx> --- arch/mips/loongson32/Makefile | 6 ++++++ arch/mips/loongson32/ls1a/Makefile | 5 +++++ arch/mips/loongson32/ls1a/board.c | 31 +++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 arch/mips/loongson32/ls1a/Makefile create mode 100644 arch/mips/loongson32/ls1a/board.c diff --git a/arch/mips/loongson32/Makefile b/arch/mips/loongson32/Makefile index 1ab2c5b..cd1f597 100644 --- a/arch/mips/loongson32/Makefile +++ b/arch/mips/loongson32/Makefile @@ -5,6 +5,12 @@ obj-$(CONFIG_MACH_LOONGSON32) += common/ # +# Loongson LS1A board +# + +obj-$(CONFIG_LOONGSON1_LS1A) += ls1a/ + +# # Loongson LS1B board # diff --git a/arch/mips/loongson32/ls1a/Makefile b/arch/mips/loongson32/ls1a/Makefile new file mode 100644 index 0000000..dc23a9a --- /dev/null +++ b/arch/mips/loongson32/ls1a/Makefile @@ -0,0 +1,5 @@ +# +# Makefile for loongson1A based machines. +# + +obj-y += board.o diff --git a/arch/mips/loongson32/ls1a/board.c b/arch/mips/loongson32/ls1a/board.c new file mode 100644 index 0000000..7993f6c --- /dev/null +++ b/arch/mips/loongson32/ls1a/board.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2016 Binbin Zhou <zhoubb@xxxxxxxxxx> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ + +#include <platform.h> + +static struct platform_device *ls1a_platform_devices[] __initdata = { + &ls1x_uart_pdev, + &ls1x_eth0_pdev, + &ls1x_eth1_pdev, + &ls1x_rtc_pdev, + &ls1x_wdt_pdev, + &ls1x_ahci_pdev, + &ls1x_ohci_pdev, +}; + +static int __init ls1a_platform_init(void) +{ + ls1x_serial_set_uartclk(&ls1x_uart_pdev); + ls1x_rtc_set_extclk(&ls1x_rtc_pdev); + + return platform_add_devices(ls1a_platform_devices, + ARRAY_SIZE(ls1a_platform_devices)); +} + +arch_initcall(ls1a_platform_init); -- 2.9.3