<br><font size=2 face="sans-serif">Hi</font>
<br>
<br><font size=2 face="sans-serif">I am working on porting linux to a custom
board based on MPC5200, which has a PCF8563 real time clock connected via
i2c2_io and i2c2_clk pins.</font>
<br><font size=2 face="sans-serif">It looks like this same combination
is used on the PM520 board.</font>
<br>
<br><font size=2 face="sans-serif">I am using u-boot and it was a breeze
getting this combination to work in u-boot. &nbsp;I just added the right
CONFIG_s and the u-boot date command worked</font>
<br><font size=2 face="sans-serif">without any problems.</font>
<br>
<br><font size=2 face="sans-serif">I am however having a more difficult
time getting the linux kernel (linuxppc_2_4_devel from Denx) to work with
PCF8563. &nbsp;I get errors from rtc_rd( ), but I</font>
<br><font size=2 face="sans-serif">can't understand why. &nbsp;I have compared
the i2c clock signals between u-boot and linux and noticed that the clock
signal is different with linux. &nbsp; The third clock</font>
<br><font size=2 face="sans-serif">pulse is much narrower than the others,
whereas with u-boot the clock pulses are all even. &nbsp;But I can't figure
out why the i2c clock behaves differently with linux.</font>
<br><font size=2 face="sans-serif">Attached is the console output.</font>
<br>
<br><font size=2 face="sans-serif">Any thoughts ?</font>
<br>
<br>
<br><font size=2 face="sans-serif">Thanks,</font>
<br><font size=2 face="sans-serif">Jón Benediktsson</font>
<br><font size=2 face="sans-serif">Marel hf.</font>
<br>
<br>
<br><font size=2 face="sans-serif">Memory BAT mapping: BAT2=32Mb, BAT3=0Mb,
residual: 0Mb</font>
<br><font size=2 face="sans-serif">Linux version 2.4.25 (jonb@tux.marel.is)
(gcc version 3.2.2 20030217 (Yellow Dog</font>
<br><font size=2 face="sans-serif">&nbsp;Linux 3.0 3.2.2-2a_1)) #46 Fim
Sep 23 17:43:42 UTC 2004</font>
<br><font size=2 face="sans-serif">On node 0 totalpages: 8192</font>
<br><font size=2 face="sans-serif">zone(0): 8192 pages.</font>
<br><font size=2 face="sans-serif">zone(1): 0 pages.</font>
<br><font size=2 face="sans-serif">zone(2): 0 pages.</font>
<br><font size=2 face="sans-serif">Kernel command line: root=/dev/nfs rw
nfsroot=10.100.1.30:/opt/eldk/ppc_82xx ip=</font>
<br><font size=2 face="sans-serif">10.100.50.68:10.100.1.30:10.100.254.254:255.255.0.0:ns4:eth0:off
panic=1</font>
<br><font size=2 face="sans-serif">Calibrating delay loop (skipped)...
0.05 BogoMIPS</font>
<br><font size=2 face="sans-serif">Memory: 29992k available (1348k kernel
code, 452k data, 76k init, 0k highmem)</font>
<br><font size=2 face="sans-serif">Dentry cache hash table entries: 4096
(order: 3, 32768 bytes)</font>
<br><font size=2 face="sans-serif">Inode cache hash table entries: 2048
(order: 2, 16384 bytes)</font>
<br><font size=2 face="sans-serif">Mount cache hash table entries: 512
(order: 0, 4096 bytes)</font>
<br><font size=2 face="sans-serif">Buffer cache hash table entries: 1024
(order: 0, 4096 bytes)</font>
<br><font size=2 face="sans-serif">Page-cache hash table entries: 8192
(order: 3, 32768 bytes)</font>
<br><font size=2 face="sans-serif">POSIX conformance testing by UNIFIX</font>
<br><font size=2 face="sans-serif">PCI: Probing PCI hardware</font>
<br><font size=2 face="sans-serif">Linux NET4.0 for Linux 2.4</font>
<br><font size=2 face="sans-serif">Based upon Swansea University Computer
Society NET3.039</font>
<br><font size=2 face="sans-serif">Initializing RT netlink socket</font>
<br><font size=2 face="sans-serif">Starting kswapd</font>
<br><font size=2 face="sans-serif">Journalled Block Device driver loaded</font>
<br><font size=2 face="sans-serif">JFFS2 version 2.2. (C) 2001-2003 Red
Hat, Inc.</font>
<br><font size=2 face="sans-serif">i2c-core.o: i2c core module version
2.6.1 (20010830)</font>
<br><font size=2 face="sans-serif">i2c-dev.o: i2c /dev entries driver module
version 2.6.1 (20010830)</font>
<br><font size=2 face="sans-serif">i2c-proc.o version 2.6.1 (20010830)</font>
<br><font size=2 face="sans-serif">pty: 256 Unix98 ptys configured</font>
<br><font size=2 face="sans-serif">ttyS0 on PSC1</font>
<br><font size=2 face="sans-serif">ttyS1 on PSC2</font>
<br><font size=2 face="sans-serif">ttyS2 on PSC3</font>
<br><font size=2 face="sans-serif">PCF8563 Real-Time Clock Driver $Revision:
1.3 $ wd@denx.de</font>
<br><font size=2 face="sans-serif">RAMDISK driver initialized: 16 RAM disks
of 4096K size 1024 blocksize</font>
<br><font size=2 face="sans-serif">loop: loaded (max 8 devices)</font>
<br><font size=2 face="sans-serif">Uniform Multi-Platform E-IDE driver
Revision: 7.00beta4-2.4</font>
<br><font size=2 face="sans-serif">ide: Assuming 33MHz system bus speed
for PIO modes; override with idebus=xx</font>
<br><font size=2 face="sans-serif">Port Config is: 0x91050404</font>
<br><font size=2 face="sans-serif">ipb=66MHz, set clock period to 15</font>
<br><font size=2 face="sans-serif">GPIO config: 91050404</font>
<br><font size=2 face="sans-serif">ATA invalid: 00800000</font>
<br><font size=2 face="sans-serif">ATA hostcnf: 03000000</font>
<br><font size=2 face="sans-serif">ATA pio1 &nbsp; : 100a0a00</font>
<br><font size=2 face="sans-serif">ATA pio2 &nbsp; : 02040600</font>
<br><font size=2 face="sans-serif">XLB Arb cnf: 80002006</font>
<br><font size=2 face="sans-serif">mpc5xxx_ide: Setting up IDE interface
ide0...</font>
<br><font size=2 face="sans-serif">Probing IDE interface ide0...</font>
<br><font size=2 face="sans-serif">hda: SAMSUNG CF/ATA, CFA DISK drive</font>
<br><font size=2 face="sans-serif">ide0 at 0xf0003a60-0xf0003a67,0xf0003a5c
on irq 45</font>
<br><font size=2 face="sans-serif">hda: attached ide-disk driver.</font>
<br><font size=2 face="sans-serif">hda: 507904 sectors (260 MB) w/1KiB
Cache, CHS=992/16/32</font>
<br><font size=2 face="sans-serif">Partition check:</font>
<br><font size=2 face="sans-serif">&nbsp;hda: hda1 hda2 hda3 hda4</font>
<br><font size=2 face="sans-serif">Icecube Bank 0: Found 1 x16 devices
at 0x0 in 8-bit mode</font>
<br><font size=2 face="sans-serif">&nbsp;Amd/Fujitsu Extended Query Table
at 0x0040</font>
<br><font size=2 face="sans-serif">Icecube Bank 0: CFI does not contain
boot bank location. Assuming top.</font>
<br><font size=2 face="sans-serif">number of CFI chips: 1</font>
<br><font size=2 face="sans-serif">cfi_cmdset_0002: Disabling erase-suspend-program
due to code brokenness.</font>
<br><font size=2 face="sans-serif">Icecube flash bank 0: Using static image
partition definition</font>
<br><font size=2 face="sans-serif">Creating 5 MTD partitions on &quot;Icecube
Bank 0&quot;:</font>
<br><font size=2 face="sans-serif">0x00000000-0x00800000 : &quot;Spare&quot;</font>
<br><font size=2 face="sans-serif">0x00800000-0x00900000 : &quot;kernel&quot;</font>
<br><font size=2 face="sans-serif">0x00900000-0x00c00000 : &quot;initrd&quot;</font>
<br><font size=2 face="sans-serif">0x00c00000-0x00f00000 : &quot;jffs&quot;</font>
<br><font size=2 face="sans-serif">0x00f00000-0x01000000 : &quot;Firmware&quot;</font>
<br><font size=2 face="sans-serif">i2c-core.o: client [PCF8563] registered
to adapter [PM520 I2C module #2 interfac</font>
<br><font size=2 face="sans-serif">e](pos. 0).</font>
<br><font size=2 face="sans-serif">RTC switching kernel pointers</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">Get RTC year: ff mon/cent: ff mday:
ff wday: ff hr: ff min: ff sec: ff</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">Alarms: wday: ff day: ff hour: ff min:
ff</font>
<br><font size=2 face="sans-serif">PCF8563 RTC Low Voltage - date/time
not reliable</font>
<br><font size=2 face="sans-serif">get rtc [dec] year=2165 mon=25 day=45
hour=45 min=85 sec=85</font>
<br><font size=2 face="sans-serif">Set System Time from RTC Time: 1925913489</font>
<br><font size=2 face="sans-serif">RTC installed, minor 135</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">PCF8563 RTC Low Voltage - date/time
not reliable</font>
<br><font size=2 face="sans-serif">rtc_wr(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_wr(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_wr(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_rd(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_wr(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_wr(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_wr(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_wr(): i2c transfer error</font>
<br><font size=2 face="sans-serif">rtc_wr(): i2c transfer error</font>
<br><font size=2 face="sans-serif">i2c-algo-5xxx.o: scanning bus PM520
I2C module #2 interface...</font>
<br><font size=2 face="sans-serif">(0x00)(0x01)(0x02)(0x03)(0x04)(0x05)(0x06)(0x07)(0x08)(0x09)(0x0a)(0x0b)(0x0c)(0</font>
<br><font size=2 face="sans-serif">x0d)(0x0e)(0x0f)(0x10)(0x11)(0x12)(0x13)(0x14)(0x15)(0x16)(0x17)(0x18)(0x19)(0x1</font>
<br><font size=2 face="sans-serif">a)(0x1b)(0x1c)(0x1d)(0x1e)(0x1f)(0x20)(0x21)(0x22)(0x23)(0x24)(0x25)(0x26)(0x27)</font>
<br><font size=2 face="sans-serif">(0x28)(0x29)(0x2a)(0x2b)(0x2c)(0x2d)(0x2e)(0x2f)(0x30)(0x31)(0x32)(0x33)(0x34)(0</font>
<br><font size=2 face="sans-serif">x35)(0x36)(0x37)(0x38)(0x39)(0x3a)(0x3b)(0x3c)(0x3d)(0x3e)(0x3f)(0x40)(0x41)(0x4</font>
<br><font size=2 face="sans-serif">2)(0x43)(0x44)(0x45)(0x46)(0x47)(0x48)(0x49)(0x4a)(0x4b)(0x4c)(0x4d)(0x4e)(0x4f)</font>
<br><font size=2 face="sans-serif">(0x50)(0x51)(0x52)(0x53)(0x54)(0x55)(0x56)(0x57)(0x58)(0x59)(0x5a)(0x5b)(0x5c)(0</font>
<br><font size=2 face="sans-serif">x5d)(0x5e)(0x5f)(0x60)(0x61)(0x62)(0x63)(0x64)(0x65)(0x66)(0x67)(0x68)(0x69)(0x6</font>
<br><font size=2 face="sans-serif">a)(0x6b)(0x6c)(0x6d)(0x6e)(0x6f)(0x70)(0x71)(0x72)(0x73)(0x74)(0x75)(0x76)(0x77)</font>
<br><font size=2 face="sans-serif">(0x78)(0x79)(0x7a)(0x7b)(0x7c)(0x7d)(0x7e)(0x7f)</font>
<br><font size=2 face="sans-serif">i2c-pm520.o: I2C module #2 installed</font>
<br><font size=2 face="sans-serif">NET4: Linux TCP/IP 1.0 for NET4.0</font>
<br><font size=2 face="sans-serif">eth0: Phy @ 0x0, type DP83847 (0x20005c30)</font>
<br><font size=2 face="sans-serif">IP Protocols: ICMP, UDP, TCP, IGMP</font>
<br><font size=2 face="sans-serif">IP: routing cache hash table of 512
buckets, 4Kbytes</font>
<br><font size=2 face="sans-serif">TCP: Hash tables configured (established
2048 bind 4096)</font>
<br><font size=2 face="sans-serif">eth0: config: auto-negotiation on, 100FDX,
100HDX, 10FDX, 10HDX.</font>
<br><font size=2 face="sans-serif">eth0: Waiting for the link to be up...</font>
<br><font size=2 face="sans-serif">eth0: status: link up, 100 Mbps Half
Duplex.</font>
<br><font size=2 face="sans-serif">IP-Config: Complete:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; device=eth0, addr=10.100.50.68,
mask=255.255.0.0, gw=10.100.254.254,</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp;host=ns4, domain=,
nis-domain=(none),</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp;bootserver=10.100.1.30,
rootserver=10.100.1.30, rootpath=</font>
<br><font size=2 face="sans-serif">NET4: Unix domain sockets 1.0/SMP for
Linux NET4.0.</font>
<br><font size=2 face="sans-serif">Looking up port of RPC 100003/2 on 10.100.1.30</font>
<br><font size=2 face="sans-serif">Looking up port of RPC 100005/1 on 10.100.1.30</font>
<br><font size=2 face="sans-serif">VFS: Mounted root (nfs filesystem).</font>
<br><font size=2 face="sans-serif">Freeing unused kernel memory: 76k init</font>
<br><font size=2 face="sans-serif">INIT: version 2.84 booting</font>
<br>