diff options
Diffstat (limited to 'sys/arch/loongson')
-rw-r--r-- | sys/arch/loongson/conf/GENERIC | 6 | ||||
-rw-r--r-- | sys/arch/loongson/conf/RAMDISK | 6 | ||||
-rw-r--r-- | sys/arch/loongson/loongson/machdep.c | 6 | ||||
-rw-r--r-- | sys/arch/loongson/loongson/yeeloong_machdep.c | 40 |
4 files changed, 48 insertions, 10 deletions
diff --git a/sys/arch/loongson/conf/GENERIC b/sys/arch/loongson/conf/GENERIC index beb0b8ac699..3946cf5142f 100644 --- a/sys/arch/loongson/conf/GENERIC +++ b/sys/arch/loongson/conf/GENERIC @@ -1,4 +1,4 @@ -# $OpenBSD: GENERIC,v 1.18 2010/02/28 22:39:13 miod Exp $ +# $OpenBSD: GENERIC,v 1.19 2010/03/02 20:54:51 miod Exp $ # # For further information on compiling OpenBSD kernels, see the config(8) # man page. @@ -36,7 +36,7 @@ apm0 at mainbus0 bonito* at mainbus0 pci* at bonito? -# Lemote Fuloong 2F and Lemote Yeeloong devices +# Lemote Lynloong, Lemote Fuloong 2F and Lemote Yeeloong devices glxpcib* at pci? isa0 at glxpcib? mcclock0 at isa? port 0x70 @@ -50,7 +50,7 @@ com0 at isa? port 0x2f8 irq 3 # Fuloong 2F only com1 at isa? port 0x3f8 irq 4 # Fuloong 2F only (IR port) pciide* at pci? wd* at pciide? flags 0x0000 -sisfb* at pci? # Fuloong 2F only +sisfb* at pci? # Lynloong/Fuloong 2F only wsdisplay* at sisfb? smfb* at pci? # Yeeloong only wsdisplay* at smfb? diff --git a/sys/arch/loongson/conf/RAMDISK b/sys/arch/loongson/conf/RAMDISK index d0d834b9be9..eea22315c1c 100644 --- a/sys/arch/loongson/conf/RAMDISK +++ b/sys/arch/loongson/conf/RAMDISK @@ -1,4 +1,4 @@ -# $OpenBSD: RAMDISK,v 1.10 2010/02/28 22:32:50 miod Exp $ +# $OpenBSD: RAMDISK,v 1.11 2010/03/02 20:54:51 miod Exp $ # # For further information on compiling OpenBSD kernels, see the config(8) # man page. @@ -47,7 +47,7 @@ clock0 at mainbus0 bonito* at mainbus0 pci* at bonito? -# Lemote Fuloong 2F and Lemote Yeeloong devices +# Lemote Lynloong, Lemote Fuloong 2F and Lemote Yeeloong devices glxpcib* at pci? isa0 at glxpcib? mcclock0 at isa? port 0x70 @@ -59,7 +59,7 @@ wsmouse* at pmsi? mux 0 # Yeeloong only com0 at isa? port 0x2f8 irq 3 # Fuloong 2F only pciide* at pci? wd* at pciide? flags 0x0000 -sisfb* at pci? # Fuloong 2F only +sisfb* at pci? # Lynloong/Fuloong 2F only wsdisplay* at sisfb? smfb* at pci? # Yeeloong only wsdisplay* at smfb? diff --git a/sys/arch/loongson/loongson/machdep.c b/sys/arch/loongson/loongson/machdep.c index dc62898e656..f8d15e6244e 100644 --- a/sys/arch/loongson/loongson/machdep.c +++ b/sys/arch/loongson/loongson/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.16 2010/02/17 17:17:35 jasper Exp $ */ +/* $OpenBSD: machdep.c,v 1.17 2010/03/02 20:54:51 miod Exp $ */ /* * Copyright (c) 2009, 2010 Miodrag Vallat. @@ -155,10 +155,12 @@ struct bonito_flavour { extern const struct platform fuloong_platform; extern const struct platform gdium_platform; +extern const struct platform lynloong_platform; extern const struct platform yeeloong_platform; const struct bonito_flavour bonito_flavours[] = { /* Lemote Fuloong 2F mini-PC */ + /* how different is LM6003 ? */ { "LM6004", &fuloong_platform }, /* EMTEC Gdium Liberty 1000 */ { "Gdium", &gdium_platform }, @@ -167,6 +169,8 @@ const struct bonito_flavour bonito_flavours[] = { /* supposedly Lemote Yeeloong 10.1" netbook, but those found so far report themselves as LM8089 */ { "LM8101", &yeeloong_platform }, + /* Lemote Lynloong all-in-one computer */ + { "LM9001", &lynloong_platform }, { NULL } }; diff --git a/sys/arch/loongson/loongson/yeeloong_machdep.c b/sys/arch/loongson/loongson/yeeloong_machdep.c index d413711f458..5d25381f039 100644 --- a/sys/arch/loongson/loongson/yeeloong_machdep.c +++ b/sys/arch/loongson/loongson/yeeloong_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: yeeloong_machdep.c,v 1.10 2010/03/01 09:29:37 otto Exp $ */ +/* $OpenBSD: yeeloong_machdep.c,v 1.11 2010/03/02 20:54:51 miod Exp $ */ /* * Copyright (c) 2009, 2010 Miodrag Vallat. @@ -17,7 +17,8 @@ */ /* - * Lemote Fuloong 2F and Yeeloong specific code and configuration data. + * Lemote {Fu,Lyn,Yee}loong specific code and configuration data. + * (this file really ought to be named lemote_machdep.c by now) */ #include <sys/param.h> @@ -85,8 +86,26 @@ const struct legacy_io_range fuloong_legacy_ranges[] = { { 0x376, 0x376 }, { 0x3f6, 0x3f6 }, /* com */ - { IO_COM1, IO_COM1 + 8 }, + { IO_COM1, IO_COM1 + 8 }, /* IR port */ + { IO_COM2, IO_COM2 + 8 }, /* serial port */ + + { 0 } +}; + +const struct legacy_io_range lynloong_legacy_ranges[] = { + /* isa */ + { IO_DMAPG + 4, IO_DMAPG + 4 }, + /* mcclock */ + { IO_RTC, IO_RTC + 1 }, + /* pciide */ + { 0x170, 0x170 + 7 }, + { 0x1f0, 0x1f0 + 7 }, + { 0x376, 0x376 }, + { 0x3f6, 0x3f6 }, +#if 0 /* no external connector */ + /* com */ { IO_COM2, IO_COM2 + 8 }, +#endif { 0 } }; @@ -125,6 +144,21 @@ const struct platform fuloong_platform = { .reset = lemote_reset }; +const struct platform lynloong_platform = { + .system_type = LOONGSON_LYNLOONG, + .vendor = "Lemote", + .product = "Lynloong", + + .bonito_config = &lemote_bonito, + .legacy_io_ranges = lynloong_legacy_ranges, + + .setup = fuloong_setup, + .device_register = lemote_device_register, + + .powerdown = fuloong_powerdown, + .reset = lemote_reset +}; + const struct platform yeeloong_platform = { .system_type = LOONGSON_YEELOONG, .vendor = "Lemote", |