Commit Graph

556 Commits

Author SHA1 Message Date
phx
fe1c21f416 Add QNAP reboot, reset and button handling functions.
Introduced an optional init function per board, which can set LEDs and other
special hardware to an initial state using the satellite processor.
2011-03-26 22:36:34 +00:00
phx
87469af515 Recognize QNAP V200 board, used in the TS-201 and newer TS-101 models. 2011-03-26 22:20:04 +00:00
phx
d8c31ef485 Updated information for D-Link and QNAP. 2011-03-26 22:18:06 +00:00
phx
b65ff74068 QNAP support. Detect wm(4) based V1.02 and re(4) based V200 boards.
That should include all TS-101 and TS-201 models.
Add reset-code and LED-illumination code for the QNAP PIC, which listens
on the second UART with 19200 bps.
2011-03-26 17:55:05 +00:00
phx
e821698c19 More networking options. 2011-03-20 17:10:46 +00:00
phx
ddf0053263 The DSM-G600 U-Boot is so restricted that there is no possibility to pass
any bootargs. So we will just do the default multiuser boot from wd0: when
altboot was started together with a Linux initrd image.
2011-03-20 02:07:05 +00:00
phx
fcc4672d90 DLink DSM-G600 IDSEL-14 (USB) needs special handling: Pin A is mapped to
EPIC-IRQ 1, but Pin C must be mapped to IRQ 2.
2011-03-19 19:54:02 +00:00
phx
f96a3d06f6 Add ral(4) and stge(4) for DLink DSM-G600.
Disabled DIAGNOSTIC.
2011-03-19 16:05:35 +00:00
phx
bb3d014cec With the new boot argument "altboot" the program can replace itself with a
new binary while running.
The default boot path was changed from nfs: to wd0:.
Bumped altboot version to 1.7.
2011-03-13 15:23:43 +00:00
phx
907f2e574e Enter interactive mode, when a key is pressed within two seconds. 2011-03-13 01:56:21 +00:00
phx
d06124ce5c The DSM-G600's satellite microcontroller provides no possibility to reboot
or powerdown the board, so we can only support reboot by falling back to
a default reboot procedure.
The default procedure will turn off interrupts and the MMU, then jump
through the firmware's reset vector (0xfff00100).
2011-03-12 16:49:16 +00:00
phx
17f303af9f When rebooting flush the instruction pipeline first, then do an absolute
jump to 0xfff00100.
2011-03-12 16:46:31 +00:00
phx
eac0e0053d Introduced an optional shutdown function for all network interfaces.
This is needed to stop a NIF and make it return to a known state. A running
NIF may cause all sorts of bad effects, like for example making it impossible
to reboot a board without a hardware-reset function.
2011-03-12 16:41:23 +00:00
phx
5f7cc0f228 Some code cleanup, suggested by nisimura@. 2011-03-11 17:46:30 +00:00
phx
c874b8909d Make sure the device class is IDE (class 0, subclass 1), before checking
the PCI interface for native/legacy mode. Different subclasses are always
assumed being in native mode. That makes the Acard IDE controller work.

New macros for PCI interface, revision and class.
2011-03-10 21:11:49 +00:00
phx
635fb9c2cc Check the PCI-interface for legacy/native mode, not the PCI-revision. 2011-03-09 20:35:56 +00:00
phx
64f00bc3be DLink DSM-G600 button handling.
There are no commands to reboot or poweroff a G600, though.
2011-03-09 20:33:57 +00:00
phx
cbde51df40 Driver seems to work now. Successfully booted a kernel via BOOTP and NFS on
an ST1023-compatible IC+ IP1000A chip.
2011-03-08 19:00:38 +00:00
phx
8562228c6f mkdigit() didn't work with values which have bit 31 set (>=0x80000000).
Do not cast to (int).
2011-03-07 22:18:46 +00:00
phx
948ee160e6 Renamed "stg" to "stge" as in the kernel. 2011-03-06 20:36:29 +00:00
phx
fa5740cd0f Suport for loading a kernel from memory (RAM, ROM or Flash).
The boot file path should look like "mem:<address>", where <address> is
the start address, in hex notation, of the file in memory.
2011-03-06 18:22:13 +00:00
bouyer
063f96f3c2 merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
2011-03-06 17:08:10 +00:00
phx
b79587cca2 New experimental driver for SundanceIT ST1023 / IP1000+ NICs.
PHY initialization, media select and MAC address are working, but I found no
way to make the chip transmit any frame yet (although it clears the DONE flag).

Moved DSK_DECL to globals.h, where NIF_DECL already was.
2011-03-06 13:55:12 +00:00
phx
1b9ef66f08 Revert the major number for satmgr(4) back to 100 and allocate it from
majors.powerpc, as suggested by matt@.
2011-03-01 09:17:06 +00:00
phx
efac3e47ba Build altboot.img, which fakes a Linux kernel module, loadable with "bootm",
for extremely stripped U-Boot firmware. Arguments are passed through the
"bootargs" environment variable, which is detected automatically when
using bootm.
The startup code also fixes a bug in bootm, which doesn't flush the cache
before running the image.
2011-02-26 20:11:24 +00:00
phx
a1b66a73cd Changed satmgr(4) device major number from 100 to 144, which is reserved
for local/vendor use according to src/sys/conf/majors. This prevents
problems when the shared PowerPC device majors list gets another entry.
2011-02-26 09:52:16 +00:00
phx
356132d33a Print "interrupting at". Improved style guide conformance. 2011-02-24 19:32:34 +00:00
nisimura
2a814b26a9 - remove the mangled lines of the previous commit.
- withdraw DS407 description for now as pieces of info are conflicting
  and remain uncertain.
2011-02-14 13:05:00 +00:00
nisimura
3a5f9065a4 add Thecus N3200 to the research list. Along with N1200 they use
MPC8347 single PCI SoC.
2011-02-14 12:36:38 +00:00
nisimura
e7b1b1b97d add EPIC definition for Netronics NH230/NH231 and the brothers. 2011-02-14 09:00:04 +00:00
nisimura
01a00b1b9a - add preliminary Netronics NH230 and NH231 supports.
- assign PCI configuration register 0x3c with IDSEL value by PCI framework,
  eliminating most of pcifixup() logic in simple NASes.
2011-02-14 06:21:29 +00:00
phx
1d0441d004 Added a note that only the Rev.B is supported for D-Link DSM-G600. 2011-02-13 20:39:11 +00:00
phx
0b5b6e489b uvideo works, so include it 2011-02-13 20:37:26 +00:00
nisimura
4ac8cbf6c5 add Thecus N1200 NAS information. It looks a fairly close sibling
of Freescale MPC8349mITX eval featuring I2C controlled satellite MCU.
2011-02-12 03:25:37 +00:00
phx
0afe193f6d Sorted out NH230 based bords. Added NH230 IRQ mapping.
LevelOne FNS-5000B seems identical to QNAP TS-201.
2011-02-11 12:26:04 +00:00
phx
7997b707ad Fixed typo. Added AMS150. 2011-02-10 17:11:33 +00:00
nisimura
336f46057f - add D-Link EPIC defition to pci_machdep.c
- change the way to reboot/pwroff to make satmgr.c more flexible for
  a multiple byte sat protocol.
2011-02-10 13:54:45 +00:00
nisimura
02a02bc0e7 - some rework for PCI device enumeration.
- allow dual IDE/SATA devices.
- fix a typo of D-Link #define.
2011-02-10 13:38:08 +00:00
phx
c08a223c49 Added LevelOne NASCon and some Nettronix based devices. 2011-02-08 12:21:26 +00:00
nisimura
4ef0ac7ab4 - add preliminary code to support D-Link DSM-G600 rev.B NAS.
- it features 9600bps console, Moto MCU on the 2nd DUART channel,
  ACARD ATP865 PCIIDE and IP Plus IP1000A GbE.  It has MiniPCI
  slot.
2011-02-08 00:33:05 +00:00
phx
9db32a0d38 StorCenter models are called 250, 500 and 1T. 2011-02-07 19:20:35 +00:00
nisimura
908c083e0e - add D-Link GSM-G600 info. IP1000A is supposed a member of stge(4).
- move StorCenter info as it looks correct.
2011-02-07 15:58:35 +00:00
nisimura
c4da6fc812 add StorCenter heuristic by PCI vendor ID detection. 2011-02-07 13:35:21 +00:00
nisimura
0bc06ff35b add Dallas I2C RTC driver for StorCenter, leaving it commented out for now. 2011-02-07 12:51:18 +00:00
nisimura
bf1aad3bf0 add IOMEGA StorCenter fixup codes. Need more change as the satellite
microcontroller protocol is defined in 8-byte fixed length sequence.
2011-02-07 12:45:21 +00:00
phx
3a340652fb Included sys/arc/sandpoint/stand/altboot in the build process.
Install altboot and altboot.bin in /usr/mdec and copy them also into the
installation directory of the sandpoint release.
2011-01-28 22:15:35 +00:00
phx
f752ef7556 Debugging output is only visible when DEBUG is defined. 2011-01-27 17:38:04 +00:00
phx
3e7ea907ca Some cleanup. No functional change. 2011-01-27 16:13:51 +00:00
nisimura
717da00c62 remove an excess echo line accidentally creeped in. 2011-01-27 04:54:40 +00:00
nisimura
5311358b9c arrange vers.c generation to honour MKREPRO for global build control. 2011-01-27 04:32:49 +00:00
nisimura
9f531b55b7 one more twist to complete newvers_stand.sh transition. Include timestamp
in banner.
2011-01-26 13:36:49 +00:00
phx
4ce3172075 bootprog_maker and bootprog_date are missing since we switched to the
MI newvers_stand.sh script. Remove the refering information line.
2011-01-26 13:13:25 +00:00
nisimura
785ee28dab switch to use newvers_stand.sh as suggested by joerg@ 2011-01-23 07:41:38 +00:00
nisimura
54f1d6dfb4 fix a failure in the sign extension consideration. 2011-01-23 02:08:24 +00:00
nisimura
8c432abc24 - add "ll" modifier to printf.
- be more conscious about int type propagation.
- add missing version and newvers.sh
2011-01-23 01:32:08 +00:00
nisimura
b75de01970 change bootloader name to "altboot". bump version and add README. 2011-01-23 01:05:29 +00:00
joerg
3c550524b5 Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh.  Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
2011-01-22 19:19:14 +00:00
nisimura
d8d2bb5d28 - make sure to wait for BUSY bit goes down prior to each 512B block
read from xfer register, or corrupted datum may be retrieved.  Uncovered
by corrected PIO READ_CMD value.
- remove redundant register assignments to set transfer mode.
2011-01-22 00:32:41 +00:00
matt
51db1c5cf3 Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
2011-01-17 08:23:53 +00:00
phx
c6e30a94f2 Add some USB devices, which I tested successfully.
Replace tab by blank after a device name, where it was forgotten.
2011-01-15 23:06:07 +00:00
phx
6f325f1347 Configure transfer mode registers to PIO mode. It seems to work without, but
just to be on the safe side.
2011-01-13 21:54:14 +00:00
phx
d7e7e38c1b Rewritten to take advantage of the new MI motoi2c code. 2011-01-12 18:09:03 +00:00
nisimura
9fb96e0290 - remove duplicate an opt include line.
- restore a lost indent.
2011-01-12 07:38:43 +00:00
nisimura
30ae008b2a step forward to MODULAR sandpoint kernel. disabled until all work gets done. 2011-01-11 13:29:09 +00:00
nisimura
88e9af105e make sure to have 32B aligned descriptor array. 2011-01-11 10:10:48 +00:00
nisimura
25f1d04e74 always have even numbered descriptors to avoid ones belong to Tx/Rx
share the same cacheline even for 32B cacheline CPU. These six are
provisional code stocks and untested.
2011-01-11 09:45:25 +00:00
nisimura
7b058564f1 move module load address printf() to show the correct value. Still
some more work.
2011-01-11 08:19:34 +00:00
nisimura
1c813b2944 add MODULAR loading facility. Disabled for now 'til it gets ready to use. 2011-01-11 08:04:14 +00:00
nisimura
192fab1859 move set_xfermode() call to set PIO0 before the initial drive
identification.
2011-01-11 07:01:21 +00:00
nisimura
1655c840ce add btinfo_modulelist for MODULAR component loading. 2011-01-11 06:57:35 +00:00
phx
12b3b97cc9 Try to increase compatibility with all controllers when reading the status. 2011-01-10 20:18:19 +00:00
phx
82908c64ed Accept "wd[N[p]]:" (with N=disk and p=partition) for specifying a disk drive. 2011-01-10 20:16:42 +00:00
phx
7232363c11 Do not crash, but use "netbsd" as default file name when missing. 2011-01-10 20:14:52 +00:00
phx
812c3a1ea3 Make disk-booting work on Synology by using a PIO ATA-read command (0x20)
instead of the DMA read command (0xc8). This should work for all platforms.
Included the soft-reset in the siisata driver.
2011-01-10 20:13:47 +00:00
phx
900029be74 Try to detect Iomega Storcenter board (untested). 2011-01-10 18:35:49 +00:00
phx
7a4bf1d4d4 Some new information and cleanup. 2011-01-10 13:45:57 +00:00
phx
93f78709c7 fixed message: "is found" -> "was found" 2011-01-09 22:59:40 +00:00
matt
6a66466f0c Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits.  Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
2010-12-20 00:25:23 +00:00
hannken
afdfce8e3b Remove unused count from pseudo-device md. 2010-11-23 11:13:52 +00:00
uebayasi
29de20e7d1 sys/device.h is not suitable for such low-level definitions. 2010-11-13 14:07:06 +00:00
nisimura
1206eed28e Update copyright notice. This code was completely replaced with
Frank Wille's effort and has no substance made by me anymore.
2010-10-31 11:08:06 +00:00
phx
daa6745796 Erroneously committed test code. Reverted to previous revision. 2010-08-08 11:58:26 +00:00
phx
ba6687ff1b Minor source cleanup. Suggested by Kiyohara. 2010-08-08 11:54:45 +00:00
phx
167fe0b1f6 Removed double WAPBL option. Fixed typo. 2010-08-07 19:18:04 +00:00
phx
aa177d77fa Erroneously committed my test code. Reverted to 1.9. 2010-07-23 20:04:52 +00:00
phx
11fbee9ae9 Fixed error in loop counter variable for lba_read().
Patch by Toru Nishimura.
2010-07-23 20:01:27 +00:00
tsutsui
d78cceb1e3 Remove obsolete __HAVE_GENERIC_SOFT_INTERRUPTS,
which is mandatory since 2007/07:
http://mail-index.NetBSD.org/source-changes/2007/07/14/0039.html
2010-07-17 15:25:57 +00:00
phx
5ee594fe76 Code to set PCI cfg xfer mode registers of 0680A IDE, to make sure the
chip is in PIO mode.
Patch submitted by Toru Nishimura.
2010-07-17 14:15:34 +00:00
phx
1924b919bc Determine the boot disk with bootinfo cookie.
Patch submitted by Toru Nishimura.
2010-06-30 17:50:34 +00:00
phx
9daf9967b6 Add file system snapshot device. 2010-06-30 17:49:32 +00:00
phx
791937a070 No longer needed. See dsk.c. 2010-06-27 12:09:41 +00:00
phx
1e968eb269 Replaced test code for Synology SiI3512 with working KuroBox code again. 2010-06-27 12:09:17 +00:00
phx
7d0b196352 - add IDE/SATA diskboot facility
known ok with KuroBox PCIIDE, need more debug on SiI3512 SATA
which fails reading sectors from a drive.

- now capable of TFTP loading

Code submitted by Toru Nishimura.
2010-06-26 22:13:32 +00:00
phx
a23e0160ee - add IDE/SATA diskboot facility
known ok with KuroBox PCIIDE, need more debug on SiI3512 SATA
which fails reading sectors from a drive.

- now capable of TFTP loading

Code submitted by Toru Nishimura.
2010-06-26 21:45:49 +00:00
phx
39b0fd3abd The sandpoint port is now focussed on 824x based NAS boxes.
Replaced GENERIC by GENERIC.NAS.
Added INSTALL_KURO for KuroBox.
GENERIC.NAS and RAMDISK are no longer needed.
2010-06-09 17:34:32 +00:00
phx
7e7ef0c0e2 Applied a patch by Toru Nishimura:
Fixed kmutex usage error and replaced tsleep by cv_waitsig.
Now "cat /dev/satmgr" no longer panics when pressing a button.
2010-06-03 10:44:21 +00:00
phx
04ac7f705e 'satmgr' device for communicating with the satellite processor found on many
MPC824x-based systems. It registers the power button to sysmon and sets
a reboot/shutdown callback for cpu_reboot(). Other functions can be controlled
through /dev/satmgr.
Currently there is support for KuroBox and Synology, which will be extended
as soon more platforms have been reasearched.
This patch was submitted by Toru Nishimura.
2010-05-29 22:47:02 +00:00
phx
85bd3e3229 QNAP support (untested): PCI fixup and corrected PCI address lines (+1).
Patch submitted by Toru Nishimura.
2010-05-28 15:45:11 +00:00
phx
811cef32d8 Added some more precise LinkStation/TeraStation and Synology product names. 2010-05-27 15:35:46 +00:00
phx
027439443b Disable EPIC_DEBUGIRQ. Reenable when needed. 2010-05-27 14:54:42 +00:00