[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:59:03 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:58:53 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:58:43 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:58:13 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:58:05 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:57:55 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:57:48 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:56:07 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:55:59 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:55:50 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:55:41 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:55:08 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:54:59 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:54:51 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:54:44 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:54:19 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:54:08 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:54:00 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:53:40 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:53:12 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:53:03 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:52:55 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:52:42 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:52:11 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:52:01 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:51:53 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:51:41 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:51:09 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:51:00 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:50:51 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:50:42 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:50:10 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:50:00 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:49:53 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:49:42 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:49:15 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:49:06 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:48:57 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:48:50 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:47:09 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:47:01 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:46:51 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:46:43 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:45:42 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:46:10 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:46:01 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:45:52 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:45:13 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:45:05 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:44:57 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:44:43 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:44:10 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:44:02 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:43:53 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:43:43 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:43:13 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:43:02 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:42:53 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:42:43 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:42:22 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:42:13 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:41:53 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:42:04 AM.
Message details:
Server: TAMPA101EM
Sender: scanmailad...@sypris.com;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [MailServer Notification]Web Reputation 
Notification 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:28:33 AM.
Message details:
Server: TAMPA101EM
Sender: brillian...@byterg.ru;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [PATCH 2/3] add new PHY chips support 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:35:50 AM.
Message details:
Server: TAMPA101EM
Sender: brillian...@byterg.ru;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [PATCH 0/3] add new PHY chips support 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:35:43 AM.
Message details:
Server: TAMPA101EM
Sender: brillian...@byterg.ru;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [PATCH 1/3] add new PHY chips support 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [MailServer Notification]Web Reputation Notification

2011-10-03 Thread Administrator
http://www.bestdvr.ru has been detected as
suspicious URLs,and Quarantine to user's spam folder has been
taken on 10/4/2011 2:30:45 AM.
Message details:
Server: TAMPA101EM
Sender: brillian...@byterg.ru;
Recipient: u-boot@lists.denx.de;
Subject: Suspicious URL:[U-Boot] [PATCH 3/3] add new PHY chips support 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 0/4] add mmc support for pantheon platform

2011-10-03 Thread Lei Wen
This patch seris add the mmc support for the pantheon platform.
Also give platform like dkb and aspenite a workaround when enabling
the 8bit mode for accessing the mmc.

Changelog:
V2: remove magic number, and replace it by macro definition and structure
respectively.
remove enable mmc function into seperated patch

Lei Wen (4):
  ARM: pantheon: add mmc definition
  Marvell: dkb: add mmc support
  dkb: make mmc command as default enabled
  mmc: mv_sdhci: fix 8bus width access for 88SV331xV5

 arch/arm/cpu/arm926ejs/pantheon/cpu.c |   11 ++
 arch/arm/include/asm/arch-pantheon/config.h   |   18 ++
 arch/arm/include/asm/arch-pantheon/cpu.h  |   12 +++
 arch/arm/include/asm/arch-pantheon/mfp.h  |   12 +++
 arch/arm/include/asm/arch-pantheon/pantheon.h |7 
 board/Marvell/dkb/dkb.c   |   43 +
 drivers/mmc/mv_sdhci.c|   33 +++
 include/configs/dkb.h |1 +
 8 files changed, 137 insertions(+), 0 deletions(-)

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 1/4] ARM: pantheon: add mmc definition

2011-10-03 Thread Lei Wen
Signed-off-by: Lei Wen 
---
Changelog:
V2: no change

 arch/arm/cpu/arm926ejs/pantheon/cpu.c |   11 +++
 arch/arm/include/asm/arch-pantheon/config.h   |   18 ++
 arch/arm/include/asm/arch-pantheon/cpu.h  |   12 
 arch/arm/include/asm/arch-pantheon/mfp.h  |   12 
 arch/arm/include/asm/arch-pantheon/pantheon.h |7 +++
 5 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/pantheon/cpu.c 
b/arch/arm/cpu/arm926ejs/pantheon/cpu.c
index efc9395..db9b348 100644
--- a/arch/arm/cpu/arm926ejs/pantheon/cpu.c
+++ b/arch/arm/cpu/arm926ejs/pantheon/cpu.c
@@ -42,6 +42,9 @@ int arch_cpu_init(void)
struct panthmpmu_registers *mpmu =
(struct panthmpmu_registers*) PANTHEON_MPMU_BASE;
 
+   struct panthapmu_registers *apmu =
+   (struct panthapmu_registers *) PANTHEON_APMU_BASE;
+
/* set SEL_MRVL_ID bit in PANTHEON_CPU_CONF register */
val = readl(&cpuregs->cpu_conf);
val = val | SET_MRVL_ID;
@@ -65,6 +68,14 @@ int arch_cpu_init(void)
writel(APBC_FNCLK | APBC_APBCLK, &apbclkres->twsi);
 #endif
 
+#ifdef CONFIG_MV_SDHCI
+   /* Enable mmc clock */
+   writel(APMU_PERI_CLK | APMU_AXI_CLK | APMU_PERI_RST | APMU_AXI_RST,
+   &apmu->sd1);
+   writel(APMU_PERI_CLK | APMU_AXI_CLK | APMU_PERI_RST | APMU_AXI_RST,
+   &apmu->sd3);
+#endif
+
icache_enable();
 
return 0;
diff --git a/arch/arm/include/asm/arch-pantheon/config.h 
b/arch/arm/include/asm/arch-pantheon/config.h
index fd23c97..d10583d 100644
--- a/arch/arm/include/asm/arch-pantheon/config.h
+++ b/arch/arm/include/asm/arch-pantheon/config.h
@@ -47,4 +47,22 @@
 #define CONFIG_SYS_I2C_SLAVE   0xfe
 #endif
 
+/*
+ * MMC definition
+ */
+#ifdef CONFIG_CMD_MMC
+#define CONFIG_CMD_FAT 1
+#define CONFIG_MMC 1
+#define CONFIG_GENERIC_MMC 1
+#define CONFIG_SDHCI   1
+#define CONFIG_MMC_SDHCI_IO_ACCESSORS  1
+#define CONFIG_SYS_MMC_MAX_BLK_COUNT   0x1000
+#define CONFIG_MMC_SDMA1
+#define CONFIG_MV_SDHCI1
+#define CONFIG_DOS_PARTITION   1
+#define CONFIG_EFI_PARTITION   1
+#define CONFIG_SYS_MMC_NUM 2
+#define CONFIG_SYS_MMC_BASE{0xD428, 0xd4281000}
+#endif
+
 #endif /* _PANTHEON_CONFIG_H */
diff --git a/arch/arm/include/asm/arch-pantheon/cpu.h 
b/arch/arm/include/asm/arch-pantheon/cpu.h
index 60955c5..94e8371 100644
--- a/arch/arm/include/asm/arch-pantheon/cpu.h
+++ b/arch/arm/include/asm/arch-pantheon/cpu.h
@@ -43,6 +43,17 @@ struct panthmpmu_registers {
 };
 
 /*
+ * Application Power Management (APMU) Registers
+ * Refer Register Datasheet 9.2
+ */
+struct panthapmu_registers {
+   u8 pad0[0x0054];
+   u32 sd1;/*0x0054*/
+   u8 pad1[0x00e0 - 0x054 - 4];
+   u32 sd3;/*0x00e0*/
+};
+
+/*
  * APB Clock Reset/Control Registers
  * Refer Register Datasheet 6.14
  */
@@ -77,5 +88,6 @@ struct panthcpu_registers {
  */
 u32 panth_sdram_base(int);
 u32 panth_sdram_size(int);
+int mv_sdh_init(u32 regbase, u32 max_clk, u32 min_clk, u32 quirks);
 
 #endif /* _PANTHEON_CPU_H */
diff --git a/arch/arm/include/asm/arch-pantheon/mfp.h 
b/arch/arm/include/asm/arch-pantheon/mfp.h
index e939196..b868ab8 100644
--- a/arch/arm/include/asm/arch-pantheon/mfp.h
+++ b/arch/arm/include/asm/arch-pantheon/mfp.h
@@ -38,6 +38,18 @@
 #define MFP54_CI2C_SDA (MFP_REG(0x1b4) | MFP_AF2 | MFP_DRIVE_MEDIUM)
 
 /* More macros can be defined here... */
+#define MFP_MMC1_DAT7  (MFP_REG(0x84) | MFP_AF0 | MFP_DRIVE_MEDIUM)
+#define MFP_MMC1_DAT6  (MFP_REG(0x88) | MFP_AF0 | MFP_DRIVE_MEDIUM)
+#define MFP_MMC1_DAT5  (MFP_REG(0x8c) | MFP_AF0 | MFP_DRIVE_MEDIUM)
+#define MFP_MMC1_DAT4  (MFP_REG(0x90) | MFP_AF0 | MFP_DRIVE_MEDIUM)
+#define MFP_MMC1_DAT3  (MFP_REG(0x94) | MFP_AF0 | MFP_DRIVE_FAST)
+#define MFP_MMC1_DAT2  (MFP_REG(0x98) | MFP_AF0 | MFP_DRIVE_FAST)
+#define MFP_MMC1_DAT1  (MFP_REG(0x9c) | MFP_AF0 | MFP_DRIVE_FAST)
+#define MFP_MMC1_DAT0  (MFP_REG(0xa0) | MFP_AF0 | MFP_DRIVE_FAST)
+#define MFP_MMC1_CMD   (MFP_REG(0xa4) | MFP_AF0 | MFP_DRIVE_FAST)
+#define MFP_MMC1_CLK   (MFP_REG(0xa8) | MFP_AF0 | MFP_DRIVE_FAST)
+#define MFP_MMC1_CD(MFP_REG(0xac) | MFP_AF0 | MFP_DRIVE_MEDIUM)
+#define MFP_MMC1_WP(MFP_REG(0xb0) | MFP_AF0 | MFP_DRIVE_MEDIUM)
 
 #define MFP_PIN_MAX117
 #endif
diff --git a/arch/arm/include/asm/arch-pantheon/pantheon.h 
b/arch/arm/include/asm/arch-pantheon/pantheon.h
index c7fe646..d5e9ba0 100644
--- a/arch/arm/include/asm/arch-pantheon/pantheon.h
+++ b/arch/arm/include/asm/arch-pantheon/pantheon.h
@@ -32,6 +32,12 @@
 /* Functional Clock Selection Mask */
 #define APBC_FNCLKSEL(x)(((x) & 0xf) << 4)
 
+/* Common APMU register bit definitions */
+#define A

[U-Boot] [PATCH V2 4/4] mmc: sdhci: add timeout for data transfer

2011-10-03 Thread Lei Wen
Signed-off-by: Lei Wen 
---
Changelog:
V2: no change

 drivers/mmc/sdhci.c |9 -
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index 31c738e..77a9e70 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -81,8 +81,9 @@ static void sdhci_transfer_pio(struct sdhci_host *host, 
struct mmc_data *data)
 static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data,
unsigned int start_addr)
 {
-   unsigned int stat, rdy, mask, block = 0;
+   unsigned int stat, rdy, mask, timeout, block = 0;
 
+   timeout = 1;
rdy = SDHCI_INT_SPACE_AVAIL | SDHCI_INT_DATA_AVAIL;
mask = SDHCI_DATA_AVAILABLE | SDHCI_SPACE_AVAILABLE;
do {
@@ -108,6 +109,12 @@ static int sdhci_transfer_data(struct sdhci_host *host, 
struct mmc_data *data,
sdhci_writel(host, start_addr, SDHCI_DMA_ADDRESS);
}
 #endif
+   if (timeout-- > 0)
+   udelay(10);
+   else {
+   printf("Transfer data timeout\n");
+   return -1;
+   }
} while (!(stat & SDHCI_INT_DATA_END));
return 0;
 }
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 2/2] mmc: test mmc bus width on startup

2011-10-03 Thread Lei Wen
For we don't know mmc bus width from reading registers, the only way
to check is to test.

Current compare offset is:
EXT_CSD_PARTITIONING_SUPPORT
EXT_CSD_ERASE_GROUP_DEF
EXT_CSD_REV
EXT_CSD_HC_ERASE_GRP_SIZE
EXT_CSD_SEC_CNT

Signed-off-by: Lei Wen 
---
Changelog:
V2: change all magic number for ext_csd to macro definition

 drivers/mmc/mmc.c |   45 ++---
 1 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 1d75940..ea19d27 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -631,8 +631,6 @@ int mmc_change_freq(struct mmc *mmc)
if (mmc->version < MMC_VERSION_4)
return 0;
 
-   mmc->card_caps |= MMC_MODE_4BIT;
-
err = mmc_send_ext_csd(mmc, ext_csd);
 
if (err)
@@ -856,11 +854,11 @@ void mmc_set_bus_width(struct mmc *mmc, uint width)
 
 int mmc_startup(struct mmc *mmc)
 {
-   int err;
+   int err, width;
uint mult, freq;
u64 cmult, csize, capacity;
struct mmc_cmd cmd;
-   char ext_csd[512];
+   char ext_csd[512], test_csd[512];
int timeout = 1000;
 
 #ifdef CONFIG_MMC_SPI_CRC_ON
@@ -1080,26 +1078,35 @@ int mmc_startup(struct mmc *mmc)
else
mmc_set_clock(mmc, 2500);
} else {
-   if (mmc->card_caps & MMC_MODE_4BIT) {
+   for (width = EXT_CSD_BUS_WIDTH_8; width >= 0; width--) {
/* Set the card to use 4 bit*/
err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL,
-   EXT_CSD_BUS_WIDTH,
-   EXT_CSD_BUS_WIDTH_4);
-
-   if (err)
-   return err;
-
-   mmc_set_bus_width(mmc, 4);
-   } else if (mmc->card_caps & MMC_MODE_8BIT) {
-   /* Set the card to use 8 bit*/
-   err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL,
-   EXT_CSD_BUS_WIDTH,
-   EXT_CSD_BUS_WIDTH_8);
+   EXT_CSD_BUS_WIDTH, width);
 
if (err)
-   return err;
+   continue;
 
-   mmc_set_bus_width(mmc, 8);
+   if (!width) {
+   mmc_set_bus_width(mmc, 1);
+   break;
+   } else
+   mmc_set_bus_width(mmc, 4 * width);
+
+   err = mmc_send_ext_csd(mmc, test_csd);
+   if (!err && ext_csd[EXT_CSD_PARTITIONING_SUPPORT] \
+   == test_csd[EXT_CSD_PARTITIONING_SUPPORT]
+&& ext_csd[EXT_CSD_ERASE_GROUP_DEF] \
+   == test_csd[EXT_CSD_ERASE_GROUP_DEF] \
+&& ext_csd[EXT_CSD_REV] \
+   == test_csd[EXT_CSD_REV]
+&& ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] \
+   == test_csd[EXT_CSD_HC_ERASE_GRP_SIZE]
+&& memcmp(&ext_csd[EXT_CSD_SEC_CNT], \
+   &test_csd[EXT_CSD_SEC_CNT], 4) == 0) {
+
+   mmc->card_caps |= width;
+   break;
+   }
}
 
if (mmc->card_caps & MMC_MODE_HS) {
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 1/2] mmc: change magic number to macro define

2011-10-03 Thread Lei Wen
Previous magic number is hard to parse its meaning, change it to
respective macro definition

Signed-off-by: Lei Wen 
---
Changelog:
V2: change all magic number for ext_csd to macro definition

 drivers/mmc/mmc.c |   21 -
 include/mmc.h |   16 +---
 2 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 391bc2b..1d75940 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -638,7 +638,7 @@ int mmc_change_freq(struct mmc *mmc)
if (err)
return err;
 
-   cardtype = ext_csd[196] & 0xf;
+   cardtype = ext_csd[EXT_CSD_CARD_TYPE] & 0xf;
 
err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HS_TIMING, 1);
 
@@ -652,7 +652,7 @@ int mmc_change_freq(struct mmc *mmc)
return err;
 
/* No high-speed support */
-   if (!ext_csd[185])
+   if (!ext_csd[EXT_CSD_HS_TIMING])
return 0;
 
/* High Speed is set, there are two types: 52MHz and 26MHz */
@@ -1006,14 +1006,16 @@ int mmc_startup(struct mmc *mmc)
if (!IS_SD(mmc) && (mmc->version >= MMC_VERSION_4)) {
/* check  ext_csd version and capacity */
err = mmc_send_ext_csd(mmc, ext_csd);
-   if (!err & (ext_csd[192] >= 2)) {
+   if (!err & (ext_csd[EXT_CSD_REV] >= 2)) {
/*
 * According to the JEDEC Standard, the value of
 * ext_csd's capacity is valid if the value is more
 * than 2GB
 */
-   capacity = ext_csd[212] << 0 | ext_csd[213] << 8 |
-  ext_csd[214] << 16 | ext_csd[215] << 24;
+   capacity = ext_csd[EXT_CSD_SEC_CNT] << 0
+   | ext_csd[EXT_CSD_SEC_CNT + 1] << 8
+   | ext_csd[EXT_CSD_SEC_CNT + 2] << 16
+   | ext_csd[EXT_CSD_SEC_CNT + 3] << 24;
capacity *= 512;
if ((capacity >> 20) > 2 * 1024)
mmc->capacity = capacity;
@@ -1024,8 +1026,9 @@ int mmc_startup(struct mmc *mmc)
 * group size from ext_csd directly, or calculate
 * the group size from the csd value.
 */
-   if (ext_csd[175])
-   mmc->erase_grp_size = ext_csd[224] * 512 * 1024;
+   if (ext_csd[EXT_CSD_ERASE_GROUP_DEF])
+   mmc->erase_grp_size =
+ ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] * 512 * 1024;
else {
int erase_gsz, erase_gmul;
erase_gsz = (mmc->csd[2] & 0x7c00) >> 10;
@@ -1035,8 +1038,8 @@ int mmc_startup(struct mmc *mmc)
}
 
/* store the partition info of emmc */
-   if (ext_csd[160] & PART_SUPPORT)
-   mmc->part_config = ext_csd[179];
+   if (ext_csd[EXT_CSD_PARTITIONING_SUPPORT] & PART_SUPPORT)
+   mmc->part_config = ext_csd[EXT_CSD_PART_CONF];
}
 
if (IS_SD(mmc))
diff --git a/include/mmc.h b/include/mmc.h
index 53aff9b..015a7f3 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -145,13 +145,15 @@
 /*
  * EXT_CSD fields
  */
-
-#define EXT_CSD_PART_CONF  179 /* R/W */
-#define EXT_CSD_BUS_WIDTH  183 /* R/W */
-#define EXT_CSD_HS_TIMING  185 /* R/W */
-#define EXT_CSD_CARD_TYPE  196 /* RO */
-#define EXT_CSD_REV192 /* RO */
-#define EXT_CSD_SEC_CNT212 /* RO, 4 bytes */
+#define EXT_CSD_PARTITIONING_SUPPORT   160 /* RO */
+#define EXT_CSD_ERASE_GROUP_DEF175 /* R/W */
+#define EXT_CSD_PART_CONF  179 /* R/W */
+#define EXT_CSD_BUS_WIDTH  183 /* R/W */
+#define EXT_CSD_HS_TIMING  185 /* R/W */
+#define EXT_CSD_REV192 /* RO */
+#define EXT_CSD_CARD_TYPE  196 /* RO */
+#define EXT_CSD_SEC_CNT212 /* RO, 4 bytes */
+#define EXT_CSD_HC_ERASE_GRP_SIZE  224 /* RO */
 
 /*
  * EXT_CSD field definitions
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 0/2] test mmc bus on startup

2011-10-03 Thread Lei Wen
Changelog:
V2: Clean up mmc.c to change all magic number for ext_csd to the macro
definition

Lei Wen (2):
  mmc: change magic number to macro define
  mmc: test mmc bus width on startup

 drivers/mmc/mmc.c |   66 ++--
 include/mmc.h |   16 +++-
 2 files changed, 47 insertions(+), 35 deletions(-)

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 0/3] add new PHY chips support

2011-10-03 Thread Brilliantov Kirill Vladimirovich
Brilliantov Kirill Vladimirovich (3):
   disable 1000Mb/s for DM36X
   add Realtek RTL8201BL support
   add Marvel 88E support

-- 
С уважением,
Бриллиантов Кирилл Владимирович
…
программист, технический отдел
ООО «БайтЭрг»
Видеокамеры МВК – Эффективность разумных решений
…
+7(495)221-66-22
http://www.byterg.ruhttp://www.bestdvr.ru
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/3] add new PHY chips support

2011-10-03 Thread Brilliantov Kirill Vladimirovich
TexasInstruments Davinci DM365/8 processors havn't 1000Mb/s support.
Tested on U-boot 1.3.4

Signed-off-by: Brilliantov Kirill Vladimirovich 
---
  cpu/arm926ejs/davinci/ether.c |7 ---
  1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/cpu/arm926ejs/davinci/ether.c b/cpu/arm926ejs/davinci/ether.c
index 6dfa955..13292e1 100644
--- a/cpu/arm926ejs/davinci/ether.c
+++ b/cpu/arm926ejs/davinci/ether.c
@@ -382,6 +382,7 @@ static int davinci_eth_hw_init(void)
 }

 phy_id |= tmp & 0x;
+   debug_emac("phy_id %#x\n", phy_id);

 switch (phy_id) {
 case PHY_LXT972:
@@ -528,7 +529,7 @@ static int davinci_eth_open(void)
 if (!phy.get_link_speed(active_phy_addr))
 return(0);
 else {
-#if defined(CFG_DM6467_EVM) || defined(CFG_DM365_EVM) || 
defined(CFG_DM365_IPNC) || defined(CFG_DM368_IPNC)
+#if defined(CFG_DM6467_EVM)
 emac_gigabit_enable();
  #endif
 }
@@ -623,7 +624,7 @@ static int davinci_eth_send_packet (volatile void 
*packet, int length)
 return (ret_status);
 }
 else {
-#if defined(CFG_DM6467_EVM) || defined(CFG_DM365_EVM) || 
defined(CFG_DM365_IPNC) || defined(CFG_DM368_IPNC)
+#if defined(CFG_DM6467_EVM)
 emac_gigabit_enable();
  #endif
 }
@@ -651,7 +652,7 @@ static int davinci_eth_send_packet (volatile void 
*packet, int length)
 return (ret_status);
 }
 else {
-#if defined(CFG_DM6467_EVM) || defined(CFG_DM365_EVM) || 
defined(CFG_DM365_IPNC) || defined(CFG_DM368_IPNC)
+#if defined(CFG_DM6467_EVM)
 emac_gigabit_enable();
  #endif
 }
-- 

-- 
С уважением,
Бриллиантов Кирилл Владимирович
…
программист, технический отдел
ООО «БайтЭрг»
Видеокамеры МВК – Эффективность разумных решений
…
+7(495)221-66-22
http://www.byterg.ruhttp://www.bestdvr.ru
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 4/4] mmc: mv_sdhci: fix 8bus width access for 88SV331xV5

2011-10-03 Thread Lei Wen
Marvell 88SV331xV5 platform's sdhci host control is not very standard
with the spec in the 8bit handling. It need to set its private register
to switch to the 8bit mode which is not included in the standard sdhci
registers.

This patch mainly hacks the writeb method, and set its private register
if it find the driver is going to switch to the 8bit mode.

Signed-off-by: Lei Wen 
---
Changelog:
V2: no change

 drivers/mmc/mv_sdhci.c |   33 +
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/mv_sdhci.c b/drivers/mmc/mv_sdhci.c
index 9e59951..f92caeb 100644
--- a/drivers/mmc/mv_sdhci.c
+++ b/drivers/mmc/mv_sdhci.c
@@ -2,6 +2,33 @@
 #include 
 #include 
 
+#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
+static struct sdhci_ops mv_ops;
+
+#if defined(CONFIG_SHEEVA_88SV331xV5)
+#define SD_CE_ATA_20xEA
+#define  MMC_CARD  0x1000
+#define  MMC_WIDTH 0x0100
+static inline void mv_sdhci_writeb(struct sdhci_host *host, u8 val, int reg)
+{
+   struct mmc *mmc = host->mmc;
+   u32 ata = (u32)host->ioaddr + SD_CE_ATA_2;
+
+   if (!IS_SD(mmc) && reg == SDHCI_HOST_CONTROL) {
+   if (mmc->bus_width == 8)
+   writew(readw(ata) | (MMC_CARD | MMC_WIDTH), ata);
+   else
+   writew(readw(ata) & ~(MMC_CARD | MMC_WIDTH), ata);
+   }
+
+   writeb(val, host->ioaddr + reg);
+}
+
+#else
+#define mv_sdhci_writebNULL
+#endif /* CONFIG_SHEEVA_88SV331xV5 */
+#endif /* CONFIG_MMC_SDHCI_IO_ACCESSORS */
+
 static char *MVSDH_NAME = "mv_sdh";
 int mv_sdh_init(u32 regbase, u32 max_clk, u32 min_clk, u32 quirks)
 {
@@ -15,6 +42,12 @@ int mv_sdh_init(u32 regbase, u32 max_clk, u32 min_clk, u32 
quirks)
host->name = MVSDH_NAME;
host->ioaddr = (void *)regbase;
host->quirks = quirks;
+#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
+   memset(&mv_ops, 0, sizeof(struct sdhci_ops));
+   if (mv_sdhci_writeb != NULL)
+   mv_ops.write_b = mv_sdhci_writeb;
+   host->ops = &mv_ops;
+#endif
host->version = sdhci_readw(host, SDHCI_HOST_VERSION);
add_sdhci(host, max_clk, min_clk);
return 0;
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 3/4] dkb: make mmc command as default enabled

2011-10-03 Thread Lei Wen
Signed-off-by: Lei Wen 
---
Changelog:
V2: remove enable mmc function into seperated patch

 include/configs/dkb.h |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/include/configs/dkb.h b/include/configs/dkb.h
index 3d27c58..fb02d92 100644
--- a/include/configs/dkb.h
+++ b/include/configs/dkb.h
@@ -47,6 +47,7 @@
 #define CONFIG_SYS_NO_FLASH/* Declare no flash (NOR/SPI) */
 #include 
 #define CONFIG_CMD_I2C
+#define CONFIG_CMD_MMC
 #undef CONFIG_CMD_NET
 #undef CONFIG_CMD_NFS
 /*
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 2/4] Marvell: dkb: add mmc support

2011-10-03 Thread Lei Wen
Signed-off-by: Lei Wen 
---
Changelog:
V2: remove magic number, and replace it by macro definition and structure 
respectively 

 board/Marvell/dkb/dkb.c |   43 +++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/board/Marvell/dkb/dkb.c b/board/Marvell/dkb/dkb.c
index 00f73e7..4a9abee 100644
--- a/board/Marvell/dkb/dkb.c
+++ b/board/Marvell/dkb/dkb.c
@@ -24,8 +24,12 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
+#ifdef CONFIG_GENERIC_MMC
+#include 
+#endif
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -40,6 +44,20 @@ int board_early_init_f(void)
MFP53_CI2C_SCL,
MFP54_CI2C_SDA,
 
+   /* MMC1 */
+   MFP_MMC1_DAT7,
+   MFP_MMC1_DAT6,
+   MFP_MMC1_DAT5,
+   MFP_MMC1_DAT4,
+   MFP_MMC1_DAT3,
+   MFP_MMC1_DAT2,
+   MFP_MMC1_DAT1,
+   MFP_MMC1_DAT0,
+   MFP_MMC1_CMD,
+   MFP_MMC1_CLK,
+   MFP_MMC1_CD,
+   MFP_MMC1_WP,
+
MFP_EOC /*End of configureation*/
};
/* configure MFP's */
@@ -56,3 +74,28 @@ int board_init(void)
gd->bd->bi_boot_params = panth_sdram_base(0) + 0x100;
return 0;
 }
+
+#ifdef CONFIG_GENERIC_MMC
+#define I2C_SLAVE_ADDR 0x34
+#define LDO13_REG  0x28
+#define LDO_V300x6
+#define LDO_VOLTAGE(x) ((x & 0x7) << 1)
+#define LDO_EN 0x1
+int board_mmc_init(bd_t *bd)
+{
+   ulong mmc_base_address[CONFIG_SYS_MMC_NUM] = CONFIG_SYS_MMC_BASE;
+   u8 i, data;
+
+   /* set LDO 13 to 3.0v */
+   data = LDO_VOLTAGE(LDO_V30) | LDO_EN;
+   i2c_write(I2C_SLAVE_ADDR, LDO13_REG, 1, &data, 1);
+
+   for (i = 0; i < CONFIG_SYS_MMC_NUM; i++) {
+   if (mv_sdh_init(mmc_base_address[i], 0, 0,
+   SDHCI_QUIRK_32BIT_DMA_ADDR))
+   return 1;
+   }
+
+   return 0;
+}
+#endif
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 3/4] mmc: sdhci: add mmc structure for host

2011-10-03 Thread Lei Wen
So that sdhci host would tell in the driver that the mmc current
attributes.

Signed-off-by: Lei Wen 
---
Changelog:
V2: no change

 drivers/mmc/sdhci.c |1 +
 include/sdhci.h |2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index 4a92453..31c738e 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -377,6 +377,7 @@ int add_sdhci(struct sdhci_host *host, u32 max_clk, u32 
min_clk)
}
 
mmc->priv = host;
+   host->mmc = mmc;
 
sprintf(mmc->name, "%s", host->name);
mmc->send_cmd = sdhci_send_command;
diff --git a/include/sdhci.h b/include/sdhci.h
index 6c6a8ea..2dd36a4 100644
--- a/include/sdhci.h
+++ b/include/sdhci.h
@@ -27,6 +27,7 @@
 #define __SDHCI_HW_H
 
 #include 
+#include 
 /*
  * Controller registers
  */
@@ -237,6 +238,7 @@ struct sdhci_host {
unsigned int quirks;
unsigned int version;
unsigned int clock;
+   struct mmc *mmc;
const struct sdhci_ops *ops;
 };
 
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 2/4] mmc: sdhci: fix build warning

2011-10-03 Thread Lei Wen
If CONFIG_MMC_SDHCI_IO_ACCESSORS is defined, the following warning would
shows up:

include/sdhci.h:224: warning: 'struct sdhci_host' declared inside
parameter list
include/sdhci.h:224: warning: its scope is only this definition or
declaration, which is probably not what you want
include/sdhci.h:225: warning: 'struct sdhci_host' declared inside
parameter list
include/sdhci.h:226: warning: 'struct sdhci_host' declared inside
parameter list
include/sdhci.h:227: warning: 'struct sdhci_host' declared inside
parameter list
include/sdhci.h:228: warning: 'struct sdhci_host' declared inside
parameter list
include/sdhci.h:229: warning: 'struct sdhci_host' declared inside
parameter list

Change-Id: I9e3588af34d90cda342cf32316ff9cfe57c1b5d1
Signed-off-by: Lei Wen 
---
Changelog:
V2: code style change

 include/sdhci.h |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/include/sdhci.h b/include/sdhci.h
index 6d52ce9..e84d2dc 100644
--- a/include/sdhci.h
+++ b/include/sdhci.h
@@ -214,6 +214,9 @@
  */
 #define SDHCI_QUIRK_32BIT_DMA_ADDR (1 << 0)
 
+/* to make gcc happy */
+struct sdhci_host;
+
 /*
  * Host SDMA buffer boundary. Valid values from 4K to 512K in powers of 2.
  */
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 1/4] mmc: sdhci: fix cache flush

2011-10-03 Thread Lei Wen
Only flush the memory range needed.

Signed-off-by: Lei Wen 
---
Changelog:
V2: no change

 drivers/mmc/sdhci.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index 9ebd33d..4a92453 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -196,7 +196,7 @@ int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
 
sdhci_writel(host, cmd->cmdarg, SDHCI_ARGUMENT);
 #ifdef CONFIG_MMC_SDMA
-   flush_cache(0, ~0);
+   flush_cache(start_addr, trans_bytes);
 #endif
sdhci_writew(host, SDHCI_MAKE_CMD(cmd->cmdidx, flags), SDHCI_COMMAND);
do {
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V2 0/4] fix and enhancement patches for sdhci

2011-10-03 Thread Lei Wen
This seris fix several issue like flush cache and build warning. And
give this generic driver enhancement for timeout when transferring data
and additional structure member to access in platform self driver.

Changelog:
V2: code style change.

Lei Wen (4):
  mmc: sdhci: fix cache flush
  mmc: sdhci: fix build warning
  mmc: sdhci: add mmc structure for host
  mmc: sdhci: add timeout for data transfer

 drivers/mmc/sdhci.c |   12 ++--
 include/sdhci.h |3 +++
 2 files changed, 13 insertions(+), 2 deletions(-)

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 3/3] add new PHY chips support

2011-10-03 Thread Brilliantov Kirill Vladimirovich
Add Marvell 88E PHY support, tested on U-Boot 1.3.4.

Signed-off-by: Brilliantov Kirill Vladimirovich 
---
  cpu/arm926ejs/davinci/Makefile   |1 +
  cpu/arm926ejs/davinci/ether.c|   14 +++
  cpu/arm926ejs/davinci/marvell.c  |  189 
++
  include/asm-arm/arch-davinci/emac_defs.h |6 +
  4 files changed, 210 insertions(+), 0 deletions(-)
  create mode 100644 cpu/arm926ejs/davinci/marvell.c

diff --git a/cpu/arm926ejs/davinci/Makefile b/cpu/arm926ejs/davinci/Makefile
index 0b6cbd2..f39a2ad 100644
--- a/cpu/arm926ejs/davinci/Makefile
+++ b/cpu/arm926ejs/davinci/Makefile
@@ -29,6 +29,7 @@ LIB   = $(obj)lib$(SOC).a

  COBJS  = timer.o ether.o lxt972.o dp83848.o i2c.o nand.o
  COBJS  += realtek.o
+COBJS  += marvell.o
  SOBJS  = lowlevel_init.o reset.o

  SRCS   := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
diff --git a/cpu/arm926ejs/davinci/ether.c b/cpu/arm926ejs/davinci/ether.c
index 09fe24e..4e4a606 100644
--- a/cpu/arm926ejs/davinci/ether.c
+++ b/cpu/arm926ejs/davinci/ether.c
@@ -406,6 +406,14 @@ static int davinci_eth_hw_init(void)
 phy.get_link_speed = rtl8201_get_link_speed;
 phy.auto_negotiate = rtl8201_auto_negotiate;
 break;
+   case PHY_MARVEL88E:
+   sprintf(phy.name, "MARVELL88E @ 0x%02x",
+   active_phy_addr);
+   phy.init = marvell88e_init_phy;
+   phy.is_phy_connected = 
marvell88e_is_phy_connected;
+   phy.get_link_speed = marvell88e_get_link_speed;
+   phy.auto_negotiate = marvell88e_auto_negotiate;
+   break;
 default:
 sprintf(phy.name, "GENERIC @ 0x%02x", 
active_phy_addr);
 phy.init = gen_init_phy;
@@ -416,6 +424,12 @@ static int davinci_eth_hw_init(void)

 printf("Ethernet PHY: %s\n", phy.name);

+   /* disable 1000Mb/s autonegotiation */
+   if (PHY_MARVEL88E == phy_id) {
+   if (!phy.init(active_phy_addr))
+   return(0);
+   }
+
 return(1);
  }
diff --git a/cpu/arm926ejs/davinci/marvell.c 
b/cpu/arm926ejs/davinci/marvell.c
new file mode 100644
index 000..6918bef
--- /dev/null
+++ b/cpu/arm926ejs/davinci/marvell.c
@@ -0,0 +1,189 @@
+/*
+ * Marvel 88E Driver for TI DaVinci (TMS320DM635) based boards.
+ *
+ * Copyright (C) 2011 Brilliantov Kirill Vladimirovich 

+ * References: 88E Datasheet Integrated 10/100/1000
+ *  Ultra Gigabit Ethernet Transceiver
+ * Doc. No. MV-S100649-00, Rev. F
+ * December, 3, 2004
+ * 
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include 
+#include 
+#include 
+#include 
+
+#ifdef CONFIG_DRIVER_TI_EMAC
+
+#ifdef CONFIG_CMD_NET
+
+#define DEBUG  0
+#define DBG(f, a...)   \
+do {\
+   if (DEBUG) \
+   printf("Marvell: " f "\n", ##a);\
+} while (0)
+#define ERR(f, a...)   printf("Marvell: %s: " f "\n", __func__, ##a)
+
+#define LINK_DOWN  (0 << 2)
+#define EXTENDED_PHY_SPECIFIC_STATUS_REGISTER  27
+
+int marvell88e_is_phy_connected(int phy_addr)
+{
+   u_int16_t id1, id2;
+
+   DBG("starting %s", __func__);
+
+   if (!davinci_eth_phy_read(phy_addr, PHY_PHYIDR1, &id1)) {
+   ERR("can't read PHY_PHYIDR1 register %#x", PHY_PHYIDR1);
+   return (0);
+   }
+
+   if (!davinci_eth_phy_read(phy_addr, PHY_PHYIDR2, &id2)) {
+   ERR("can't read PHY_PHYIDR2 register %#x", PHY_PHYIDR2);
+   return (0);
+   }
+
+   DBG("ID1 %#x, ID2 %#x\n", id1, id2);
+
+   if ((id1 == 0x141) && ((id2 & 0xFFF0) == 0x0CC0))
+   return (1);
+
+   ERR("ID1 or ID2 not corrected");
+
+   return (0);
+}
+
+int marvell88e_get_link_speed(int phy_addr)
+{
+   u_int16_t val;
+   volatile emac_regs *emac = (emac_regs *) EMAC_BASE_ADDR;
+
+   DBG("starting %s", __func__);
+
+   if (!davinci_eth_phy_read(phy_addr, PHY_BMS

[U-Boot] [PATCH 2/3] add new PHY chips support

2011-10-03 Thread Brilliantov Kirill Vladimirovich
Add Realtek RTL8201BL PHY support, tested on U-Boot 1.3.4.

Signed-off-by: Brilliantov Kirill Vladimirovich 
---
  cpu/arm926ejs/davinci/Makefile   |1 +
  cpu/arm926ejs/davinci/ether.c|7 ++
  cpu/arm926ejs/davinci/realtek.c  |  154 
++
  include/asm-arm/arch-davinci/emac_defs.h |   10 ++-
  4 files changed, 170 insertions(+), 2 deletions(-)
  create mode 100644 cpu/arm926ejs/davinci/realtek.c

diff --git a/cpu/arm926ejs/davinci/Makefile b/cpu/arm926ejs/davinci/Makefile
index 0f77f40..0b6cbd2 100644
--- a/cpu/arm926ejs/davinci/Makefile
+++ b/cpu/arm926ejs/davinci/Makefile
@@ -28,6 +28,7 @@ include $(TOPDIR)/config.mk
  LIB= $(obj)lib$(SOC).a

  COBJS  = timer.o ether.o lxt972.o dp83848.o i2c.o nand.o
+COBJS  += realtek.o
  SOBJS  = lowlevel_init.o reset.o

  SRCS   := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
diff --git a/cpu/arm926ejs/davinci/ether.c b/cpu/arm926ejs/davinci/ether.c
index 13292e1..09fe24e 100644
--- a/cpu/arm926ejs/davinci/ether.c
+++ b/cpu/arm926ejs/davinci/ether.c
@@ -399,6 +399,13 @@ static int davinci_eth_hw_init(void)
 phy.get_link_speed = dp83848_get_link_speed;
 phy.auto_negotiate = dp83848_auto_negotiate;
 break;
+   case PHY_RTL8201:
+   sprintf(phy.name, "RTL8201 @ 0x%02x", 
active_phy_addr);
+   phy.init = rtl8201_init_phy;
+   phy.is_phy_connected = rtl8201_is_phy_connected;
+   phy.get_link_speed = rtl8201_get_link_speed;
+   phy.auto_negotiate = rtl8201_auto_negotiate;
+   break;
 default:
 sprintf(phy.name, "GENERIC @ 0x%02x", 
active_phy_addr);
 phy.init = gen_init_phy;
diff --git a/cpu/arm926ejs/davinci/realtek.c 
b/cpu/arm926ejs/davinci/realtek.c
new file mode 100644
index 000..22884bd
--- /dev/null
+++ b/cpu/arm926ejs/davinci/realtek.c
@@ -0,0 +1,154 @@
+/*
+ * Realtek RTL8201 PHY Driver for TI DaVinci (TMS320DM635) based boards.
+ *
+ * Copyright (C) 2011 Brilliantov Kirill Vladimirovich 

+ * References: Realtek Single Chip Single Port 10/100M
+ *  Fast Ethernet Phyceiver RTL8201BL,
+ *  Rev. 1.2, 2002-03-29
+ *
+ * 
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include 
+#include 
+#include 
+#include 
+
+#ifdef CONFIG_DRIVER_TI_EMAC
+
+#ifdef CONFIG_CMD_NET
+
+#define DEBUG   0
+#define DBG(f, a...)   \
+do {\
+   if (DEBUG) \
+   printf("Realtek: " f "\n", ##a);\
+} while (0)
+#define ERR(f, a...)   printf("Realtek: %s" f "\n", __func__, ##a)
+
+#define LINK_DOWN   (0 << 2)
+
+int rtl8201_is_phy_connected(int phy_addr)
+{
+   u_int16_t id1, id2;
+
+   DBG("starting %s", __func__);
+
+   if (!davinci_eth_phy_read(phy_addr, PHY_PHYIDR1, &id1)) {
+   ERR("can't read PHY_PHYIDR1 register %#x", PHY_PHYIDR1);
+   return (0);
+   }
+
+   if (!davinci_eth_phy_read(phy_addr, PHY_PHYIDR2, &id2)) {
+   ERR("can't read PHY_PHYIDR2 register %#x", PHY_PHYIDR2);
+   return (0);
+   }
+
+   DBG("ID1 %#x, ID2 %#x\n", id1, id2);
+
+   if ((id1 == 0x0) && (id2 == 0x8201))
+   return (1);
+
+   ERR("ID1 or ID2 not corrected");
+
+   return (0);
+}
+
+int rtl8201_get_link_speed(int phy_addr)
+{
+   u_int16_t val;
+   volatile emac_regs *emac = (emac_regs *) EMAC_BASE_ADDR;
+
+   DBG("starting %s", __func__);
+
+   if (!davinci_eth_phy_read(phy_addr, PHY_BMSR, &val)) {
+   ERR("can't read PHY_BMSR register %#x", PHY_BMSR);
+   return (0);
+   }
+
+   if (val & LINK_DOWN) {
+   ERR("link down");
+   return (0);
+   }
+   DBG("link up");
+
+   if (!davinci_eth_phy_read(phy_addr, PHY_BMCR, &val)) {
+   ERR("can't read PHY_BMCR register %#x", PHY_BMCR);
+   return (0);
+   }
+
+   if (val & PHY_BMCR_DPLX) {
+   DBG("set emac full duplex mode");
+

[U-Boot] [PATCH v2 3/3] misc:pmic:samsung Enable PMIC driver at GONI target

2011-10-03 Thread Lukasz Majewski
Enable support for new PMIC driver at GONI reference target.

Signed-off-by: Lukasz Majewski 
Signed-off-by: Kyungmin Park 
Cc: Stefano Babic 
---
Changes for v2:
- pmic_init() function call removed from arch/arm/lib/board.c and
  moved to s5p_goni board_init() function.
- prepare separate patch for enabling new PMIC driver at GONI
---
 board/samsung/goni/goni.c  |4 
 include/configs/s5p_goni.h |4 
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
index e24cd29..e191bfb 100644
--- a/board/samsung/goni/goni.c
+++ b/board/samsung/goni/goni.c
@@ -25,6 +25,7 @@
 #include 
 #include 
 #include 
+#include 
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -38,6 +39,9 @@ int board_init(void)
gd->bd->bi_arch_number = MACH_TYPE_GONI;
gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
 
+#if defined(CONFIG_PMIC)
+   pmic_init();
+#endif
return 0;
 }
 
diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
index 886c8be..aa51114 100644
--- a/include/configs/s5p_goni.h
+++ b/include/configs/s5p_goni.h
@@ -223,6 +223,10 @@
 
 #define CONFIG_SYS_INIT_SP_ADDR(CONFIG_SYS_LOAD_ADDR - 0x100)
 
+#define CONFIG_PMIC
+#define CONFIG_PMIC_I2C
+#define CONFIG_PMIC_MAX8998
+
 #include 
 /*
  * I2C Settings
-- 
1.7.2.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2 2/3] misc:pmic:max8998 MAX8998 support at a new PMIC driver.

2011-10-03 Thread Lukasz Majewski
This commit adds support for MAX8998 PMIC driver.

Signed-off-by: Lukasz Majewski 
Signed-off-by: Kyungmin Park 
Cc: Stefano Babic 
---
Changes for v2:
- separate commit for MAX8998 prepared
---
 drivers/misc/Makefile   |1 +
 drivers/misc/pmic_max8998.c |   43 ++
 include/max8998_pmic.h  |   84 +++
 3 files changed, 128 insertions(+), 0 deletions(-)
 create mode 100644 drivers/misc/pmic_max8998.c
 create mode 100644 include/max8998_pmic.h

diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 91c5bfa..6d82c22 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -38,6 +38,7 @@ COBJS-$(CONFIG_TWL4030_LED) += twl4030_led.o
 COBJS-$(CONFIG_PMIC) += pmic_core.o
 COBJS-$(CONFIG_PMIC_I2C) += pmic_i2c.o
 COBJS-$(CONFIG_PMIC_SPI) += pmic_spi.o
+COBJS-$(CONFIG_PMIC_MAX8998) += pmic_max8998.o
 
 COBJS  := $(COBJS-y)
 SRCS   := $(COBJS:.o=.c)
diff --git a/drivers/misc/pmic_max8998.c b/drivers/misc/pmic_max8998.c
new file mode 100644
index 000..cc69fd7
--- /dev/null
+++ b/drivers/misc/pmic_max8998.c
@@ -0,0 +1,43 @@
+/*
+ *  Copyright (C) 2011 Samsung Electronics
+ *  Lukasz Majewski 
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include 
+#include 
+#include 
+
+int pmic_init(void)
+{
+   struct pmic *p = get_pmic();
+   static const char name[] = "MAX8998_PMIC";
+
+   puts("Board PMIC init\n");
+
+   p->name = name;
+   p->interface = PMIC_I2C;
+   p->number_of_regs = PMIC_NUM_OF_REGS;
+   p->hw.i2c.addr = MAX8998_I2C_ADDR;
+   p->hw.i2c.tx_num = 1;
+   p->bus = I2C_PMIC;
+
+   return 0;
+}
diff --git a/include/max8998_pmic.h b/include/max8998_pmic.h
new file mode 100644
index 000..bf28820
--- /dev/null
+++ b/include/max8998_pmic.h
@@ -0,0 +1,84 @@
+/*
+ *  Copyright (C) 2011 Samsung Electronics
+ *  Lukasz Majewski 
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __MAX8998_PMIC_H_
+#define __MAX8998_PMIC_H_
+
+/* MAX 8998 registers */
+enum {
+   MAX8998_REG_IRQ1,
+   MAX8998_REG_IRQ2,
+   MAX8998_REG_IRQ3,
+   MAX8998_REG_IRQ4,
+   MAX8998_REG_IRQM1,
+   MAX8998_REG_IRQM2,
+   MAX8998_REG_IRQM3,
+   MAX8998_REG_IRQM4,
+   MAX8998_REG_STATUS1,
+   MAX8998_REG_STATUS2,
+   MAX8998_REG_STATUSM1,
+   MAX8998_REG_STATUSM2,
+   MAX8998_REG_CHGR1,
+   MAX8998_REG_CHGR2,
+   MAX8998_REG_LDO_ACTIVE_DISCHARGE1,
+   MAX8998_REG_LDO_ACTIVE_DISCHARGE2,
+   MAX8998_REG_BUCK_ACTIVE_DISCHARGE3,
+   MAX8998_REG_ONOFF1,
+   MAX8998_REG_ONOFF2,
+   MAX8998_REG_ONOFF3,
+   MAX8998_REG_ONOFF4,
+   MAX8998_REG_BUCK1_VOLTAGE1,
+   MAX8998_REG_BUCK1_VOLTAGE2,
+   MAX8998_REG_BUCK1_VOLTAGE3,
+   MAX8998_REG_BUCK1_VOLTAGE4,
+   MAX8998_REG_BUCK2_VOLTAGE1,
+   MAX8998_REG_BUCK2_VOLTAGE2,
+   MAX8998_REG_BUCK3,
+   MAX8998_REG_BUCK4,
+   MAX8998_REG_LDO2_LDO3,
+   MAX8998_REG_LDO4,
+   MAX8998_REG_LDO5,
+   MAX8998_REG_LDO6,
+   MAX8998_REG_LDO7,
+   MAX8998_REG_LDO8_LDO9,
+   MAX8998_REG_LDO10_LDO11,
+   MAX8998_REG_LDO12,
+   MAX8998_REG_LDO13,
+   MAX8998_REG_LDO14,
+   MAX8998_REG_LDO15,
+   MAX8998_REG_LDO16,
+   MAX8998_REG_LDO17,
+   MAX8998_REG_BKCHR,
+   MAX8998_REG_LBCNFG1,
+   MAX8998_REG_LBCNFG2,
+   PMIC_NUM_OF_REGS,
+};
+
+#define MAX8998_LDO3   (1 << 2)
+#define MAX

[U-Boot] [PATCH v2 1/3] misc:pmic:core New generic PMIC driver

2011-10-03 Thread Lukasz Majewski
I2C or SPI PMIC devices can be accessed.
Separate files: pmic_i2c.c and pmic_spi.c are responsible
for handling transmission over I2C or SPI bus.

New flags:
CONFIG_PMIC - enable PMIC general device.
CONFIG_PMIC_I2C/SPI - specify the interface to be used.

Signed-off-by: Lukasz Majewski 
Signed-off-by: Kyungmin Park 
Cc: Stefano Babic 
---
Changes for v2:
- pmic_reg_write(..., u32 *val) - u32 *val replaced with u32 val.
- debug() macros added instead of plain printf()
---
 drivers/misc/Makefile|3 +
 drivers/misc/pmic_core.c |  147 ++
 drivers/misc/pmic_i2c.c  |   92 +
 drivers/misc/pmic_spi.c  |  109 ++
 include/pmic.h   |   71 ++
 5 files changed, 422 insertions(+), 0 deletions(-)
 create mode 100644 drivers/misc/pmic_core.c
 create mode 100644 drivers/misc/pmic_i2c.c
 create mode 100644 drivers/misc/pmic_spi.c
 create mode 100644 include/pmic.h

diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index b152486..91c5bfa 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -35,6 +35,9 @@ COBJS-$(CONFIG_NS87308) += ns87308.o
 COBJS-$(CONFIG_PDSP188x) += pdsp188x.o
 COBJS-$(CONFIG_STATUS_LED) += status_led.o
 COBJS-$(CONFIG_TWL4030_LED) += twl4030_led.o
+COBJS-$(CONFIG_PMIC) += pmic_core.o
+COBJS-$(CONFIG_PMIC_I2C) += pmic_i2c.o
+COBJS-$(CONFIG_PMIC_SPI) += pmic_spi.o
 
 COBJS  := $(COBJS-y)
 SRCS   := $(COBJS:.o=.c)
diff --git a/drivers/misc/pmic_core.c b/drivers/misc/pmic_core.c
new file mode 100644
index 000..5d62a56
--- /dev/null
+++ b/drivers/misc/pmic_core.c
@@ -0,0 +1,147 @@
+/*
+ * Copyright (C) 2011 Samsung Electronics
+ * Lukasz Majewski 
+ *
+ * (C) Copyright 2010
+ * Stefano Babic, DENX Software Engineering, sba...@denx.de
+ *
+ * (C) Copyright 2008-2009 Freescale Semiconductor, Inc.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include 
+#include 
+#include 
+
+static struct pmic pmic;
+
+int check_reg(u32 reg)
+{
+   if (reg >= pmic.number_of_regs) {
+   printf(" = %d is invalid. Should be less than %d\n",
+  reg, pmic.number_of_regs);
+   return -1;
+   }
+   return 0;
+}
+
+int pmic_set_output(struct pmic *p, u32 reg, int out, int on)
+{
+   u32 val;
+
+   if (pmic_reg_read(p, reg, &val))
+   return -1;
+
+   if (on)
+   val |= out;
+   else
+   val &= ~out;
+
+   if (pmic_reg_write(p, reg, val))
+   return -1;
+
+   return 0;
+}
+
+static void pmic_show_info(struct pmic *p)
+{
+   printf("PMIC: %s\n", p->name);
+}
+
+static void pmic_dump(struct pmic *p)
+{
+   int i, ret;
+   u32 val;
+
+   pmic_show_info(p);
+   for (i = 0; i < p->number_of_regs; i++) {
+   ret = pmic_reg_read(p, i, &val);
+   if (ret)
+   puts("PMIC: Registers dump failed\n");
+
+   if (!(i % 8))
+   printf("\n0x%02x: ", i);
+
+   printf("%08x ", val);
+   }
+   puts("\n");
+}
+
+struct pmic *get_pmic(void)
+{
+   return &pmic;
+}
+
+int do_pmic(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+   u32 ret, reg, val;
+   char *cmd;
+
+   struct pmic *p = &pmic;
+
+   /* at least two arguments please */
+   if (argc < 2)
+   return cmd_usage(cmdtp);
+
+   cmd = argv[1];
+   if (strcmp(cmd, "dump") == 0) {
+   pmic_dump(p);
+   return 0;
+   }
+
+   if (strcmp(cmd, "read") == 0) {
+   if (argc < 3)
+   return cmd_usage(cmdtp);
+
+   reg = simple_strtoul(argv[2], NULL, 16);
+
+   ret = pmic_reg_read(p, reg, &val);
+
+   if (ret)
+   puts("PMIC: Register read failed\n");
+
+   printf("\n0x%02x: 0x%08x\n", reg, val);
+
+   return 0;
+   }
+
+   if (strcmp(cmd, "write") == 0) {
+   if (argc < 4)
+   return cmd_usage(cmdtp);
+
+   reg = simple_strtoul(argv[2], NULL, 16);
+   val = simple_strtoul(ar

[U-Boot] [PATCH v2 0/3] misc:pmic: New PMIC generic driver

2011-10-03 Thread Lukasz Majewski
This patch series adds new generic PMIC framework for u-boot.
It is supposed to handle various types of pmic IC's (both,
equippled with I2C or SPI bus).

This patch series has been tested on Samsung's GONI reference target.
---
Changes for v2:
- New logical structure of patch series
- printf/puts replaced with debug() macro where applicable
- pmic_reg_write(...,u32 *val) replaced with u32 val
- pmic_init() moved to board_init() function

Lukasz Majewski (3):
  misc:pmic:core New generic PMIC driver
  misc:pmic:max8998 MAX8998 support at a new PMIC driver.
  misc:pmic:samsung Enable PMIC driver at GONI target

 board/samsung/goni/goni.c   |4 +
 drivers/misc/Makefile   |4 +
 drivers/misc/pmic_core.c|  147 +++
 drivers/misc/pmic_i2c.c |   92 +++
 drivers/misc/pmic_max8998.c |   43 +
 drivers/misc/pmic_spi.c |  109 
 include/configs/s5p_goni.h  |4 +
 include/max8998_pmic.h  |   84 
 include/pmic.h  |   71 +
 9 files changed, 558 insertions(+), 0 deletions(-)
 create mode 100644 drivers/misc/pmic_core.c
 create mode 100644 drivers/misc/pmic_i2c.c
 create mode 100644 drivers/misc/pmic_max8998.c
 create mode 100644 drivers/misc/pmic_spi.c
 create mode 100644 include/max8998_pmic.h
 create mode 100644 include/pmic.h

-- 
1.7.2.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] serial_exit: punt unused prototype

2011-10-03 Thread Simon Glass
On Mon, Oct 3, 2011 at 6:11 PM, Mike Frysinger  wrote:
> No code defines or calls this, so drop the prototype.
>
> Signed-off-by: Mike Frysinger 

Acked-by: Simon Glass 

> ---
>  include/common.h |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/include/common.h b/include/common.h
> index aeb2d84..e76f5fa 100644
> --- a/include/common.h
> +++ b/include/common.h
> @@ -503,7 +503,6 @@ void ft_pci_setup(void *blob, bd_t *bd);
>
>  /* $(CPU)/serial.c */
>  int    serial_init   (void);
> -void   serial_exit   (void);
>  void   serial_setbrg (void);
>  void   serial_putc   (const char);
>  void   serial_putc_raw(const char);
> --
> 1.7.6.1
>
> ___
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Pull request: u-boot-arm/master

2011-10-03 Thread Simon Glass
Hi Albert,

On Fri, Sep 30, 2011 at 1:09 PM, Albert ARIBAUD
 wrote:
> Hi Wolfgang,
>
> I have moved the contents of u-boot-arm/next to u-boot-arm/master, and
> therefore...

Are you able to pick my the tegra clock/pinmux patch set as discussed
please? I will get started on the next series.

Regards,
Simon

>
> The following changes since commit 1d5e7fb403257d62f0f2419cb83fdf6b0f02f215:
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH V5] console: Implement pre-console buffer

2011-10-03 Thread Simon Glass
Hi Graeme,

On Wed, Sep 21, 2011 at 4:18 PM, Simon Glass  wrote:

> Hi Graeme,
>
> On Thu, Sep 1, 2011 at 3:52 AM, Graeme Russ  wrote:
> > Allow redirection of console output prior to console initialisation to a
> > temporary buffer.
> >
> > To enable this functionality, the board (or arch) must define:
> >  - CONFIG_PRE_CONSOLE_BUFFER - Enable pre-console buffer
> >  - CONFIG_PRE_CON_BUF_ADDR - Base address of pre-console buffer
> >  - CONFIG_PRE_CON_BUF_SZ - Size of pre-console buffer (in bytes)
> >
> > The pre-console buffer will buffer the last CONFIG_PRE_CON_BUF_SZ bytes
> > Any earlier characters are silently dropped.
> >
> > Signed-off-by: Graeme Russ 
>
> I tested this on a Tegra2 Seaboard.
>
> Tested-by: Simon Glass 
>

Further to this, I pushed it a little further and managed to get early
console output from the AVP (an ARM7) before the Cortex-A9s are fired up on
a Tegra20/30. That's pretty early!

This is a great patch and very useful for early bring-up I think. I hope it
will be merged this window. Any other comments?

Regards,
Simon


>
> Regards,
> Simon
>
> > ---
> > G - Repost of V5 with an SoB. There has to be a better way of
> > automating patch updates ;)
> >
> > Changes since V4
> >  - Fixed typo in README
> >  - Made *pre_console* functions in console.c static
> >  - Slight tweak to commit message - Some may choose to set the
> >   configuration defines at the arch level
> >
> > Changes since V3
> >  - Fixed  blank subject caused by gap between the Cc: list and Date:
> >
> > Changes since V2
> >  - Cast buffer size to unsigned long to help compilers produce tighter
> >   code
> >  - Use inline stub functions to reduce #ifdef clutter
> >  - Add documentation to README
> >
> > Changes Since V1
> >  - Implemented circular buffer
> >  - Trivial code styl corrections
> >
> > ---
> >  README|   14 +
> >  arch/arm/include/asm/global_data.h|3 ++
> >  arch/avr32/include/asm/global_data.h  |3 ++
> >  arch/blackfin/include/asm/global_data.h   |3 ++
> >  arch/m68k/include/asm/global_data.h   |3 ++
> >  arch/microblaze/include/asm/global_data.h |3 ++
> >  arch/mips/include/asm/global_data.h   |3 ++
> >  arch/nios2/include/asm/global_data.h  |3 ++
> >  arch/powerpc/include/asm/global_data.h|3 ++
> >  arch/sh/include/asm/global_data.h |3 ++
> >  arch/sparc/include/asm/global_data.h  |3 ++
> >  arch/x86/include/asm/global_data.h|3 ++
> >  common/console.c  |   43
> +++-
> >  13 files changed, 88 insertions(+), 2 deletions(-)
> >
> > diff --git a/README b/README
> > index 0886987..cf6c01f 100644
> [snip]
>
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v4 18/19] Adjust dependency rules to permit per-file flags

2011-10-03 Thread Simon Glass
The dependency rules are currently done in a shell 'for' loop. This does not
permit Makefile variables to adjust preprocessor flags as is done with normal
compile flags, using the CFLAGS_path/file.o syntax.

This change moves the dependency generation into the Makefile itself, and
permits a CPPFLAGS_path/file.o to adjust preprocessor flags on a file or
directory basis.

The CPPFLAGS_... variable is also folded into CFLAGS during the build.

Signed-off-by: Simon Glass 
---
Changes in v3:
- Change U-Boot's dependency generation to permit per-file flags

Changes in v4:
- 'Improve' dependency generation to deal with source files containing paths
- Make sure that clobber target removes all dependency files

 .gitignore |2 +-
 Makefile   |2 +-
 config.mk  |7 +++
 rules.mk   |   44 +---
 4 files changed, 42 insertions(+), 13 deletions(-)

diff --git a/.gitignore b/.gitignore
index 289ffab..1bea75f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,7 +40,7 @@
 # Generated files
 #
 
-*.depend
+*.depend*
 /LOG
 /errlog
 /reloc_off
diff --git a/Makefile b/Makefile
index ccd221e..1bfeebe 100644
--- a/Makefile
+++ b/Makefile
@@ -973,7 +973,7 @@ clean:
| xargs rm -f
 
 clobber:   clean
-   @find $(OBJTREE) -type f \( -name '*.depend' \
+   @find $(OBJTREE) -type f \( -name '*.depend*' \
-o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \
-print0 \
| xargs -0 rm -f
diff --git a/config.mk b/config.mk
index e2b440d..3fa9eef 100644
--- a/config.mk
+++ b/config.mk
@@ -277,6 +277,13 @@ export CONFIG_SYS_TEXT_BASE PLATFORM_CPPFLAGS 
PLATFORM_RELFLAGS CPPFLAGS CFLAGS
 BCURDIR = $(subst $(SRCTREE)/,,$(CURDIR:$(obj)%=%))
 ALL_AFLAGS = $(AFLAGS) $(AFLAGS_$(BCURDIR)/$(@F)) $(AFLAGS_$(BCURDIR))
 ALL_CFLAGS = $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR))
+EXTRA_CPPFLAGS = $(CPPFLAGS_$(BCURDIR)/$(@F)) $(CPPFLAGS_$(BCURDIR))
+ALL_CFLAGS += $(EXTRA_CPPFLAGS)
+
+# The _DEP version uses the $< file target (for dependency generation)
+# See rules.mk
+EXTRA_CPPFLAGS_DEP = $(CPPFLAGS_$(BCURDIR)/$(addsuffix .o,$(basename $<))) \
+   $(CPPFLAGS_$(BCURDIR))
 $(obj)%.s: %.S
$(CPP) $(ALL_AFLAGS) -o $@ $<
 $(obj)%.o: %.S
diff --git a/rules.mk b/rules.mk
index d79fcd3..377be86 100644
--- a/rules.mk
+++ b/rules.mk
@@ -25,17 +25,39 @@
 
 _depend:   $(obj).depend
 
-$(obj).depend: $(src)Makefile $(TOPDIR)/config.mk $(SRCS) $(HOSTSRCS)
-   @rm -f $@
-   @touch $@
-   @for f in $(SRCS); do \
-   g=`basename $$f | sed -e 
's/\(.*\)\.[[:alnum:]_]/\1.o/'`; \
-   $(CC) -M $(CPPFLAGS) -MQ $(obj)$$g $$f >> $@ ; \
-   done
-   @for f in $(HOSTSRCS); do \
-   g=`basename $$f | sed -e 
's/\(.*\)\.[[:alnum:]_]/\1.o/'`; \
-   $(HOSTCC) -M $(HOSTCPPFLAGS) -MQ $(obj)$$g $$f >> $@ ; \
-   done
+# Split the source files into two camps: those in the current directory, and
+# those somewhere else. For the first camp we want to support CPPFLAGS_
+# and for the second we don't / can't.
+PWD_SRCS := $(filter $(notdir $(SRCS)),$(SRCS))
+OTHER_SRCS := $(filter-out $(notdir $(SRCS)),$(SRCS))
+
+# This is a list of dependency files to generate
+DEPS := $(basename $(patsubst %,$(obj).depend.%,$(PWD_SRCS)))
+
+# Join all the dependencies into a single file, in three parts
+#  1 .Concatenate all the generated depend files together
+#  2. Add in the deps from OTHER_SRCS which we couldn't process
+#  3. Add in the HOSTSRCS
+$(obj).depend: $(src)Makefile $(TOPDIR)/config.mk $(DEPS) $(HOSTSRCS)
+   cat /dev/null $(DEPS) >$@
+   @for f in $(OTHER_SRCS); do \
+   g=`basename $$f | sed -e 's/\(.*\)\.[[:alnum:]_]/\1.o/'`; \
+   $(CC) -M $(CPPFLAGS) -MQ $(obj)$$g $$f >> $@ ; \
+   done
+   @for f in $(HOSTSRCS); do \
+   g=`basename $$f | sed -e 's/\(.*\)\.[[:alnum:]_]/\1.o/'`; \
+   $(HOSTCC) -M $(HOSTCPPFLAGS) -MQ $(obj)$$g $$f >> $@ ; \
+   done
+
+MAKE_DEPEND = $(CC) -M $(CPPFLAGS) $(EXTRA_CPPFLAGS_DEP) \
+   -MQ $(addsuffix .o,$(basename $<)) $< >$@
+
+
+$(obj).depend.%:   %.c
+   $(MAKE_DEPEND)
+
+$(obj).depend.%:   %.S
+   $(MAKE_DEPEND)
 
 $(HOSTOBJS): $(obj)%.o: %.c
$(HOSTCC) $(HOSTCFLAGS) $(HOSTCFLAGS_$(@F)) $(HOSTCFLAGS_$(BCURDIR)) -o 
$@ $< -c
-- 
1.7.3.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v4 16/19] sandbox: Add basic config file

2011-10-03 Thread Simon Glass
This basic provides required features along with a basic command set.

Signed-off-by: Simon Glass 
---
Changes in v2:
- Remove CONFIG_SYS_SDRAM_BASE which is always 0 for sandbox boards
- Fix #define
- Remove CONFIG_LMB

Changes in v4:
- Add CONFIG_SYS_SDRAM_SIZE for size of emulated SDRAM
- Add #ifdef protection around sandbox.h header file

 include/configs/sandbox.h |   85 +
 1 files changed, 85 insertions(+), 0 deletions(-)
 create mode 100644 include/configs/sandbox.h

diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
new file mode 100644
index 000..0230256
--- /dev/null
+++ b/include/configs/sandbox.h
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2011 The Chromium OS Authors.
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#define CONFIG_NR_DRAM_BANKS   1
+#define CONFIG_DRAM_SIZE   (128 << 20)
+
+/* Number of bits in a C 'long' on this architecture */
+#define CONFIG_SANDBOX_BITS_PER_LONG   64
+
+/*
+ * Size of malloc() pool, although we don't actually use this yet.
+ */
+#define CONFIG_SYS_MALLOC_LEN  (4 << 20)   /* 4MB  */
+
+#define CONFIG_SYS_PROMPT  "=>"/* Command Prompt */
+#define CONFIG_SYS_HUSH_PARSER
+#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
+#define CONFIG_SYS_LONGHELP/* #undef to save memory */
+#define CONFIG_SYS_CBSIZE  1024/* Console I/O Buffer Size */
+
+/* Print Buffer Size */
+#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
+#define CONFIG_SYS_MAXARGS 16
+
+/* turn on command-line edit/c/auto */
+#define CONFIG_CMDLINE_EDITING
+#define CONFIG_COMMAND_HISTORY
+#define CONFIG_AUTOCOMPLETE
+
+#define CONFIG_ENV_SIZE8192
+#define CONFIG_ENV_IS_NOWHERE
+
+#define CONFIG_SYS_HZ  1000
+
+/* Memory things - we don't really want a memory test */
+#define CONFIG_SYS_LOAD_ADDR   0x1000
+#define CONFIG_SYS_MEMTEST_START   0x1000
+#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x1000)
+#define CONFIG_PHYS_64BIT
+
+/* Size of our emulated memory */
+#define CONFIG_SYS_SDRAM_SIZE  (128 << 20)
+
+#define CONFIG_BAUDRATE115200
+#define CONFIG_SYS_BAUDRATE_TABLE  {4800, 9600, 19200, 38400, 57600,\
+   115200}
+#define CONFIG_SANDBOX_SERIAL
+
+#define CONFIG_SYS_NO_FLASH
+
+/* include default commands */
+#include 
+
+/* We don't have networking support yet */
+#undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
+
+#define CONFIG_BOOTARGS ""
+
+#define CONFIG_EXTRA_ENV_SETTINGS  "stdin=serial\0" \
+   "stdout=serial\0" \
+   "stderr=serial\0"
+
+#endif
-- 
1.7.3.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v4 13/19] sandbox: Add OS dependent layer

2011-10-03 Thread Simon Glass
We want to keep all OS-dependent code in once place, with a simple interface
to U-Boot. For now, this is that place.

Signed-off-by: Simon Glass 
---
Changes in v2:
- Move os layer into arch/sandbox
- Remove clean and dist-clean targets from Makefile
- Try and fail to remove the global -I/usr/include

Changes in v3:
- Add os_exit() which always exits with success for now
- Add function comments to header file
- Call os_exit() in do_reset()
- Move cpu files into arch/sandbox/cpu

Changes in v4:
- Allow os_exit() to exit with a non-zero return code

 arch/sandbox/cpu/Makefile |5 ++-
 arch/sandbox/cpu/cpu.c|7 ++--
 arch/sandbox/cpu/os.c |   55 ++
 include/os.h  |   73 +
 4 files changed, 135 insertions(+), 5 deletions(-)
 create mode 100644 arch/sandbox/cpu/os.c
 create mode 100644 include/os.h

diff --git a/arch/sandbox/cpu/Makefile b/arch/sandbox/cpu/Makefile
index 8dfa828..1a0b260 100644
--- a/arch/sandbox/cpu/Makefile
+++ b/arch/sandbox/cpu/Makefile
@@ -23,11 +23,14 @@
 # MA 02111-1307 USA
 #
 
+# os.c is build in the system environment, so needs standard includes
+CPPFLAGS_arch/sandbox/cpu/os.o += -I/usr/include
+
 include $(TOPDIR)/config.mk
 
 LIB= $(obj)lib$(CPU).o
 
-COBJS  := cpu.o
+COBJS  := cpu.o os.o
 
 SRCS   := $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
diff --git a/arch/sandbox/cpu/cpu.c b/arch/sandbox/cpu/cpu.c
index 554cae8..c7bf8a9 100644
--- a/arch/sandbox/cpu/cpu.c
+++ b/arch/sandbox/cpu/cpu.c
@@ -20,15 +20,14 @@
  */
 
 #include 
+#include 
 
 DECLARE_GLOBAL_DATA_PTR;
 
 int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
-   /*
-* This is considered normal termination for now. We wil call os_exit()
-* when available.
-*/
+   /* This is considered normal termination for now */
+   os_exit(0);
return 0;
 }
 
diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c
new file mode 100644
index 000..6c175d4
--- /dev/null
+++ b/arch/sandbox/cpu/os.c
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2011 The Chromium OS Authors.
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+
+/* Operating System Interface */
+
+ssize_t os_read(int fd, void *buf, size_t count)
+{
+   return read(fd, buf, count);
+}
+
+ssize_t os_write(int fd, const void *buf, size_t count)
+{
+   return write(fd, buf, count);
+}
+
+int os_open(const char *pathname, int flags)
+{
+   return open(pathname, flags);
+}
+
+int os_close(int fd)
+{
+   return close(fd);
+}
+
+void os_exit(int exit_code)
+{
+   exit(exit_code);
+}
diff --git a/include/os.h b/include/os.h
new file mode 100644
index 000..3ea6d2d
--- /dev/null
+++ b/include/os.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2011 The Chromium OS Authors.
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+/*
+ * Operating System Interface
+ *
+ * This provides access to useful OS routines from the sandbox architecture
+ */
+
+/**
+ * Access to the OS read() system call
+ *
+ * \param fd   File descriptor as returned by os_open()
+ * \param buf  Buffer to place data
+ * \param countNumber of bytes to read
+ * \return number of bytes read, or -1 on error
+ */
+ssize_t os_read(int fd, void *buf, size_t count);
+
+/**
+ * Access to the OS write() system call
+ *
+ * \param fd   File descriptor as retur

[U-Boot] [PATCH v4 17/19] Use uintptr_t for 32/64-bit compatibility

2011-10-03 Thread Simon Glass
This fixes a few problems when building on 64-bit machines.

Signed-off-by: Simon Glass 
---
 common/cmd_mem.c |2 +-
 common/fdt_support.c |8 
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/cmd_mem.c b/common/cmd_mem.c
index e84cc4e..28476d7 100644
--- a/common/cmd_mem.c
+++ b/common/cmd_mem.c
@@ -937,7 +937,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
if (readback != val) {
printf ("\nMem error @ 0x%08X: "
"found %08lX, expected %08lX\n",
-   (uint)addr, readback, val);
+   (uint)(uintptr_t)addr, readback, val);
errs++;
if (ctrlc()) {
putc ('\n');
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 19b2ef6..9bed3ce 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -495,7 +495,7 @@ int fdt_resize(void *blob)
total = fdt_num_mem_rsv(blob);
for (i = 0; i < total; i++) {
fdt_get_mem_rsv(blob, i, &addr, &size);
-   if (addr == (uint64_t)(u32)blob) {
+   if (addr == (uintptr_t)blob) {
fdt_del_mem_rsv(blob, i);
break;
}
@@ -511,14 +511,14 @@ int fdt_resize(void *blob)
fdt_size_dt_strings(blob) + 5 * sizeof(struct 
fdt_reserve_entry);
 
/* Make it so the fdt ends on a page boundary */
-   actualsize = ALIGN(actualsize + ((uint)blob & 0xfff), 0x1000);
-   actualsize = actualsize - ((uint)blob & 0xfff);
+   actualsize = ALIGN(actualsize + ((uintptr_t)blob & 0xfff), 0x1000);
+   actualsize = actualsize - ((uintptr_t)blob & 0xfff);
 
/* Change the fdt header to reflect the correct size */
fdt_set_totalsize(blob, actualsize);
 
/* Add the new reservation */
-   ret = fdt_add_mem_rsv(blob, (uint)blob, actualsize);
+   ret = fdt_add_mem_rsv(blob, (uintptr_t)blob, actualsize);
if (ret < 0)
return ret;
 
-- 
1.7.3.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v4 19/19] sandbox: Makefile changes to build sandbox architecture

2011-10-03 Thread Simon Glass
At this point U-Boot will build and run on x86 under Linux.

The idea is to define a new architecture called 'sandbox', alongside ARM
and x86. This runs natively on Linux to suit the host machine. All
hardware access is either omitted or emulated.

The purpose of this system is to test the bulk of the non-hardware-specific
U-Boot code. We can mock the SPI flash, GPIOs, UART and keyboard, then test
that U-Boot behaves as we wish.

Signed-off-by: Simon Glass 
---
Changes in v2:
- Rebase to master
- Tidy top-level Makefile to minimise changes

Changes in v4:
- Drop board/sandbox/common/board.c for now (no board_init() needed)
- Move main() into start.c to remove one ifdef from the top level Makefile
- Fix up Makefile for non-sandbox builds

 Makefile |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index 1bfeebe..a977ddb 100644
--- a/Makefile
+++ b/Makefile
@@ -401,12 +401,20 @@ $(obj)u-boot.ubl:   $(obj)u-boot-nand.bin
$(obj)tools/mkimage -n $(UBL_CONFIG) -T ublimage \
-e $(CONFIG_SYS_TEXT_BASE) -d $< $@
 
+ifeq ($(CONFIG_SANDBOX),y)
+GEN_UBOOT = \
+   cd $(LNDIR) && $(CC) $(SYMS) -T $(obj)u-boot.lds \
+   -Wl,--start-group $(__LIBS) -Wl,--end-group \
+   $(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot.map -o u-boot
+else
 GEN_UBOOT = \
UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
sed  -n -e 
's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM 
$(__OBJS) \
--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
-Map u-boot.map -o u-boot
+endif
+
 $(obj)u-boot:  depend \
$(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) 
$(obj)u-boot.lds
$(GEN_UBOOT)
-- 
1.7.3.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v4 07/19] sandbox: Add sandbox board

2011-10-03 Thread Simon Glass
This adds basic files for the sandbox board. The lds file is very simple
since we can rely mostly on the linker defaults.

Signed-off-by: Simon Glass 
---
Changes in v2:
- Remove clean and dist-clean targets from Makefile
- Move lds script out of the board directory

Changes in v4:
- Remove board/sandbox/common directory as it is not used

 board/sandbox/sandbox/Makefile  |   42 ++
 board/sandbox/sandbox/sandbox.c |   54 +++
 boards.cfg  |1 +
 3 files changed, 97 insertions(+), 0 deletions(-)
 create mode 100644 board/sandbox/sandbox/Makefile
 create mode 100644 board/sandbox/sandbox/sandbox.c

diff --git a/board/sandbox/sandbox/Makefile b/board/sandbox/sandbox/Makefile
new file mode 100644
index 000..6366a07
--- /dev/null
+++ b/board/sandbox/sandbox/Makefile
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2011 The Chromium OS Authors.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# 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 Foundatio; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).o
+
+COBJS  := $(BOARD).o
+
+SRCS   := $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+
+$(LIB):$(obj).depend $(OBJS)
+   $(AR) $(ARFLAGS) $@ $(OBJS)
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/sandbox/sandbox/sandbox.c b/board/sandbox/sandbox/sandbox.c
new file mode 100644
index 000..c12c231
--- /dev/null
+++ b/board/sandbox/sandbox/sandbox.c
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2011 The Chromium OS Authors.
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include 
+
+/*
+ * Pointer to initial global data area
+ *
+ * Here we initialize it.
+ */
+#undef XTRN_DECLARE_GLOBAL_DATA_PTR
+#define XTRN_DECLARE_GLOBAL_DATA_PTR   /* empty = allocate here */
+DECLARE_GLOBAL_DATA_PTR;
+
+gd_t *gd;
+
+
+void flush_cache(unsigned long start, unsigned long size)
+{
+}
+
+ulong get_timer(ulong base)
+{
+   return 0;
+}
+
+int timer_init(void)
+{
+   return 0;
+}
+
+int dram_init(void)
+{
+   gd->ram_size = CONFIG_DRAM_SIZE;
+   return 0;
+}
diff --git a/boards.cfg b/boards.cfg
index e5cb91b..b1b03b2 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -260,6 +260,7 @@ tcm-bf518blackfinblackfin
 tcm-bf537blackfinblackfin
 eNET x86 x86eNET-  
sc520   eNET:SYS_TEXT_BASE=0x3804
 eNET_SRAMx86 x86eNET-  
sc520   eNET:SYS_TEXT_BASE=0x1900
+sandbox  sandbox sandbox sandbox 
sandbox-
 idmr m68kmcf52x2
 TASREG   m68kmcf52x2 tasreg  esd
 M5208EVBEm68kmcf52x2 m5208evbe   
freescale
-- 
1.7.3.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v4 08/19] sandbox: Add board info for architecture

2011-10-03 Thread Simon Glass
This is required for the bdinfo command to work.

This also cleans up the #ifdef mess for ethernet and lnum a little.

Signed-off-by: Simon Glass 
---
 common/cmd_bdinfo.c |   34 ++
 1 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c
index 6051120..0faca6f 100644
--- a/common/cmd_bdinfo.c
+++ b/common/cmd_bdinfo.c
@@ -31,11 +31,14 @@ DECLARE_GLOBAL_DATA_PTR;
 
 static void print_num(const char *, ulong);
 
-#if !(defined(CONFIG_ARM) || defined(CONFIG_M68K)) || defined(CONFIG_CMD_NET)
+#if !(defined(CONFIG_ARM) || defined(CONFIG_M68K) || defined(CONFIG_SANDBOX))
+   || defined(CONFIG_CMD_NET)
+#define HAVE_PRINT_ETH
 static void print_eth(int idx);
 #endif
 
-#if (!defined(CONFIG_ARM) && !defined(CONFIG_X86))
+#if (!defined(CONFIG_ARM) && !defined(CONFIG_X86) && !defined(CONFIG_SANDBOX))
+#define HAVE_PRINT_LNUM
 static void print_lnum(const char *, u64);
 #endif
 
@@ -413,6 +416,29 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * 
const argv[])
return 0;
 }
 
+#elif defined(CONFIG_SANDBOX)
+
+int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+   int i;
+   bd_t *bd = gd->bd;
+
+   print_num("boot_params", (ulong)bd->bi_boot_params);
+
+   for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) {
+   print_num("DRAM bank", i);
+   print_num("-> start", bd->bi_dram[i].start);
+   print_num("-> size", bd->bi_dram[i].size);
+   }
+
+#if defined(CONFIG_CMD_NET)
+   print_eth(0);
+   printf("ip_addr = %pI4\n", &bd->bi_ip_addr);
+#endif
+   print_num("FB base  ", gd->fb_base);
+   return 0;
+}
+
 #else
  #error "a case for this architecture does not exist!"
 #endif
@@ -422,7 +448,7 @@ static void print_num(const char *name, ulong value)
printf("%-12s= 0x%08lX\n", name, value);
 }
 
-#if !(defined(CONFIG_ARM) || defined(CONFIG_M68K)) || defined(CONFIG_CMD_NET)
+#ifdef HAVE_PRINT_ETH
 static void print_eth(int idx)
 {
char name[10], *val;
@@ -437,7 +463,7 @@ static void print_eth(int idx)
 }
 #endif
 
-#if (!defined(CONFIG_ARM) && !defined(CONFIG_X86))
+#ifdef HAVE_PRINT_LNUM
 static void print_lnum(const char *name, u64 value)
 {
printf("%-12s= 0x%.8llX\n", name, value);
-- 
1.7.3.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v4 15/19] sandbox: Add serial uart

2011-10-03 Thread Simon Glass
This uart simply writes to stdout and reads from stdin. We might imagine
instead buffering the data so that a test interface can check output and
inject input.

Signed-off-by: Simon Glass 
---
Changes in v4:
- Remove serial_exit()

 drivers/serial/Makefile  |1 +
 drivers/serial/sandbox.c |   63 ++
 2 files changed, 64 insertions(+), 0 deletions(-)
 create mode 100644 drivers/serial/sandbox.c

diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 1dcc1c7..6309549 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -53,6 +53,7 @@ COBJS-$(CONFIG_SA1100_SERIAL) += serial_sa1100.o
 COBJS-$(CONFIG_S3C24X0_SERIAL) += serial_s3c24x0.o
 COBJS-$(CONFIG_S3C44B0_SERIAL) += serial_s3c44b0.o
 COBJS-$(CONFIG_XILINX_UARTLITE) += serial_xuartlite.o
+COBJS-$(CONFIG_SANDBOX_SERIAL) += sandbox.o
 COBJS-$(CONFIG_SCIF_CONSOLE) += serial_sh.o
 COBJS-$(CONFIG_TEGRA2) += serial_tegra2.o
 
diff --git a/drivers/serial/sandbox.c b/drivers/serial/sandbox.c
new file mode 100644
index 000..0d65587
--- /dev/null
+++ b/drivers/serial/sandbox.c
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2011 The Chromium OS Authors.
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+/*
+ * This provide a test serial port. It provides an emulated serial port where
+ * a test program and read out the serial output and inject serial input for
+ * U-Boot.
+ */
+
+#include 
+#include 
+
+int serial_init(void)
+{
+   return 0;
+}
+
+void serial_setbrg(void)
+{
+}
+
+void serial_putc(const char ch)
+{
+   os_write(1, &ch, 1);
+}
+
+void serial_puts(const char *str)
+{
+   while (*str)
+   serial_putc(*str++);
+}
+
+int serial_getc(void)
+{
+   char buf;
+   int count;
+
+   count = os_read(0, &buf, 1);
+   return count == 1 ? buf : 0;
+}
+
+int serial_tstc(void)
+{
+   return 0;
+}
-- 
1.7.3.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v4 05/19] sandbox: Add cpu files

2011-10-03 Thread Simon Glass
This is an initial implementation with all functions defined but not working.

The lds file is very simple since we can mostly rely on the linker defaults.

Signed-off-by: Simon Glass 
---
Changes in v2:
- Remove setting of LDSCRIPT (top level Makefile does this anyway)
- Add comment to do_reset() to justify the sandbox implementation
- Move lds script into cpu/sandbox

Changes in v3:
- Change do_reset() back to what it was
- Move cpu files into arch/sandbox/cpu

 arch/sandbox/config.mk  |   20 +
 arch/sandbox/cpu/Makefile   |   47 
 arch/sandbox/cpu/cpu.c  |   63 +++
 arch/sandbox/cpu/u-boot.lds |   34 +++
 4 files changed, 164 insertions(+), 0 deletions(-)
 create mode 100644 arch/sandbox/config.mk
 create mode 100644 arch/sandbox/cpu/Makefile
 create mode 100644 arch/sandbox/cpu/cpu.c
 create mode 100644 arch/sandbox/cpu/u-boot.lds

diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk
new file mode 100644
index 000..ab33026
--- /dev/null
+++ b/arch/sandbox/config.mk
@@ -0,0 +1,20 @@
+# Copyright (c) 2011 The Chromium OS Authors.
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# 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.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+
+PLATFORM_CPPFLAGS += -DCONFIG_SANDBOX -D__SANDBOX__
diff --git a/arch/sandbox/cpu/Makefile b/arch/sandbox/cpu/Makefile
new file mode 100644
index 000..8dfa828
--- /dev/null
+++ b/arch/sandbox/cpu/Makefile
@@ -0,0 +1,47 @@
+#
+# Copyright (c) 2011 The Chromium OS Authors.
+#
+# (C) Copyright 2000-2003
+# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# 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.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(CPU).o
+
+COBJS  := cpu.o
+
+SRCS   := $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+
+all:   $(obj).depend $(LIB)
+
+$(LIB):$(OBJS)
+   $(call cmd_link_o_target, $(OBJS))
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/arch/sandbox/cpu/cpu.c b/arch/sandbox/cpu/cpu.c
new file mode 100644
index 000..554cae8
--- /dev/null
+++ b/arch/sandbox/cpu/cpu.c
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2011 The Chromium OS Authors.
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include 
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+   /*
+* This is considered normal termination for now. We wil call os_exit()
+* when available.
+*/
+   return 0;
+}
+
+/* delay x useconds */
+void __udelay(unsigned long usec)
+{
+   /* Ign

  1   2   3   >