<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0"
 xmlns:blogChannel="http://backend.userland.com/blogChannelModule"
>

<channel>
<title><![CDATA[Dobrica Pavlinušić's random unstructured stuff: DSM-G600]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?dsm_g600</link>
<description></description>
<pubDate>Sun, 14 Oct 2007 22:18:05 -0000</pubDate>
<webMaster>root@saturn.ffzg.hr</webMaster>
<generator>Socialtext Workspace v2.19.0.2</generator>

<item>
<title><![CDATA[DSM-G600]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?dsm_g600</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div>Tags: howto</div><hr/><div class="wiki">
<p>
Collection of some hints about Debian installation on my D-Link DSM-G600:</p>
<div class="nlw_phrase"><table class="wafl_container">
  <tr>
    <td>
      <div class="wafl_box">
        
          <div class="wafl_titlebox">
            <div class="wafl_title">
              
                Contents: [Dobrica Pavlinušić's random unstructured stuff]
              
            </div>
          </div>
          <div class="wafl_items">
            
              <div class="wiki">
<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#resources">Dobrica Pavlinušić's random unstructured stuff (Resources)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Resources} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#firmware_kernel_busybox">Dobrica Pavlinušić's random unstructured stuff (firmware (kernel+busybox))</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] firmware (kernel+busybox)} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#usbfs">Dobrica Pavlinušić's random unstructured stuff (usbfs)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] usbfs} --></span></li>
</ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#usb_printer">Dobrica Pavlinušić's random unstructured stuff (USB printer)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] USB printer} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#kernel_2_4">Dobrica Pavlinušić's random unstructured stuff (Kernel 2.4)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Kernel 2.4} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#kernel_2_6">Dobrica Pavlinušić's random unstructured stuff (Kernel 2.6)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Kernel 2.6} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#new_round_based_on_powerpc_kernels">Dobrica Pavlinušić's random unstructured stuff (New round based on powerpc kernels)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] New round based on powerpc kernels} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#compilation_notes">Dobrica Pavlinušić's random unstructured stuff (Compilation notes)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Compilation notes} --></span></li>
</ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#emulation">Dobrica Pavlinušić's random unstructured stuff (Emulation)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Emulation} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#source_code">Dobrica Pavlinušić's random unstructured stuff (Source code)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Source code} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#board_specification">Dobrica Pavlinušić's random unstructured stuff (Board specification)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Board specification} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#memory_map">Dobrica Pavlinušić's random unstructured stuff (Memory map)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Memory map} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#mtd">Dobrica Pavlinušić's random unstructured stuff (MTD)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] MTD} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#kernel_configuration_options">Dobrica Pavlinušić's random unstructured stuff (Kernel configuration options)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Kernel configuration options} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#irq">Dobrica Pavlinušić's random unstructured stuff (IRQ)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] IRQ} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#mpc10x">Dobrica Pavlinušić's random unstructured stuff (mpc10x)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] mpc10x} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#io_block">Dobrica Pavlinušić's random unstructured stuff (IO block)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] IO block} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#serial">Dobrica Pavlinušić's random unstructured stuff (Serial)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Serial} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#cpu">Dobrica Pavlinušić's random unstructured stuff (CPU)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] CPU} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#led_control_strings">Dobrica Pavlinušić's random unstructured stuff (Led control strings)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Led control strings} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#chassis_status_strings">Dobrica Pavlinušić's random unstructured stuff (Chassis Status Strings)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Chassis Status Strings} --></span></li>
</ul></ul>
</div>

            
            
          </div>
        
      </div>
    </td>
  </tr>
</table>
<!-- wiki: {toc: }
--></div><br /><br /><h1 id="resources">Resources</h1>
<ul>
<li>wiki at <a target="_blank" title="(external link)" href="http://dsmg600.info/">http://dsmg600.info/</a></li>
<li>forum at <a target="_blank" title="(external link)" href="http://forum.dsmg600.info/">http://forum.dsmg600.info/</a></li>
</ul>
<h1 id="firmware_kernel_busybox">firmware (kernel+busybox)</h1>
<p>
It will fix various problems, including, but not limited to, problems with web interface in firefox.</p>
<p>
<a target="_blank" title="(external link)" href="http://download.dsmg600.info/people/sala/fwimage-04-sala-20070128">http://download.dsmg600.info/people/sala/fwimage-04-sala-20070128</a></p>
<p>
I tried to build firmware from source, but had various problems with building gcc. Thet are mostly related to gdb, but after a few random patches it passed compilation (but is broken, because I just commented offending lines).</p>
<h2 id="usbfs">usbfs</h2>
<p>
I also want usbfs which generate compilation errors because of missing files in <tt>include/linux/usbdevice_fs.h</tt><br />
Based on <a target="_blank" title="(external link)" href="http://dsmg600.info/howto:chroot_debian">instructions on wiki<!-- wiki-renamed-hyperlink "instructions on wiki"<http://dsmg600.info/howto:chroot_debian> --></a> and <a target="_blank" title="(external link)" href="http://forum.dsmg600.info/t17-Debian-howto.html">post on forum<!-- wiki-renamed-hyperlink "post on forum"<http://forum.dsmg600.info/t17=-Debian=-howto.html> --></a></p>
<pre>
cd /mnt/HD_a2
export DEBOOTSTRAP_DIR=`pwd`/usr/lib/debootstrap
export PATH=$PATH:/mnt/HD_a2/bin:/mnt/HD_a2/sbin
./usr/sbin/debootstrap --arch powerpc etch /mnt/HD_a2/debian http://ftp.de.debian.org/debian
cp /etc/resolv.conf /mnt/HD_a2/debian/etc/resolv.conf
# prepare chroot jail
mount -t proc proc /mnt/HD_a2/debian/proc
cd /mnt/HD_a2/
./chroot /mnt/HD_a2/debian /bin/bash
# install additional packages
apt-get update
apt-get install locales
dpkg-reconfigure locales
passwd root
apt-get install dropbear hotplug
</pre>
<br /><h1 id="usb_printer">USB printer</h1>
<p>
Kernel module for USB printers for 2.4.21-pre4 kernel: <span class="nlw_phrase"><a href="https://saturn.ffzg.hr/rot13/index.cgi/printer.o?action=attachments_download;page_name=dsm_g600;id=20070430125421-0-10177">printer.o</a><!-- wiki: {file: printer.o} --></span></p>
<p>
After installation of <tt>cupsys</tt> and <tt>foomatic</tt> all went smoothly, USB printer (<a target="_blank" title="(external link)" href="http://openprinting.org/show_printer.cgi?recnum=Samsung-ML-2510">Samsung ML-2510<!-- wiki-renamed-hyperlink "Samsung ML=-2510"<http://openprinting.org/show_printer.cgi?recnum=Samsung=-ML=-2510> --></a>) was found and configured automatically. There are a few more details in <a target="_blank" title="(external link)" href="http://forum.dsmg600.info/t105-Printing.html">this forum thread<!-- wiki-renamed-hyperlink "this forum thread"<http://forum.dsmg600.info/t105=-Printing.html> --></a>.</p>
<h1 id="kernel_2_4">Kernel 2.4</h1>
<p>
As a try to understand this ppc board, I tried to port changes from MontaVista (D-Link used that tree) to current upstream 2.4 kernel and got to the point where SCSI controller times out when reading partition table. This means that board does init, it has serial port which works and has some idea about PCI space (which seems somewhat fishy if you ask me). <span class="nlw_phrase"><a href="https://saturn.ffzg.hr/rot13/index.cgi/linux-2.4.34.4-dsmg600.diff.gz?action=attachments_download;page_name=dsm_g600;id=20070518173548-0-17986">linux-2.4.34.4-dsmg600.diff.gz</a><!-- wiki: {file: linux-=2.4.34.4-=dsmg600.diff.gz} --></span></p>
<p>
Few more details are available in <a target="_blank" title="(external link)" href="http://forum.dsmg600.info/p3067-Today-182143.html#p3067">this forum post<!-- wiki-renamed-hyperlink "this forum post"<http://forum.dsmg600.info/p3067=-Today=-182143.html#p3067> --></a>.</p>
<h1 id="kernel_2_6">Kernel 2.6</h1>
<p>
I have a creazy idea: this device <strong>should</strong> run 2.6! So, here is my work in progress...</p>
<p>
According to <a target="_blank" title="(external link)" href="http://genbako.vodapone.com/">patches for kurobox<!-- wiki-renamed-hyperlink "patches for kurobox"<http://genbako.vodapone.com/> --></a> which is quite similar to our hardware, there isn't any changes in current upstream version execept for missing drivers. For DSM G600 that boils town to <a target="_blank" title="(external link)" href="http://www.icplus.com.tw/driver-pp-IP1000A.html">IP1000<!-- wiki-renamed-hyperlink "IP1000"<http://www.icplus.com.tw/driver=-pp=-IP1000A.html> --></a> network driver, which still isn't in mainland, but seems to be referenced on LKLM as possible inclusion.</p>
<ul>
<li>patch against upstream 2.6.21.1 <span class="nlw_phrase"><a href="https://saturn.ffzg.hr/rot13/index.cgi/linux-2.6.21.1-dsmg600.diff.gz?action=attachments_download;page_name=dsm_g600;id=20070504211324-0-15456">linux-2.6.21.1-dsmg600.diff.gz</a><!-- wiki: {file: linux-=2.6.21.1-=dsmg600.diff.gz} --></span> (adds IP1000A driver for LAN, wifi missing)</li>
</ul>
<p>
Expirince with 2.4 kernel shows that I have to do more porting to make 2.6 port usable. As a start, code for board initialization is specific for DSM-G600 as well as serial port driver. When we have those two things working we can see if <tt>loader.o</tt> could boot our kernel. I think that shouldn't be problem, because <tt>loader.o</tt> origin shows that it's possible to boot 2.6 kernel from 2.4 kernel using <tt>loader.o</tt> module.</p>
<h2 id="new_round_based_on_powerpc_kernels">New round based on powerpc kernels</h2>
<p>
After review of current upstream kernel (2.6.22) and state of <a target="_blank" title="(external link)" href="http://git.kernel.org/?p=linux/kernel/git/galak/powerpc.git;a=summary">powerpc kernel.org repository<!-- wiki-renamed-hyperlink "powerpc kernel.org repository"<http://git.kernel.org/?p=linux/kernel/git/galak/powerpc.git;a=summary> --></a> I decided to base my efforts on this branch.</p>
<p>
For now here are few useful links:</p>
<ul>
<li>dtc compiler: git://www.jdl.com/software/dtc.git</li>
<li><a target="_blank" title="(external link)" href="http://www.kurobox.com/mwiki/index.php/Kurobox_support_in_stock_2.6_kernels">Kurobox support in stock 2.6 kernels<!-- wiki-renamed-hyperlink "Kurobox support in stock 2.6 kernels"<http://www.kurobox.com/mwiki/index.php/Kurobox_support_in_stock_2.6_kernels> --></a></li>
</ul>
<h2 id="compilation_notes">Compilation notes</h2>
<p>
Compile kernel and convert it to binary format for <a target="_blank" title="(external link)" href="http://download.dsmg600.info/people/sala/loader.o">loader.o<!-- wiki-renamed-hyperlink "loader.o"<http://download.dsmg600.info/people/sala/loader.o> --></a>:</p>
<pre>
. env.sh
make
powerpc-linux-objcopy -O binary vmlinux
scp vmlinux disk:/tmp/
</pre>
<br /><p>
Then try out your kernel on DSM:</p>
<pre>
cd /mnt/HD_a2 &amp;&amp; sync &amp;&amp; insmod /mnt/HD_a2/loader.o kernel=/mnt/HD_a2/debian/tmp/vmlinux
</pre>
<br /><p>
Please note that <strong>you must use full path</strong> to kernel binary. Also note that all paths are customized for my particular device (to help with copy/paste :-)</p>
<h1 id="emulation">Emulation</h1>
<p>
It's useful to have development environment for DSM on another machine, so I tried to use <a target="_blank" title="(external link)" href="http://fabrice.bellard.free.fr/qemu/">QEMU<!-- wiki-renamed-hyperlink "QEMU"<http://fabrice.bellard.free.fr/qemu/> --></a> to do so.</p>
<ul>
<li>patch which adds support for <a target="_blank" title="(external link)" href="http://qemu-forum.ipi.fi/viewtopic.php?t=1528">platforms based on MPC82xx<!-- wiki-renamed-hyperlink "platforms based on MPC82xx"<http://qemu=-forum.ipi.fi/viewtopic.php?t=1528> --></a></li>
<li><a target="_blank" title="(external link)" href="http://overselfresearch.com/kb/qemu.html">Installing Debian Sarge for the PowerPC under the QEMU<!-- wiki-renamed-hyperlink "Installing Debian Sarge for the PowerPC under the QEMU"<http://overselfresearch.com/kb/qemu.html> --></a> which I updated to etch to be in sync with DSM</li>
</ul>
<p>
This didn't work quite well as described first in <a target="_blank" title="(external link)" href="http://blog.rot13.org/2007/10/powerpc_emulation.html">this blog post<!-- wiki-renamed-hyperlink "this blog post"<http://blog.rot13.org/2007/10/powerpc_emulation.html> --></a>.</p>
<p>
My efforts right now are into making <a href="https://saturn.ffzg.hr/rot13/index.cgi?gxemul" title="(225 months) This page will document by efforts to implement PowerPC based [DSM-G600] board on GXemul http gavare...">GXemul</a> emulate enough of DSM-G600 to boot <a target="_blank" title="(external link)" href="http://git.rot13.org/?p=linux-2.4.21-pre4.git;a=summary">original D-Link kernel<!-- wiki-renamed-hyperlink "original D=-Link kernel"<http://git.rot13.org/?p=linux=-2.4.21=-pre4.git;a=summary> --></a>.</p>
<h1 id="source_code">Source code</h1>
<p>
All source code is now available <a target="_blank" title="(external link)" href="http://git.rot13.org/">in git repository<!-- wiki-renamed-hyperlink "in git repository"<http://git.rot13.org/> --></a></p>
<h1 id="board_specification">Board specification</h1>
<p>
Here is information that I collected while working on 2.4 port in hope that it will assist me in porting 2.6 kernel</p>
<h2 id="memory_map">Memory map</h2>
<p>
Part of information extracted from u-boot loader, part from kernel source</p>
<pre>
from		to			size

00000000	02000000	02000000	SDRAM 32Mb

80000000	f0000000	70000000	pci mem space?

fc000000	fcc00000	00c00000	EUMB (PCI I/O space)
fcc00000	fcf00000	00300000	pci cfg regs
fcf00000	fd000000	00100000	pci iack

fe000000	febfffff	00c00000	PCI host bridge

ffc00000	ffffffff	00400000	Flash 4Mb
</pre>
<br /><p>
Important addresses:</p>
<pre>
10000000	CFG_MAX_RAM_SIZE, CFG_BANK0_END (u-boot)
40000000	CFG_INIT_RAM_ADDR (u-boot)

c0000000	start of kernel 2.4.21-pre4 VM

80000000 --- PCI memory space ---
bfffd000	PCI 1033:0035 Non-prefetchable memory
bfffe000	PCI 1814:0201 Non-prefetchable memory
c3029f00	PCI 1033:00e0 00:0e.2 irq 2 ciehci_hcd
c3032000	PCI 1033:0035 00:0e.0 irq 1 usb-ohci
c3034000	PCI 1033:0035 00:0e.1 irq -1 usb-ohci disabled
c30ab000	PCI 1814:0201 irq 0 wirel, /sys/cra0
f0000000 --- PCI memory space ---

fc000000 --- EUMB ---
fc040000	OpenPIC_Addr (mpc1)
fc004500	ttyS0
fc004600	ttyS1
fd000000 --- EUMB ---

febffe00-febffe7f : PCI device 1191:0008
febffe00-febffe0f : atp86x
febffee4-febffee7 : PCI device 1191:0008
febffee8-febffeef : PCI device 1191:0008
febffee8-febffeef : atp86x
febffef4-febffef7 : PCI device 1191:0008
febffef8-febffeff : PCI device 1191:0008
febffef8-febffeff : atp86x IDE, irq 4
febfff00-febfffff : PCI device 13f0:1023
febfff00-febffffe : Sundance Technology IPG Triple-Speed Ethernet

ff000000	ROM_CS1_START (on soc?), FLASH_BASE1_PRELIM (u-boot)
ff800000	ROM_CS0_START
ffc00000	FLASH_BASE0_PRELIM (u-boot)
ffc20000	ramdisk load address
fff00000	TEXT_BASE (u-boot)
fff00100	CFG_RESET_ADDRESS
fff10000	boot image load address
</pre>
<br /><p>
Important constants:</p>
<pre>
CFG_NS16550_CLK		100000000

CONFIG_SYS_CLK_FREQ	100000000
</pre>
<br /><h2 id="mtd">MTD</h2>
<p>
Addresses are relative to start of mtd at 0xffc00000</p>
<pre>
0x00000000-0x00010000 : &quot;Linux mtd1&quot;
0x00010000-0x00020000 : &quot;Linux mtd2&quot;
0x00020000-0x00300000 : &quot;Linux Ramdisk&quot;
0x00300000-0x00310000 : &quot;U-BOOT BOOT LOADER&quot;
0x00310000-0x00400000 : &quot;Linux Kernel&quot;
</pre>
<br /><h2 id="kernel_configuration_options">Kernel configuration options</h2>
<p>
From old 2.4 kernel, just something to keep eye on while configuring 2.6 kernels...</p>
<ul>
<li>CONFIG_6xx</li>
<li>CONFIG_SANDPOINT</li>
<li>CONFIG_PPC_ISATIMER</li>
</ul>
<ul>
<li>CONFIG_MTD_PARTITIONS</li>
<li>CONFIG_MTD_CHAR</li>
<li>CONFIG_MTD_BLOCK</li>
</ul>
<ul>
<li>CONFIG_MTD_CFI</li>
<li>CONFIG_MTD_GEN_PROBE</li>
<li>CONFIG_MTD_CFI_AMDSTD</li>
</ul>
<h2 id="irq">IRQ</h2>
<pre>
sandpoint_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin)
{
	static char pci_irq_table[][4] =
	/*
	 *      PCI IDSEL/INTPIN-&gt;INTLINE 
	 *         A   B   C   D
	 */
	{
		{   0,  0,  0,  0 },	/* IDSEL 13 - mini-PCI */
		{   1,  -1,  2,  0 },	/* IDSEL 14 - NEC USB2.0 */
		{   3,  0,  0,  0 },	/* IDSEL 15 - ADM983 */
		{   4,  0,  0,  0 }
	};

	const long min_idsel = 13, max_idsel = 16, irqs_per_slot = 4;
	return PCI_IRQ_TABLE_LOOKUP;
}
</pre>
<br /><pre>
static u_char sandpoint_openpic_initsenses[] __initdata = {
	(IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),	/* 17, EPIC IRQ 1 - PCI1 - flash*/
	(IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),	/* 18, EPIC IRQ 2 - LAN*/
	(IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),	/* 19, EPIC IRQ 3 - Not used*/
	(IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE),	/* 20, EPIC IRQ 4 - Not used*/
	1
}
</pre>
<br /><pre>
sandpoint_init_IRQ(void)
	/* Map EPIC IRQs 0-3 */
	openpic_set_sources(0, 5, OpenPIC_Addr + 0x10200);
	/* Skip reserved space and map i2c and DMA Ch[01] */
	openpic_set_sources(113, 3, OpenPIC_Addr + 0x11020);
	/* Skip reserved space and map Message Unit Interrupt (I2O) */
	openpic_set_sources(118, 1, OpenPIC_Addr + 0x110C0);
	//REX: UART
	openpic_set_sources(121, 1, OpenPIC_Addr + 0x11120); //ttyS0

	openpic_set_sources(122, 1, OpenPIC_Addr + 0x11140);    //ttyS1 jackl
</pre>
<br /><h2 id="mpc10x">mpc10x</h2>
<pre>
mpc10x_bridge_init(hose,
	MPC10X_MEM_MAP_B,
	MPC10X_MEM_MAP_B, MPC10X_MAPB_EUMB_BASE)
</pre>
<br /><p>
should be changed to:</p>
<pre>
mpc10x_bridge_init(hose,
		MPC10X_MEM_MAP_B,
		MPC10X_MEM_MAP_B,
		0xfc000000) == 0) 
</pre>
<br /><h2 id="io_block">IO block</h2>
<p>
consistent with following:</p>
<pre>
-       io_block_mapping(0xfe000000, 0xfe000000, 0x02000000, _PAGE_IO);
+       io_block_mapping(0xfc000000, 0xfc000000, 0x04000000, _PAGE_IO);
</pre>
<br /><h2 id="serial">Serial</h2>
<pre>
#define UART0_INT       121
#define UART1_INT       122

#define SANDPOINT_SERIAL_0 0xFC004500
#define SANDPOINT_SERIAL_1 0xFC004600
</pre>
<br /><h2 id="cpu">CPU</h2>
<pre>
#define CPU_200 1
#define BASE_BAUD (100000000/16)
</pre>
<br /><h2 id="led_control_strings">Led control strings</h2>
<p>
Taken from <a target="_blank" title="(external link)" href="http://www.beattie-home.net/beattie/DSM-G600/">Beattie's page about DSM-G600<!-- wiki-renamed-hyperlink "Beattie's page about DSM=-G600"<http://www.beattie=-home.net/beattie/DSM=-G600/> --></a></p>
<pre>
String 	Function
SYN 	Power led flash, HDD, HDD-Full, USB, WLAN leds off
ZWC 	Turn Power Off
ZWO 	Power led solid
ZBO 	Power led flash
WLO 	WLAN led green
WLC 	WLAN led off
WBO 	WLAN led flash green then off
HDE 	HDD led yellow solid
HDC 	HDD-Full led off
HBO 	HDD-Full led flash yellow
HDN 	HDD led off
MMK 	USB led green
MMF 	USB led yellow
MMC 	USB led off
MMI 	USB led blink green
MUI 	USB led blink yellow
MMN 	USB led off
AKO 	Unknown
TSO 	Power, HDD, USB, WLAN leds green, HDD-Full yellow
TSR 	Power, HDD-Full, WLAN leds off, HDD, USB leds yellow
TSC 	Power, HDD, HDD-Full, USB, WLAN leds off
</pre>
<br /><h2 id="chassis_status_strings">Chassis Status Strings</h2>
<pre>
String 	Bit 	Function
RKO 	0x0001 	
UKO 	0x0002 	
CKO 	0x0004 	
EKO 	0x0008 	
PKO 	0x0100 	
1KO 	0x0200 	
TS1 	0x0010 	
TS2 	0x0020 	
RKR 	0x0040 	
UKR 	0x0080 	
IOK 	0x1000 	
LOK 	0x2000 	
NOK 	0x4000 	
AKI 	0x8000
</pre>
</div>
<hr/><div>Attachments: linux-2.4.34.4-dsmg600.diff.gz, linux-2.6.21.1-dsmg600.diff.gz, printer.o</div>]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category>howto</category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?dsm_g600</guid>
<pubDate>Sun, 14 Oct 2007 22:18:05 -0000</pubDate>
</item>
</channel>
</rss>