armadeus-commitlog Mailing List for armadeus (Page 94)
Brought to you by:
sszy
You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(43) |
Feb
(8) |
Mar
(7) |
Apr
(8) |
May
(14) |
Jun
(6) |
Jul
(4) |
Aug
(17) |
Sep
(18) |
Oct
(19) |
Nov
(52) |
Dec
(30) |
| 2008 |
Jan
(6) |
Feb
(6) |
Mar
(15) |
Apr
(22) |
May
(13) |
Jun
(11) |
Jul
(41) |
Aug
(10) |
Sep
(14) |
Oct
(21) |
Nov
(4) |
Dec
(66) |
| 2009 |
Jan
(67) |
Feb
(57) |
Mar
(90) |
Apr
(54) |
May
(64) |
Jun
(76) |
Jul
(14) |
Aug
(18) |
Sep
(18) |
Oct
(20) |
Nov
(15) |
Dec
(36) |
| 2010 |
Jan
(28) |
Feb
(25) |
Mar
(32) |
Apr
(23) |
May
(22) |
Jun
(62) |
Jul
(36) |
Aug
(16) |
Sep
(12) |
Oct
(20) |
Nov
(44) |
Dec
(25) |
| 2011 |
Jan
(36) |
Feb
(49) |
Mar
(28) |
Apr
(38) |
May
(26) |
Jun
(52) |
Jul
(33) |
Aug
(32) |
Sep
(19) |
Oct
(26) |
Nov
(13) |
Dec
(32) |
| 2012 |
Jan
(38) |
Feb
(34) |
Mar
(91) |
Apr
(35) |
May
(31) |
Jun
(72) |
Jul
(23) |
Aug
(13) |
Sep
(33) |
Oct
(47) |
Nov
(18) |
Dec
(22) |
| 2013 |
Jan
(31) |
Feb
(22) |
Mar
(26) |
Apr
(11) |
May
(38) |
Jun
(15) |
Jul
(37) |
Aug
(68) |
Sep
(34) |
Oct
(11) |
Nov
(26) |
Dec
(31) |
| 2014 |
Jan
(60) |
Feb
(55) |
Mar
(21) |
Apr
(31) |
May
(17) |
Jun
(35) |
Jul
(24) |
Aug
(17) |
Sep
(11) |
Oct
(23) |
Nov
(10) |
Dec
(23) |
| 2015 |
Jan
(15) |
Feb
(34) |
Mar
(46) |
Apr
(23) |
May
(12) |
Jun
(14) |
Jul
(18) |
Aug
(22) |
Sep
(6) |
Oct
(2) |
Nov
(1) |
Dec
(6) |
| 2016 |
Jan
(5) |
Feb
(7) |
Mar
(10) |
Apr
(10) |
May
(17) |
Jun
(6) |
Jul
(4) |
Aug
(6) |
Sep
(22) |
Oct
(8) |
Nov
(9) |
Dec
(5) |
| 2017 |
Jan
(11) |
Feb
(12) |
Mar
(27) |
Apr
(9) |
May
(1) |
Jun
(5) |
Jul
(11) |
Aug
(10) |
Sep
(6) |
Oct
(10) |
Nov
(4) |
Dec
(6) |
| 2018 |
Jan
(6) |
Feb
(13) |
Mar
(9) |
Apr
(7) |
May
(10) |
Jun
(9) |
Jul
(21) |
Aug
(13) |
Sep
(10) |
Oct
(4) |
Nov
(6) |
Dec
(1) |
| 2019 |
Jan
(6) |
Feb
(2) |
Mar
(5) |
Apr
(6) |
May
(19) |
Jun
(14) |
Jul
(18) |
Aug
(3) |
Sep
(5) |
Oct
(7) |
Nov
(8) |
Dec
(4) |
| 2020 |
Jan
(10) |
Feb
(3) |
Mar
(9) |
Apr
(7) |
May
(2) |
Jun
(18) |
Jul
(3) |
Aug
|
Sep
|
Oct
(7) |
Nov
|
Dec
(1) |
| 2021 |
Jan
(9) |
Feb
(6) |
Mar
(4) |
Apr
(11) |
May
(7) |
Jun
(5) |
Jul
(2) |
Aug
(4) |
Sep
(10) |
Oct
(9) |
Nov
(5) |
Dec
|
| 2022 |
Jan
(2) |
Feb
(12) |
Mar
(3) |
Apr
(5) |
May
(1) |
Jun
(3) |
Jul
(2) |
Aug
(1) |
Sep
(4) |
Oct
(4) |
Nov
(1) |
Dec
(3) |
| 2023 |
Jan
(5) |
Feb
(3) |
Mar
(3) |
Apr
(2) |
May
(1) |
Jun
(3) |
Jul
(3) |
Aug
(2) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(4) |
| 2024 |
Jan
(2) |
Feb
(3) |
Mar
(8) |
Apr
(4) |
May
(1) |
Jun
(13) |
Jul
(7) |
Aug
(1) |
Sep
(6) |
Oct
(5) |
Nov
(11) |
Dec
(7) |
| 2025 |
Jan
(3) |
Feb
(1) |
Mar
(6) |
Apr
(4) |
May
(4) |
Jun
(1) |
Jul
(1) |
Aug
(7) |
Sep
(4) |
Oct
(4) |
Nov
(4) |
Dec
(1) |
| 2026 |
Jan
(3) |
Feb
(7) |
Mar
(3) |
Apr
(1) |
May
(6) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Julien B a. A. <ar...@us...> - 2011-05-02 12:22:36
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 52dceeef8c0448fd76393ef989171770a3082d13 (commit)
via 51b81b4fd78929f1f2b19b0b031449294efb5eca (commit)
from 606e3cd3c8cf16b91e8e640fa2984eaff34b6675 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 52dceeef8c0448fd76393ef989171770a3082d13
Author: Julien Boibessot <jul...@ar...>
Date: Mon May 2 14:21:48 2011 +0200
[LINUX] 2.6.38: Makes USER LED and switch accessible from userspace on APF51Dev
commit 51b81b4fd78929f1f2b19b0b031449294efb5eca
Author: Julien Boibessot <jul...@ar...>
Date: Mon May 2 14:14:53 2011 +0200
[LINUX] 2.6.38, activates gpiolib in default APF51 config
-----------------------------------------------------------------------
Summary of changes:
.../armadeus/apf51/apf51-linux-2.6.38.config | 4 +-
.../408-armadeus-add_apf51-dev_baseboard.patch | 26 +++++--------------
2 files changed, 9 insertions(+), 21 deletions(-)
diff --git a/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config b/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config
index 1bbc19b..b14dd1d 100644
--- a/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config
+++ b/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config
@@ -1169,7 +1169,7 @@ CONFIG_SPI_SPIDEV=m
#
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
+CONFIG_GPIO_SYSFS=y
#
# Memory mapped GPIO expanders:
@@ -1184,7 +1184,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_WM831X is not set
+CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_ADP5588 is not set
#
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch
index 8dd05e3..a9ce579 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch
@@ -4,8 +4,8 @@ Signed-off-by: Julien Boibessot <jul...@ar...>
Index: linux-2.6.38.1/arch/arm/mach-mx5/Kconfig
===================================================================
---- linux-2.6.38.1.orig/arch/arm/mach-mx5/Kconfig 2011-04-05 18:28:35.000000000 +0200
-+++ linux-2.6.38.1/arch/arm/mach-mx5/Kconfig 2011-04-05 22:56:58.000000000 +0200
+--- linux-2.6.38.1.orig/arch/arm/mach-mx5/Kconfig 2011-04-26 13:49:47.000000000 +0200
++++ linux-2.6.38.1/arch/arm/mach-mx5/Kconfig 2011-05-02 14:03:00.000000000 +0200
@@ -167,12 +167,32 @@
select SOC_IMX51
select IMX_HAVE_PLATFORM_IMX_UART
@@ -43,8 +43,8 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/Kconfig
endif
Index: linux-2.6.38.1/arch/arm/mach-mx5/Makefile
===================================================================
---- linux-2.6.38.1.orig/arch/arm/mach-mx5/Makefile 2011-04-05 18:28:35.000000000 +0200
-+++ linux-2.6.38.1/arch/arm/mach-mx5/Makefile 2011-04-05 22:56:58.000000000 +0200
+--- linux-2.6.38.1.orig/arch/arm/mach-mx5/Makefile 2011-04-26 13:49:47.000000000 +0200
++++ linux-2.6.38.1/arch/arm/mach-mx5/Makefile 2011-05-02 14:03:00.000000000 +0200
@@ -8,6 +8,7 @@
obj-$(CONFIG_CPU_FREQ_IMX) += cpu_op-mx51.o
@@ -56,8 +56,8 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/Makefile
Index: linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c 2011-04-05 23:04:25.000000000 +0200
-@@ -0,0 +1,480 @@
++++ linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c 2011-05-02 13:59:05.000000000 +0200
+@@ -0,0 +1,468 @@
+ /*
+ * Support for APF51's official development baseboard (APF51Dev)
+ *
@@ -217,15 +217,11 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c
+
+ /* ONEWIRE */
+
-+ /* KEYPAD */
-+
+ /* LED */
+ (_MX51_PAD_GPIO1_2__GPIO1_2 | MUX_PAD_CTRL(APF51_GPIO_SPECIAL_PAD_CTRL)),
-+
+ /* User switch */
+ (_MX51_PAD_GPIO1_3__GPIO1_3 | MUX_PAD_CTRL(APF51_GPIO_SPECIAL_PAD_CTRL)),
+
-+
+ /* Other GPIOs ! TBDL ! */
+ (_MX51_PAD_I2C1_CLK__GPIO4_16 | MUX_PAD_CTRL(APF51_GPIO_SPECIAL_PAD_CTRL)), /* HDMI_RST# */
+ (_MX51_PAD_I2C1_DAT__GPIO4_17 | MUX_PAD_CTRL(APF51_GPIO_SPECIAL_PAD_CTRL)), /* HDMI_DETECT */
@@ -241,7 +237,6 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c
+};
+
+/* APF51Proto has a LCD connector for a 18 bits 800x480 Chimei TFT LCD */
-+
+static struct fb_videomode apf51dev_modes[] = {
+ {
+ .name = "Chimei-LW700AT9003",
@@ -395,7 +390,6 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c
+static int init_gpio(void)
+{
+#define USER_LED_GPIO (GPIO_PORTA | 2)
-+#define USER_SWITCH_GPIO (GPIO_PORTA | 3)
+#define WIFI_PWRDN (GPIO_PORTB | 22)
+#define WIFI_RESET (GPIO_PORTB | 23)
+#define BT_RESET (GPIO_PORTB | 28)
@@ -433,13 +427,7 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c
+ return ret;
+ }
+ gpio_direction_output(USER_LED_GPIO, 1);
-+
-+ ret = gpio_request(USER_SWITCH_GPIO, "USER_SWITCH_GPIO");
-+ if (ret) {
-+ pr_warn("failed to get User Switch GPIO: %d\n", ret);
-+ return ret;
-+ }
-+ gpio_direction_input(USER_SWITCH_GPIO);
++ gpio_free(USER_LED_GPIO);
+
+ /* HDMI */
+ ret = gpio_request(HDMI_DETECT_GPIO, "HDMI_DETECT_GPIO");
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2011-04-29 15:14:04
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 606e3cd3c8cf16b91e8e640fa2984eaff34b6675 (commit)
via 8b04aaa6a42e5800269b85659e95c43f7fc306d4 (commit)
from 86f773af1e95b541d8ee266d306ff7236c4a4e6d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 606e3cd3c8cf16b91e8e640fa2984eaff34b6675
Merge: 8b04aaa6a42e5800269b85659e95c43f7fc306d4 86f773af1e95b541d8ee266d306ff7236c4a4e6d
Author: Julien Boibessot <jul...@ar...>
Date: Fri Apr 29 17:13:09 2011 +0200
Merge branch 'master' of ssh://artemys@armadeus.git.sourceforge.net/gitroot/armadeus/armadeus
commit 8b04aaa6a42e5800269b85659e95c43f7fc306d4
Author: Julien Boibessot <jul...@ar...>
Date: Fri Apr 29 17:11:29 2011 +0200
[TOOLS] Makes apf51_recover works on series boards and support USB communication
-----------------------------------------------------------------------
Summary of changes:
software/uboot_recover/apf51_recover.py | 417 ++++++++++++++++---------------
1 files changed, 212 insertions(+), 205 deletions(-)
diff --git a/software/uboot_recover/apf51_recover.py b/software/uboot_recover/apf51_recover.py
index 56a1728..9e31cdd 100644
--- a/software/uboot_recover/apf51_recover.py
+++ b/software/uboot_recover/apf51_recover.py
@@ -29,6 +29,8 @@ import serial
import thread
import re
+import usb
+
class Error(Exception):
""" Manage specific error
@@ -60,6 +62,7 @@ class Error(Exception):
def getLevel(self):
return self.level
+
class apf51Bootloader:
statuscode = { 0x8D: 'data specified is out of bounds',
@@ -93,40 +96,43 @@ class apf51Bootloader:
0x66: 'write operation to register failed',
0x88: 'Successful download completion' }
+ def __init__(self, serialDevice):
+ self.serdev = serialDevice
- def __init__(self, serialport ):
- self.port = serialport
-
-
- def getstatus(self):
- self.port.flushInput()
- #print 'get Status'
- self.port.write( self.buildcmd("0505" ,"00000000","l","00000000","00000000","0" ))
- result = self.port.read(4)
+ def getStatus(self):
+ self.serdev.flushInput()
+ self.serdev.write(self.buildcmd("0505", "00000000", "l", "00000000", "00000000", "0"))
+ result = self.serdev.read(4)
if len(result) > 0:
try:
- print self.statuscode[ord(result[0])]
- for i in range(len(result)):
- print '%02x' % ord(result[i]),
+ if self.serdev.port == 'USB':
+ status = result[0]
+ else:
+ status = ord(result[0])
+
+ print "Status: %s" % self.statuscode[status]
+ #for i in range(len(result)):
+ # print '%02x' % result[i],
except KeyError,e:
- print "Unknown status "+str(ord(result[0]))
+ print "Unknown status " + str(status)
else:
- print '\nread timeout'
+ print '\nTimeout while asking for status'
def __displayProgress(self, text):
sys.stdout.write(chr(13))
print text,
sys.stdout.flush()
-# addr: address to read
-# count: number of bytes to read
-# mode: b, w, l for byte, word, long
-
- def get( self, addr, count, mode ):
+ def get(self, addr, count, mode):
+ """
+ addr: address to read
+ count: number of bytes to read
+ mode: b, w, l for byte, word, long
+ """
assert len(addr) <= 8, 'address too long'
assert int(count,16) > 0, 'zero length get'
assert int(count,16) < 0xffffffff, 'Too long get, should be < 31 bytes'
- self.port.write( self.buildcmd("0101" ,addr,mode,count.zfill(9-len(count)),"00000000","0" ) )
+ self.serdev.write(self.buildcmd("0101" ,addr, mode, count.zfill(9-len(count)), "00000000", "0"))
#nbbyte = 1
#if mode == 'w':
@@ -135,7 +141,7 @@ class apf51Bootloader:
# nbbyte = 4
#nbbyte = nbbyte * int(count)
- temp = self.port.read(int(count)+4) # read n+4 char
+ temp = self.serdev.read(int(count)+4) # read n+4 char
if len(temp) == 0:
print 'read timeout'
return
@@ -151,17 +157,16 @@ class apf51Bootloader:
print ''.join(result)
return ''.join(result)
-
-# addr: address where the data have to be written
-# data: data to write. must match the given mode
-
-# mode: b, w, l for byte, word, long
-
def put(self, addr, data, mode):
+ """
+ addr: address where the data have to be written
+ data: data to write. must match the given mode
+ mode: b, w, l for byte, word, long
+ """
assert len(data) > 0, 'zero length put'
assert len(addr) == 8, 'address too long'
- self.port.write( self.buildcmd("0202" ,addr,mode,"00000000",data,"0" ))
- result = self.port.read(4) #ack
+ self.serdev.write(self.buildcmd("0202", addr,mode, "00000000", data, "0"))
+ result = self.serdev.read(4) #ack
if len(result) == 0:
print 'read timeout'
return
@@ -169,7 +174,7 @@ class apf51Bootloader:
# for i in range (len(result)):
# print '%02x' % ord(result[i]),
- result = self.port.read(4)
+ result = self.serdev.read(4)
if len(result) == 0:
print 'read timeout'
return
@@ -177,19 +182,19 @@ class apf51Bootloader:
#print '\nwrite success:',
#for i in range (len(result)):
#print '%02x' % ord(result[i]),
-
def download(self, addr, data, size, type):
assert size > 0, 'file empty'
- f=open(data, 'rb')
- self.port.write(self.buildcmd("0404" ,addr,"x", size, "00000000",type))
- result = self.port.read(4) #ack
+ f = open(data, 'rb')
+ self.serdev.write(self.buildcmd("0404", addr, "x", size, "00000000", type))
+ result = self.serdev.read(4) #ack
if len(result) == 0:
print '\nread timeout'
return
data = f.read(16)
count = int(size,16)
+ oldcount = count
total = 0
b = 0
print '\nTransfering:'
@@ -197,14 +202,15 @@ class apf51Bootloader:
n = len(data)
b = 16-n # ensure always 4 bytes
#tr = unpack('B'*n,data)
- self.port.write(data)
+ self.serdev.write(data)
count = count - 16
if count < 16:
total = total + count
else:
total = total + 16
- if (count % 1024) == 0:
+ if (oldcount - count) >= 4096:
self.__displayProgress("%06d bytes" % total)
+ oldcount = count
data = f.read(16)
self.__displayProgress("%d bytes transfered" % total)
print ""
@@ -310,15 +316,15 @@ class apf51Bootloader:
#ESDCTL0: 13 ROW, 10 COL, 32Bit
self.put("83FD9008","82220000","l")
#ESDSCR: Precharge command
- self.put("83FD9014","0400800C","l")
+ self.put("83FD9014","0400800C","l")
#ESDSCR: Refresh command
- self.put("83FD9014","00008014","l")
+ self.put("83FD9014","00008014","l")
#ESDSCR: Refresh command
- self.put("83FD9014","00008014","l")
+ self.put("83FD9014","00008014","l")
#ESDSCR: LMR with CAS=3 and BL=3 (Burst Length = 8)
- self.put("83FD9014","0033801C","l")
+ self.put("83FD9014","0033801C","l")
#ESDSCR: EMR with full Drive strength
- self.put("83FD9014","0000801E","l")
+ self.put("83FD9014","0000801E","l")
#ESDCTL0: 13 ROW, 10 COL, 32Bit, SREF=4
self.put("83FD9008","B2420000","l")
#ESDCFG0: tRFC:22clks, tXSR:28clks, tXP:3clks, tWTR:2clk, tRP:3clks, tMRD:2clks
@@ -337,20 +343,20 @@ class apf51Bootloader:
#ESDSCR: Refresh command
self.put("83FD9014","00008010","l")
#ESDSCR: Refresh command
- self.put("83FD9014","00008010","l")
+ self.put("83FD9014","00008010","l")
#ESDSCR: LMR with CAS=3 and BL=3 (Burst Length = 8)
- self.put("83FD9014","00338018","l")
+ self.put("83FD9014","00338018","l")
#ESDSCR: EMR with full Drive strength
- self.put("83FD9014","0000801a","l")
+ self.put("83FD9014","0000801a","l")
#ESDCTL0: 13 ROW, 10 COL, 32Bit, SREF=4
- self.put("83FD9000","B2420000","l")
+ self.put("83FD9000","B2220000","l")
# self.put("83FD9000","D2120000","l") # 64MB
#ESDCFG0: tRFC:22clks, tXSR:28clks, tXP:3clks, tWTR:2clk, tRP:3clks, tMRD:2clks
- #tRAS:8clks, tRRD:2clks, tWR:3clks, tRCD:3clks, tRC:11clks
- self.put("83FD9004","00459429","l")
+ #tRAS:8clks, tRRD:2clks, tWR:3clks, tRCD:3clks, tRC:11clks
+ self.put("83FD9004","c33574aa","l")
# self.put("83FD9004","FFFFFFFF","l") # 64MB
#ESDMISC: AP=10, Bank interleaving on, MIF3 en, RALAT=2
- self.put("83FD9010","000a1120","l")
+ self.put("83FD9010","c00a5680","l")
def consoleDump(tid):
while 1:
@@ -358,18 +364,57 @@ class apf51Bootloader:
# print '%s' % tid.read(1),
+class USBDevice:
+ """
+ """
+ def __init__(self, idVendor=0x15a2, idProduct=0x0041):
+ # find our device
+ dev = self.findDevice(idVendor, idProduct)
+ # was it found?
+ if dev is None:
+ raise ValueError('MX51 not found')
+ self.__dev = dev
+
+ handle = dev.open()
+ handle.setConfiguration(1) # choose the first configuration
+ handle.claimInterface(0) # choose the first interface
+ print('Found i.MX51')
+
+ self.__devhandle = handle
+ self.__epBulkIn = 0x82
+ self.__epBulkOut = 1
+ self.port = 'USB'
+
+ def findDevice(self, idVendor, idProduct):
+ """Find a USB device by product and vendor id."""
+ for bus in usb.busses():
+ for device in bus.devices:
+ if device.idVendor == idVendor and device.idProduct == idProduct:
+ return device
+ return None
+
+ def read(self, length):
+ data = self.__devhandle.bulkRead(self.__epBulkIn, length, 100)
+ return data
+
+ def write(self, data):
+ self.__devhandle.bulkWrite(self.__epBulkOut, data, 100)
+
+ def flushInput(self):
+ pass
+
+
class UBoot:
"""
"""
- def __init__(self, bootstrap, serial):
- self.bootstrap = bootstrap
+ def __init__(self, serial):
self.serial = serial
- def __getOutput(self,error_msg=None):
- """ This function waits for U-Boot response and return response"""
+ def __getOutput(self, error_msg=None):
+ """ This function waits for U-Boot answer and returns it"""
#debugser = serial.Serial("/dev/tty0",115200,timeout=1)
response = ""
- while not re.search(r'BIOS>',response):
+ while not re.search(r'BIOS>', response):
char = self.serial.read(1)
if char == '':
raise Error(response)
@@ -383,18 +428,7 @@ class UBoot:
#debugser.close()
return response
- def load(self):
- BINARY = "apf51-u-boot.bin"
- if not os.path.exists(BINARY):
- raise Error("file "+BINARY+" doesn't exit",0)
- fsize = "%08x" % os.path.getsize(BINARY) #os.stat(filesize)[6]
- print "Loading %s, size = %d bytes" % (BINARY, os.path.getsize(BINARY))
- self.bootstrap.download("90000000", BINARY, fsize, "AA")
- self.bootstrap.put("90000000", "90000004", "l")
- #self.bootstrap.download("1FFE2000",BINARY, "00000400", "AA")
- self.bootstrap.getstatus()
-
- def resetenv(self):
+ def resetEnv(self):
self.serial.write("run flash_reset_env\n")
return self.__getOutput()
@@ -404,7 +438,7 @@ class UBoot:
return self.__getOutput()
def flash(self):
- """ flash uboot """
+ """ Ask U-Boot to flash itself """
self.serial.write("run flash_uboot\n")
try:
ret = self.__getOutput()
@@ -418,157 +452,130 @@ class UBoot:
if __name__ == "__main__":
+ def testRAM():
+ apfBootloader.put("90000000", "00000001", "l")
+ apfBootloader.put("90000004", "00000002", "l")
+ apfBootloader.put("90000008", "00000004", "l")
+ apfBootloader.put("90000010", "00000008", "l")
+ apfBootloader.put("90000020", "00000010", "l")
+ apfBootloader.put("9000002C", "00000020", "l")
+ apfBootloader.put("90000040", "00000040", "l")
+ apfBootloader.put("90000080", "00000080", "l")
+ apfBootloader.put("90000100", "00000100", "l")
+ apfBootloader.put("90000200", "00000200", "l")
+ apfBootloader.put("90000400", "00000400", "l")
+ apfBootloader.put("90000800", "00000800", "l")
+ apfBootloader.put("90001000", "00001000", "l")
+ apfBootloader.put("90001004", "00002000", "l")
+ apfBootloader.put("90002000", "00004000", "l")
+ apfBootloader.put("90004000", "00008000", "l")
+ apfBootloader.put("90010000", "00010000", "l")
+ apfBootloader.put("90020000", "00020000", "l")
+ apfBootloader.put("90040000", "00040000", "l")
+ apfBootloader.put("90080000", "00080000", "l")
+ apfBootloader.put("90100000", "00100000", "l")
+ apfBootloader.put("90200000", "00200000", "l")
+ apfBootloader.put("90400000", "00400000", "l")
+ apfBootloader.put("90800000", "00800000", "l")
+ apfBootloader.put("91000000", "01000000", "l")
+ apfBootloader.put("92000000", "02000000", "l")
+ apfBootloader.put("93000000", "04000000", "l")
+ apfBootloader.put("90000024", "08000000", "l")
+ apfBootloader.put("90000014", "10000000", "l")
+ apfBootloader.put("90000018", "20000000", "l")
+ apfBootloader.put("9000001C", "40000000", "l")
+ apfBootloader.put("90000024", "80000000", "l")
+
+ time.sleep(1)
+
+ apfBootloader.get("90000000", "4", "l")
+ apfBootloader.get("90000004", "4", "l")
+ apfBootloader.get("90000008", "4", "l")
+ apfBootloader.get("90000010", "4", "l")
+ apfBootloader.get("90000020", "4", "l")
+ apfBootloader.get("9000002C", "4", "l")
+ apfBootloader.get("90000040", "4", "l")
+ apfBootloader.get("90000080", "4", "l")
+ apfBootloader.get("90000100", "4", "l")
+ apfBootloader.get("90000200", "4", "l")
+ apfBootloader.get("90000400", "4", "l")
+ apfBootloader.get("90000800", "4", "l")
+ apfBootloader.get("90001000", "4", "l")
+ apfBootloader.get("90001004", "4", "l")
+ apfBootloader.get("90002000", "4", "l")
+ apfBootloader.get("90004000", "4", "l")
+ apfBootloader.get("90010000", "4", "l")
+ apfBootloader.get("90020000", "4", "l")
+ apfBootloader.get("90040000", "4", "l")
+ apfBootloader.get("90080000", "4", "l")
+ apfBootloader.get("90100000", "4", "l")
+ apfBootloader.get("90200000", "4", "l")
+ apfBootloader.get("90400000", "4", "l")
+ apfBootloader.get("90800000", "4", "l")
+ apfBootloader.get("91000000", "4", "l")
+ apfBootloader.get("92000000", "4", "l")
+ apfBootloader.get("93000000", "4", "l")
+ apfBootloader.get("90000024", "4", "l")
+ apfBootloader.get("90000014", "4", "l")
+ apfBootloader.get("90000018", "4", "l")
+ apfBootloader.get("9000001C", "4", "l")
+ apfBootloader.get("90000024", "4", "l")
+
+
SPEED = 115200
+ BINARY = "apf51-u-boot.bin"
+
+ print "\n--- APF51 Bootstrap Tool ---\n"
+ print "Procedure to follow:"
+ print "1] Power off your board, close all serial terminal sessions, remove all USB cables"
+ print "2] Put bootstrap jumper"
+ print "3] Power on your board"
+ print "4] Connect a USB cable from your PC to the APF51Dev OTG miniUSB connector"
+ print "5] Connect a USB cable from your PC to the APF51Dev console miniUSB connector"
+ print "(be sure to have a %s image in current dir too)\n" % BINARY
+ port = raw_input('--- Enter serial port number or name to use for console (/dev/ttyACM0 under Linux (default) or COMx under Window$): ')
+ if port is '':
+ port = '/dev/ttyACM0'
+
+ usb = USBDevice()
+ apfBootloader = apf51Bootloader(usb)
+
+ apfBootloader.getStatus()
+ apfBootloader.initIOMUX()
+ apfBootloader.initSDRAM1("APF51")
+ #clear configuration request
+ apfBootloader.put("83FD9014","00000000","l")
+ #testRAM()
+
+ print "--- Successfully initialized APF51, now loading U-Boot"
+ if not os.path.exists(BINARY):
+ raise Error("file "+BINARY+" doesn't exit",0)
+ fsize = "%08x" % os.path.getsize(BINARY) #os.stat(filesize)[6]
+ print "Loading %s, size = %d bytes" % (BINARY, os.path.getsize(BINARY))
+ apfBootloader.download("90000000", BINARY, fsize, "AA")
- print "\nAPF51 Bootstrap Tool\n"
- print "!!! Do not forget to put the bootstrap jumper and to reset your board !!!"
- print "(be sure to have a u-boot.bin file in current dir too)\n"
- port = raw_input('Enter serial port number or name to use (/dev/ttyUSBx under Linux or COMx under Windows): ')
try:
ser = serial.Serial(port, SPEED, timeout=2)
except Exception, msg:
- print "unable to open serial port %s" % port
- print msg
+ print "unable to open serial port %s !" % port
+ print msg
sys.exit()
ser.flush()
- apfBootloader = apf51Bootloader(ser)
- uboot = UBoot(apfBootloader, ser)
-
- apfBootloader.getstatus()
-# apfBootloader.get("CFFF0000","4", "l")
-# apfBootloader.get("CFFF0004","4", "l")
-# apfBootloader.get("CFFF0008","4", "l")
-# apfBootloader.get("CFFF000C","4", "l")
-# apfBootloader.get("CFFF0400","4", "l")
-# apfBootloader.get("CFFF0404","4", "l")
-# apfBootloader.get("CFFF0408","4", "l")
-# apfBootloader.get("CFFF040C","4", "l")
-# apfBootloader.get("1FFE1A98","4", "l")
-# apfBootloader.get("1FFE0800","4", "l")
-# apfBootloader.get("1FFE0804","4", "l")
-# apfBootloader.get("1FFE0808","4", "l")
-# apfBootloader.get("1FFE080C","4", "l")
-# apfBootloader.get("1FFE0810","4", "l")
-# apfBootloader.get("1FFE2000","4", "l")
-# apfBootloader.get("1FFE2004","4", "l")
-# apfBootloader.get("1FFE2008","4", "l")
-# apfBootloader.get("1FFE200C","4", "l")
-# apfBootloader.get("1FFE0810","4", "l")
-# apfBootloader.get("73FD0000","4", "l")
-# apfBootloader.get("73FD0004","4", "l")
-# apfBootloader.get("73FD0008","4", "l")
-# apfBootloader.get("73FD0014","4", "l")
- apfBootloader.initIOMUX()
- apfBootloader.initSDRAM1("APF51")
+ uboot = UBoot(ser)
+
+ # execute loaded code:
+ apfBootloader.put("90000000", "90000004", "l")
+ #self.bootstrap.getStatus() ?
- #clear configuration request
- apfBootloader.put("83FD9014","00000000","l")
-
- apfBootloader.put("90000000", "00000001", "l")
- apfBootloader.put("90000004", "00000002", "l")
- apfBootloader.put("90000008", "00000004", "l")
- apfBootloader.put("90000010", "00000008", "l")
- apfBootloader.put("90000020", "00000010", "l")
- apfBootloader.put("9000002C", "00000020", "l")
- apfBootloader.put("90000040", "00000040", "l")
- apfBootloader.put("90000080", "00000080", "l")
- apfBootloader.put("90000100", "00000100", "l")
- apfBootloader.put("90000200", "00000200", "l")
- apfBootloader.put("90000400", "00000400", "l")
- apfBootloader.put("90000800", "00000800", "l")
- apfBootloader.put("90001000", "00001000", "l")
- apfBootloader.put("90001004", "00002000", "l")
- apfBootloader.put("90002000", "00004000", "l")
- apfBootloader.put("90004000", "00008000", "l")
- apfBootloader.put("90010000", "00010000", "l")
- apfBootloader.put("90020000", "00020000", "l")
- apfBootloader.put("90040000", "00040000", "l")
- apfBootloader.put("90080000", "00080000", "l")
- apfBootloader.put("90100000", "00100000", "l")
- apfBootloader.put("90200000", "00200000", "l")
- apfBootloader.put("90400000", "00400000", "l")
- apfBootloader.put("90800000", "00800000", "l")
- apfBootloader.put("91000000", "01000000", "l")
- apfBootloader.put("92000000", "02000000", "l")
- apfBootloader.put("93000000", "04000000", "l")
- apfBootloader.put("90000024", "08000000", "l")
- apfBootloader.put("90000014", "10000000", "l")
- apfBootloader.put("90000018", "20000000", "l")
- apfBootloader.put("9000001C", "40000000", "l")
- apfBootloader.put("90000024", "80000000", "l")
-
- time.sleep(1)
-
- apfBootloader.get("90000000", "4", "l")
- apfBootloader.get("90000004", "4", "l")
- apfBootloader.get("90000008", "4", "l")
- apfBootloader.get("90000010", "4", "l")
- apfBootloader.get("90000020", "4", "l")
- apfBootloader.get("9000002C", "4", "l")
- apfBootloader.get("90000040", "4", "l")
- apfBootloader.get("90000080", "4", "l")
- apfBootloader.get("90000100", "4", "l")
- apfBootloader.get("90000200", "4", "l")
- apfBootloader.get("90000400", "4", "l")
- apfBootloader.get("90000800", "4", "l")
- apfBootloader.get("90001000", "4", "l")
- apfBootloader.get("90001004", "4", "l")
- apfBootloader.get("90002000", "4", "l")
- apfBootloader.get("90004000", "4", "l")
- apfBootloader.get("90010000", "4", "l")
- apfBootloader.get("90020000", "4", "l")
- apfBootloader.get("90040000", "4", "l")
- apfBootloader.get("90080000", "4", "l")
- apfBootloader.get("90100000", "4", "l")
- apfBootloader.get("90200000", "4", "l")
- apfBootloader.get("90400000", "4", "l")
- apfBootloader.get("90800000", "4", "l")
- apfBootloader.get("91000000", "4", "l")
- apfBootloader.get("92000000", "4", "l")
- apfBootloader.get("93000000", "4", "l")
- apfBootloader.get("90000024", "4", "l")
- apfBootloader.get("90000014", "4", "l")
- apfBootloader.get("90000018", "4", "l")
- apfBootloader.get("9000001C", "4", "l")
- apfBootloader.get("90000024", "4", "l")
-
- # configure iomux as gpio for NAND_RB1 et RB2
- # apfBootloader.put("73FA8120", "00000003", "l")
- # apfBootloader.put("73FA8124", "00000003", "l")
- # apfBootloader.put("73FA8128", "00000003", "l")
- print 'NFC'
- apfBootloader.get("83FDB02C","4", "l")
- apfBootloader.get("83FDB024","4", "l")
- apfBootloader.get("83FDB02C","4", "l")
- print 'config3'
- apfBootloader.get("83FDB028","4", "l")
- print 'SBMR'
- apfBootloader.get("73FD0004","4", "l")
-
- uboot.load()
uboot.waitForPrompt()
-# apfBootloader.getstatus()
- #apfBootloader.put("73fb4010","00000000", "l")
-# ser.flush()
-# apfBootloader.put("73FC0080", "00000000", "l")
-
-# apfBootloader.get("1FFE2000","4", "l")
-
-# apfBootloader.get("90000004","4", "l")
-# apfBootloader.get("90000008","4", "l")
-# apfBootloader.get("9000000C","4", "l")
-# apfBootloader.get("90000010","4", "l")
-# apfBootloader.get("90000014","4", "l")
-# apfBootloader.get("90001140","4", "l")
-# apfBootloader.get("90001148","4", "l")
-# apfBootloader.get("9000114C","4", "l")
-
- eraseAll = raw_input('Would you like to erase the environment variables ? y/N: ')
+
+ eraseAll = raw_input('\n--- Would you like to erase the environment variables ? y/N: ')
if eraseAll == 'y':
- uboot.resetenv()
+ uboot.resetEnv()
uboot.flash()
- print "U-Boot successfully recovered !"
+ print "\n--- U-Boot successfully recovered !"
+ print "--- Now you can remove miniUSB OTG cable and bootstrap jumper. Then, restart your board"
del ser
hooks/post-receive
--
armadeus
|
|
From: Fabien M <fa...@us...> - 2011-04-29 12:51:20
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 86f773af1e95b541d8ee266d306ff7236c4a4e6d (commit)
via 8f2c338ecb6857350f2d87c927219cf789d2a5b2 (commit)
via 14f3cf261ce103667c0c61f6cd34b450a0a8d33b (commit)
from 3168e2c50d82f184f9ed226160171a0fba792274 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 86f773af1e95b541d8ee266d306ff7236c4a4e6d
Merge: 8f2c338ecb6857350f2d87c927219cf789d2a5b2 3168e2c50d82f184f9ed226160171a0fba792274
Author: Fabien Marteau <fab...@ar...>
Date: Fri Apr 29 14:50:26 2011 +0200
Merge branch 'master' of ssh://armadeus.git.sourceforge.net/gitroot/armadeus/armadeus
commit 8f2c338ecb6857350f2d87c927219cf789d2a5b2
Author: Fabien Marteau <fab...@ar...>
Date: Fri Apr 29 14:48:57 2011 +0200
[linux][apf27] Adding bittiming calculation for can
commit 14f3cf261ce103667c0c61f6cd34b450a0a8d33b
Author: Fabien Marteau <fab...@ar...>
Date: Fri Apr 29 14:47:25 2011 +0200
[buildroot][apf27] adding can utils package by default
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf27_defconfig | 7 ++++---
.../armadeus/apf27/apf27-linux-2.6.38.config | 4 ++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/buildroot/configs/apf27_defconfig b/buildroot/configs/apf27_defconfig
index a9be4e6..82d7f7b 100644
--- a/buildroot/configs/apf27_defconfig
+++ b/buildroot/configs/apf27_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Buildroot version: 2010.11-00056-g54a6154
-# Mon Apr 18 09:30:00 2011
+# Buildroot version: 2010.11-00086-gfb98766-dirty
+# Fri Apr 29 14:06:28 2011
#
BR2_HAVE_DOT_CONFIG=y
BR2_arm=y
@@ -659,6 +659,7 @@ BR2_PACKAGE_NCURSES_TARGET_MENU=y
#
# BR2_PACKAGE_BMON is not set
# BR2_PACKAGE_BRIDGE is not set
+BR2_PACKAGE_CAN_UTILS=y
# BR2_PACKAGE_CTORRENT is not set
# BR2_PACKAGE_CUPS is not set
# BR2_PACKAGE_DNSMASQ is not set
@@ -684,6 +685,7 @@ BR2_PACKAGE_IPROUTE2=y
# BR2_PACKAGE_NETSNMP is not set
# BR2_PACKAGE_NETSTAT_NAT is not set
# BR2_PACKAGE_NFS_UTILS is not set
+# BR2_PACKAGE_NGIRCD is not set
BR2_PACKAGE_NTP=y
# BR2_PACKAGE_NTP_NTPD is not set
# BR2_PACKAGE_NTP_SNTP is not set
@@ -707,7 +709,6 @@ BR2_PACKAGE_PORTMAP=y
# BR2_PACKAGE_SAMBA is not set
# BR2_PACKAGE_SER2NET is not set
# BR2_PACKAGE_SOCAT is not set
-# BR2_PACKAGE_SOCKETCAN is not set
# BR2_PACKAGE_SPAWN_FCGI is not set
# BR2_PACKAGE_SQUID is not set
# BR2_PACKAGE_TCPDUMP is not set
diff --git a/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config b/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config
index 23c1431..20146f3 100644
--- a/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config
+++ b/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux/arm 2.6.38.1 Kernel Configuration
-# Fri Apr 1 16:25:18 2011
+# Fri Apr 29 14:10:32 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -532,7 +532,7 @@ CONFIG_CAN_BCM=m
CONFIG_CAN_VCAN=m
# CONFIG_CAN_SLCAN is not set
CONFIG_CAN_DEV=m
-# CONFIG_CAN_CALC_BITTIMING is not set
+CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_MCP251X=m
# CONFIG_CAN_SJA1000 is not set
hooks/post-receive
--
armadeus
|
|
From: Fabien M <fa...@us...> - 2011-04-29 12:49:53
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 3168e2c50d82f184f9ed226160171a0fba792274 (commit)
via 040db3e8a80f99576ed2f98d71fce54dd55500ec (commit)
via 78ce1a4a453205cc4d29eff143aa6d7a167a92e6 (commit)
from 7c11deab6cb540ab9219e4ca39b6a574ee96c633 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3168e2c50d82f184f9ed226160171a0fba792274
Author: Fabien Marteau <fab...@ar...>
Date: Fri Apr 29 14:44:30 2011 +0200
[linux][apf51] adding bit timings calculation for can
commit 040db3e8a80f99576ed2f98d71fce54dd55500ec
Author: Fabien Marteau <fab...@ar...>
Date: Fri Apr 29 14:17:34 2011 +0200
[buildroot][apf51] Adding fbv and can-utils by default
commit 78ce1a4a453205cc4d29eff143aa6d7a167a92e6
Author: Fabien Marteau <fab...@ar...>
Date: Fri Apr 29 14:04:10 2011 +0200
[buildroot][apf51] select iproute2 by default
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf51_defconfig | 18 +++++++++---------
.../armadeus/apf51/apf51-linux-2.6.38.config | 4 ++--
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/buildroot/configs/apf51_defconfig b/buildroot/configs/apf51_defconfig
index a5f6101..32f3dca 100644
--- a/buildroot/configs/apf51_defconfig
+++ b/buildroot/configs/apf51_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Buildroot version: 2010.11-00004-ge0d9cff
-# Tue Mar 22 00:22:47 2011
+# Buildroot version: 2010.11-00089-g7c11dea
+# Fri Apr 29 13:50:08 2011
#
BR2_HAVE_DOT_CONFIG=y
BR2_arm=y
@@ -402,7 +402,7 @@ BR2_PACKAGE_STRACE=y
# BR2_PACKAGE_FBDUMP is not set
# BR2_PACKAGE_FBGRAB is not set
# BR2_PACKAGE_FBTEST is not set
-# BR2_PACKAGE_FBV is not set
+BR2_PACKAGE_FBV=y
# BR2_PACKAGE_IMAGEMAGICK is not set
# BR2_PACKAGE_LINUX_FUSION is not set
# BR2_PACKAGE_SDL is not set
@@ -607,12 +607,12 @@ BR2_PACKAGE_ZLIB=y
# BR2_PACKAGE_CAIRO is not set
# BR2_PACKAGE_FONTCONFIG is not set
# BR2_PACKAGE_FREETYPE is not set
-# BR2_PACKAGE_JPEG is not set
+BR2_PACKAGE_JPEG=y
# BR2_PACKAGE_LIBART is not set
# BR2_PACKAGE_GDK_PIXBUF is not set
-# BR2_PACKAGE_LIBPNG is not set
+BR2_PACKAGE_LIBPNG=y
# BR2_PACKAGE_LIBSVGTINY is not set
-# BR2_PACKAGE_LIBUNGIF is not set
+BR2_PACKAGE_LIBUNGIF=y
# BR2_PACKAGE_MESALIB is not set
# BR2_PACKAGE_PANGO is not set
# BR2_PACKAGE_PIXMAN is not set
@@ -665,7 +665,6 @@ BR2_PACKAGE_TSLIB=y
#
# BR2_PACKAGE_ENCHANT is not set
# BR2_PACKAGE_ICU is not set
-# BR2_PACKAGE_LIBICONV is not set
BR2_PACKAGE_NCURSES=y
BR2_PACKAGE_NCURSES_TARGET_PANEL=y
BR2_PACKAGE_NCURSES_TARGET_FORM=y
@@ -701,6 +700,7 @@ BR2_PACKAGE_BLUEZ3_LIBS=y
BR2_PACKAGE_BLUEZ3_UTILS=y
# BR2_PACKAGE_BMON is not set
# BR2_PACKAGE_BRIDGE is not set
+BR2_PACKAGE_CAN_UTILS=y
# BR2_PACKAGE_CTORRENT is not set
# BR2_PACKAGE_CUPS is not set
# BR2_PACKAGE_DNSMASQ is not set
@@ -709,7 +709,7 @@ BR2_PACKAGE_BLUEZ3_UTILS=y
# BR2_PACKAGE_HOSTAPD is not set
# BR2_PACKAGE_IFPLUGD is not set
# BR2_PACKAGE_IPERF is not set
-# BR2_PACKAGE_IPROUTE2 is not set
+BR2_PACKAGE_IPROUTE2=y
# BR2_PACKAGE_IPSEC_TOOLS is not set
# BR2_PACKAGE_IPTABLES is not set
# BR2_PACKAGE_IW is not set
@@ -726,6 +726,7 @@ BR2_PACKAGE_BLUEZ3_UTILS=y
# BR2_PACKAGE_NETSNMP is not set
# BR2_PACKAGE_NETSTAT_NAT is not set
# BR2_PACKAGE_NFS_UTILS is not set
+# BR2_PACKAGE_NGIRCD is not set
BR2_PACKAGE_NTP=y
# BR2_PACKAGE_NTP_NTPD is not set
# BR2_PACKAGE_NTP_SNTP is not set
@@ -749,7 +750,6 @@ BR2_PACKAGE_PORTMAP=y
# BR2_PACKAGE_SAMBA is not set
# BR2_PACKAGE_SER2NET is not set
# BR2_PACKAGE_SOCAT is not set
-# BR2_PACKAGE_SOCKETCAN is not set
# BR2_PACKAGE_SPAWN_FCGI is not set
# BR2_PACKAGE_SQUID is not set
# BR2_PACKAGE_TCPDUMP is not set
diff --git a/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config b/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config
index b56eb2d..1bbc19b 100644
--- a/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config
+++ b/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux/arm 2.6.38.1 Kernel Configuration
-# Tue Apr 26 14:19:11 2011
+# Fri Apr 29 14:08:07 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -560,7 +560,7 @@ CONFIG_CAN_BCM=m
CONFIG_CAN_VCAN=m
# CONFIG_CAN_SLCAN is not set
CONFIG_CAN_DEV=m
-# CONFIG_CAN_CALC_BITTIMING is not set
+CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_MCP251X=m
# CONFIG_CAN_SJA1000 is not set
hooks/post-receive
--
armadeus
|
|
From: Nicolas <th...@us...> - 2011-04-27 13:30:18
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 7c11deab6cb540ab9219e4ca39b6a574ee96c633 (commit)
from 49cb3db1a9bb1950bde103969b96f1337eae9e9b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7c11deab6cb540ab9219e4ca39b6a574ee96c633
Author: Nicolas Colombain <nic...@ar...>
Date: Wed Apr 27 15:29:51 2011 +0200
[TOOLS] add apf51 fpga loader
-----------------------------------------------------------------------
Summary of changes:
.../linux/modules/fpga/dev_tools/loader/Makefile | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/target/linux/modules/fpga/dev_tools/loader/Makefile b/target/linux/modules/fpga/dev_tools/loader/Makefile
index 1d5326d..422fcc1 100644
--- a/target/linux/modules/fpga/dev_tools/loader/Makefile
+++ b/target/linux/modules/fpga/dev_tools/loader/Makefile
@@ -6,6 +6,9 @@ ifneq ($(KERNELRELEASE),)
obj-$(CONFIG_ARMADEUS_FPGA_LOADER_DRIVER) += fpgaloader.o
fpgaloader-objs := xilinx-fpga-loader.o fpga-loader.o
+ifneq ($(CONFIG_MACH_APF51),)
+obj-y += apf51-fpga-loader.o
+endif
ifneq ($(CONFIG_MACH_APF27),)
obj-y += apf27-fpga-loader.o
endif
hooks/post-receive
--
armadeus
|
|
From: Nicolas <th...@us...> - 2011-04-27 13:28:18
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 49cb3db1a9bb1950bde103969b96f1337eae9e9b (commit)
from 9400814997b5f9853c9ad9847fdb2cf6830cb83f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 49cb3db1a9bb1950bde103969b96f1337eae9e9b
Author: Nicolas Colombain <nic...@ar...>
Date: Wed Apr 27 15:27:48 2011 +0200
[LINUX] APF51 add fpga download pins
-----------------------------------------------------------------------
Summary of changes:
.../2.6.38/400-armadeus-add_apf51_module.patch | 50 +++++++++++++++++++-
1 files changed, 49 insertions(+), 1 deletions(-)
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
index dc4741f..38d9314 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
@@ -36,7 +36,7 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c 2011-04-18 10:20:41.000000000 +0200
-@@ -0,0 +1,444 @@
+@@ -0,0 +1,492 @@
+/*
+ * Support for APF51 System On Module
+ * Copyright (C) 2010-2011 Armadeus Systems <su...@ar...>
@@ -160,6 +160,13 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
+ MX51_PAD_GPIO1_4__GPIO1_4,
+ /* WM8311 TOUCH_EOC */
+ MX51_PAD_GPIO1_6__GPIO1_6,
++
++ /* FPGA */
++ MX51_PAD_DI1_D0_CS__GPIO3_3, /* CONFIG_SYS_FPGA_PWR */
++ MX51_PAD_CSI2_D12__GPIO4_9, /* CONFIG_SYS_FPGA_PRG */
++ MX51_PAD_CSI2_D18__GPIO4_11, /* CONFIG_SYS_FPGA_INIT */
++ MX51_PAD_CSI2_D13__GPIO4_10, /* CONFIG_SYS_FPGA_DONE */
++ MX51_PAD_DISPB2_SER_DIO__GPIO3_6, /* CONFIG_SYS_FPGA_SUSPEND */
+};
+
+
@@ -422,6 +429,46 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
+ },
+};
+
++static int apf51_fpga_init(void)
++{
++#define CONFIG_SYS_FPGA_PWR (2*32 + 3)
++#define CONFIG_SYS_FPGA_PRG (3*32 + 9)
++#define CONFIG_SYS_FPGA_INIT (3*32 + 11)
++#define CONFIG_SYS_FPGA_DONE (3*32 + 10)
++#define CONFIG_SYS_FPGA_SUSPEND (2*32 + 6)
++
++ int ret;
++
++ ret = gpio_request(CONFIG_SYS_FPGA_PRG, "FPGA");
++ if (ret) {
++ pr_warn("failed to get CONFIG_SYS_FPGA_PRG GPIO: %d\n", ret);
++ return ret;
++ }
++ ret = gpio_request(CONFIG_SYS_FPGA_PWR, "FPGA");
++ if (ret) {
++ pr_warn("failed to get CONFIG_SYS_FPGA_PWR GPIO: %d\n", ret);
++ return ret;
++ }
++ ret = gpio_request(CONFIG_SYS_FPGA_SUSPEND, "FPGA");
++ if (ret) {
++ pr_warn("failed to get CONFIG_SYS_FPGA_SUSPEND: %d\n", ret);
++ return ret;
++ }
++ ret = gpio_request(CONFIG_SYS_FPGA_DONE, "FPGA");
++ if (ret) {
++ pr_warn("failed to get CONFIG_SYS_FPGA_DONE: %d\n", ret);
++ return ret;
++ }
++ ret = gpio_request(CONFIG_SYS_FPGA_INIT, "FPGA");
++ if (ret) {
++ pr_warn("failed to get CONFIG_SYS_FPGA_INIT: %d\n", ret);
++ return ret;
++ }
++
++ return 0;
++}
++
++
+/*
+ * Board specific initialization.
+ */
@@ -457,6 +504,7 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
+ initialize_otg_port(NULL);
+ mxc_register_device(&mxc_usbdr_udc_device, &apf51_usbdr_device_pdata);
+ }
++ apf51_fpga_init();
+
+#ifdef CONFIG_MACH_APF51_HAS_BASEBOARD
+ apf51_baseboard_init();
hooks/post-receive
--
armadeus
|
|
From: Nicolas <th...@us...> - 2011-04-27 13:01:22
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 9400814997b5f9853c9ad9847fdb2cf6830cb83f (commit)
from fb98766f6cabd417c859b9f6b6aa3e06bb9731b2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9400814997b5f9853c9ad9847fdb2cf6830cb83f
Author: Nicolas Colombain <nic...@ar...>
Date: Wed Apr 27 15:00:30 2011 +0200
[TOOLS] add APF51 linux fpga loader
-----------------------------------------------------------------------
Summary of changes:
.../fpga/dev_tools/loader/apf51-fpga-loader.c | 223 ++++++++++++++++++++
1 files changed, 223 insertions(+), 0 deletions(-)
create mode 100644 target/linux/modules/fpga/dev_tools/loader/apf51-fpga-loader.c
diff --git a/target/linux/modules/fpga/dev_tools/loader/apf51-fpga-loader.c b/target/linux/modules/fpga/dev_tools/loader/apf51-fpga-loader.c
new file mode 100644
index 0000000..5bfc2d7
--- /dev/null
+++ b/target/linux/modules/fpga/dev_tools/loader/apf51-fpga-loader.c
@@ -0,0 +1,223 @@
+/*
+ * APF51 Xilinx FPGA download support
+ * Copyright (C) 2011 Nicolas Colombain <nic...@ar...>
+ * Armadeus Project / Armadeus systems
+ *
+ * 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, 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <linux/version.h>
+#include <linux/platform_device.h>
+#include <linux/delay.h>
+#include <linux/gpio.h>
+#include <linux/io.h>
+#include <asm/io.h>
+#include <mach/iomux-mx51.h>
+#include <mach/fpga.h>
+#include <mach/hardware.h>
+#include "xilinx-fpga-loader.h"
+
+#define MXC_CCM_CBCDR 0x14
+#define MXC_CS1RCR1_ADDR 0x20
+#define MXC_CS1WCR1_ADDR 0x28
+
+#define CONFIG_SYS_FPGA_PWR (2*32 + 3) /*MX51_PAD_DI1_D0_CS__GPIO3_3*/
+#define CONFIG_SYS_FPGA_PRG (3*32 + 9) /*MX51_PAD_CSI2_D12__GPIO4_9*/
+#define CONFIG_SYS_FPGA_INIT (3*32 + 11) /*MX51_PAD_CSI2_D18__GPIO4_11*/
+#define CONFIG_SYS_FPGA_DONE (3*32 + 10) /*MX51_PAD_CSI2_D13__GPIO4_10*/
+#define CONFIG_SYS_FPGA_SUSPEND (2*32 + 6) /*MX51_PAD_DISPB2_SER_DIO__GPIO3_6*/
+
+
+u32 temp_clk; /* use to restore the emi_clk_sel after donwload */
+u32 temp_rcr1;
+u32 temp_wcr1;
+void __iomem *cs1_base;
+
+
+/* Initialize GPIO port before download */
+int apf51_fpga_pre(void)
+{
+#define EMI_CLK_SEL 1<<26
+
+ /* change emi_clk_sel to ensure blck smaller than 50MHz */
+ temp_clk = __raw_readl( MX51_IO_ADDRESS(MX51_CCM_BASE_ADDR)+ MXC_CCM_CBCDR );
+ __raw_writel( temp_clk | EMI_CLK_SEL, MX51_IO_ADDRESS(MX51_CCM_BASE_ADDR)+ MXC_CCM_CBCDR );
+
+ temp_rcr1 = __raw_readl( MX51_IO_ADDRESS(MX51_WEIM_BASE_ADDR) + MXC_CS1RCR1_ADDR );
+ __raw_writel( 0x01000010, MX51_IO_ADDRESS(MX51_WEIM_BASE_ADDR) + MXC_CS1RCR1_ADDR );
+
+ temp_wcr1 = __raw_readl(MX51_IO_ADDRESS(MX51_WEIM_BASE_ADDR) + MXC_CS1WCR1_ADDR);
+ __raw_writel( 0x01000008, MX51_IO_ADDRESS(MX51_WEIM_BASE_ADDR) + MXC_CS1WCR1_ADDR );
+
+ /* FPGA PROG */
+ gpio_direction_output(CONFIG_SYS_FPGA_PRG, 1);
+
+ /* FPGA PWR */
+ gpio_direction_output(CONFIG_SYS_FPGA_PWR, 1);
+
+ /* FPGA SUSPEND */
+ gpio_direction_output(CONFIG_SYS_FPGA_SUSPEND, 1);
+
+ /* FPGA DONE */
+ gpio_direction_input(CONFIG_SYS_FPGA_DONE);
+
+ /* FPGA INIT# */
+ gpio_direction_input(CONFIG_SYS_FPGA_INIT);
+
+ cs1_base = ioremap(MX51_CS1_BASE_ADDR, SZ_4K);
+
+ return 0;
+}
+
+/*
+ * Set the FPGA's active-low program line to the specified level
+ */
+int apf51_fpga_pgm(int assert)
+{
+ gpio_direction_output(CONFIG_SYS_FPGA_PRG, !assert);
+ return assert;
+}
+
+/*
+ * Set the FPGA's active-high clock line to the specified level
+ */
+int apf51_fpga_clk(int assert_clk)
+{
+ return assert_clk;
+}
+
+/*
+ * Test the state of the active-low FPGA INIT line. Return 1 on INIT
+ * asserted (low).
+ */
+int apf51_fpga_init(void)
+{
+ if (gpio_get_value(CONFIG_SYS_FPGA_INIT))
+ return 0;
+ return 1;
+}
+
+/*
+ * Test the state of the active-high FPGA DONE pin
+ */
+int apf51_fpga_done(void)
+{
+ return gpio_get_value(CONFIG_SYS_FPGA_DONE);
+}
+
+/*
+ * Set the FPGA's wr line to the specified level
+ */
+int apf51_fpga_wr(int assert_write)
+{
+ return assert_write;
+}
+
+int apf51_fpga_cs(int assert_cs)
+{
+ return assert_cs;
+}
+
+int apf51_fpga_wdata( unsigned char data )
+{
+ static u32 temp;
+ static u32 index = 0;
+
+ switch( index++ ){
+ case 0: temp = data << 8; break;
+ case 1: temp = temp + data; break;
+ case 2: temp = temp + (data << 24); break;
+ default:
+ __raw_writel(temp + (data << 16), cs1_base);
+ index = 0;
+ break;
+ }
+
+ return data;
+}
+
+int apf51_fpga_busy(void)
+{
+ return 0;
+}
+
+int apf51_fpga_post(void)
+{
+ /* restore emi_clk_sel */
+ __raw_writel( temp_clk, MX51_IO_ADDRESS(MX51_CCM_BASE_ADDR)+ MXC_CCM_CBCDR );
+ __raw_writel( temp_rcr1, MX51_IO_ADDRESS(MX51_WEIM_BASE_ADDR) + MXC_CS1RCR1_ADDR );
+ __raw_writel( temp_wcr1, MX51_IO_ADDRESS(MX51_WEIM_BASE_ADDR) + MXC_CS1WCR1_ADDR );
+
+ iounmap(cs1_base);
+
+ return 0;
+}
+
+int apf51_fpga_abort(void)
+{
+ __raw_writel( temp_clk, MX51_IO_ADDRESS(MX51_CCM_BASE_ADDR)+ MXC_CCM_CBCDR );
+ __raw_writel( temp_rcr1, MX51_IO_ADDRESS(MX51_WEIM_BASE_ADDR) + MXC_CS1RCR1_ADDR );
+ __raw_writel( temp_wcr1, MX51_IO_ADDRESS(MX51_WEIM_BASE_ADDR) + MXC_CS1WCR1_ADDR );
+
+ iounmap(cs1_base);
+
+ return 1;
+}
+
+/* Spartan2 code is used to download our Spartan 3: code is compatible.
+ * Just take care about the file size
+ */
+Xilinx_Spartan3_Slave_Parallel_fns fpga_fns = {
+ .pre = apf51_fpga_pre,
+ .pgm = apf51_fpga_pgm,
+ .clk = apf51_fpga_clk,
+ .init = apf51_fpga_init,
+ .done = apf51_fpga_done,
+ .wr = apf51_fpga_wr,
+ .cs = apf51_fpga_cs,
+ .wdata = apf51_fpga_wdata,
+ .busy = apf51_fpga_busy,
+ .abort = apf51_fpga_abort,
+ .post = apf51_fpga_post,
+};
+
+struct fpga_desc apf51_fpga_desc = {
+ .family = Xilinx_Spartan,
+ .iface = slave_parallel,
+ .iface_fns = (void *) &fpga_fns
+};
+
+static struct platform_device fpga_device = {
+ .name = "fpgaloader",
+ .id = 0,
+ .dev = {
+ .platform_data = &apf51_fpga_desc,
+ },
+};
+
+static struct platform_device *devices[] __initdata = {
+ &fpga_device,
+};
+
+static int __init apf51_fpga_initialize(void)
+{
+ platform_add_devices(devices, ARRAY_SIZE(devices));
+
+ return 0;
+}
+
+device_initcall(apf51_fpga_initialize);
+
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2011-04-26 14:01:15
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via fb98766f6cabd417c859b9f6b6aa3e06bb9731b2 (commit)
via e3345f0e125809e9d0d071a83f79acaaef5edcd8 (commit)
from 2308149cd42f625d74a7dd39094f7aabab25892b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit fb98766f6cabd417c859b9f6b6aa3e06bb9731b2
Author: Julien Boibessot <jul...@ar...>
Date: Tue Apr 26 15:55:50 2011 +0200
Updates patches/buildroot/2010.11/cleanup_buildroot.sh
commit e3345f0e125809e9d0d071a83f79acaaef5edcd8
Author: Julien Boibessot <jul...@ar...>
Date: Tue Apr 26 15:47:06 2011 +0200
[LINUX] 2.6.38 APF51: set right input frequency for wm8960 on series boards
-----------------------------------------------------------------------
Summary of changes:
...soc-imx-add_apf51dev_wm8960_audio_support.patch | 14 +++++---------
patches/buildroot/2010.11/cleanup_buildroot.sh | 3 +++
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/421-armadeus-asoc-imx-add_apf51dev_wm8960_audio_support.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/421-armadeus-asoc-imx-add_apf51dev_wm8960_audio_support.patch
index c226430..361fdba 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/421-armadeus-asoc-imx-add_apf51dev_wm8960_audio_support.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/421-armadeus-asoc-imx-add_apf51dev_wm8960_audio_support.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.38.1/sound/soc/imx/apf51dev-wm8960.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.38.1/sound/soc/imx/apf51dev-wm8960.c 2011-04-08 11:05:28.000000000 +0200
-@@ -0,0 +1,166 @@
++++ linux-2.6.38.1/sound/soc/imx/apf51dev-wm8960.c 2011-04-26 15:42:46.000000000 +0200
+@@ -0,0 +1,162 @@
+/*
+ * ASoC audio for APF51Dev (i.MX51 using Wolfson's WM8960)
+ *
@@ -45,11 +45,7 @@ Index: linux-2.6.38.1/sound/soc/imx/apf51dev-wm8960.c
+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
+ int ret;
+
-+ /* TO BE CHECKED !! */
-+
-+ printk("--- %s %d\n", __func__, __LINE__);
-+
-+ ret = snd_soc_dai_set_pll(codec_dai, 0, 0, 16000000, 12280000);
++ ret = snd_soc_dai_set_pll(codec_dai, 0, 0, 12000000, 12280000);
+ if (ret) {
+ printk("APF51: Unable to set WM8960 PLL\n");
+ return ret;
@@ -172,7 +168,7 @@ Index: linux-2.6.38.1/sound/soc/imx/apf51dev-wm8960.c
Index: linux-2.6.38.1/sound/soc/imx/Kconfig
===================================================================
--- linux-2.6.38.1.orig/sound/soc/imx/Kconfig 2011-03-23 21:04:47.000000000 +0100
-+++ linux-2.6.38.1/sound/soc/imx/Kconfig 2011-04-06 09:16:53.000000000 +0200
++++ linux-2.6.38.1/sound/soc/imx/Kconfig 2011-04-26 13:49:48.000000000 +0200
@@ -52,4 +52,14 @@
Enable I2S based access to the TLV320AIC23B codec attached
to the SSI interface
@@ -191,7 +187,7 @@ Index: linux-2.6.38.1/sound/soc/imx/Kconfig
Index: linux-2.6.38.1/sound/soc/imx/Makefile
===================================================================
--- linux-2.6.38.1.orig/sound/soc/imx/Makefile 2011-03-23 21:04:47.000000000 +0100
-+++ linux-2.6.38.1/sound/soc/imx/Makefile 2011-04-06 09:16:53.000000000 +0200
++++ linux-2.6.38.1/sound/soc/imx/Makefile 2011-04-26 13:49:48.000000000 +0200
@@ -8,10 +8,12 @@
obj-$(CONFIG_SND_MXC_SOC_MX2) += snd-soc-imx-mx2.o
diff --git a/patches/buildroot/2010.11/cleanup_buildroot.sh b/patches/buildroot/2010.11/cleanup_buildroot.sh
index 077a0d0..d7d6d26 100755
--- a/patches/buildroot/2010.11/cleanup_buildroot.sh
+++ b/patches/buildroot/2010.11/cleanup_buildroot.sh
@@ -51,3 +51,6 @@ rm -f buildroot/package/ncurses/ncurses-5.7-allows_build_with_old_ncurses_host_i
rm -rf buildroot/package/mysql_client/
rm -rf buildroot/package/portmap/
rm -rf buildroot/package/bluez3/
+rm -rf buildroot/package/ngircd/
+rm -rf buildroot/package/can-utils/
+
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2011-04-26 13:08:00
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 2308149cd42f625d74a7dd39094f7aabab25892b (commit)
via 230e7d235aabfd78dae8f0b2cca66a81648410a9 (commit)
via 4dcacbd5df8e0b63ff3d89f7ad7e641ab833f4e9 (commit)
from d31f3c40f41bf3e505a7989c483e7c1e6a22375a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 2308149cd42f625d74a7dd39094f7aabab25892b
Merge: 230e7d235aabfd78dae8f0b2cca66a81648410a9 d31f3c40f41bf3e505a7989c483e7c1e6a22375a
Author: Julien Boibessot <jul...@ar...>
Date: Tue Apr 26 15:07:14 2011 +0200
Merge branch 'master' of ssh://artemys@armadeus.git.sourceforge.net/gitroot/armadeus/armadeus
commit 230e7d235aabfd78dae8f0b2cca66a81648410a9
Author: Julien Boibessot <jul...@ar...>
Date: Tue Apr 26 15:05:15 2011 +0200
[BUILDROOT] rootfs skeleton: add ttymxc2 to /etc/securetty
commit 4dcacbd5df8e0b63ff3d89f7ad7e641ab833f4e9
Author: Julien Boibessot <jul...@ar...>
Date: Tue Apr 26 15:03:55 2011 +0200
[LINUX] 2.6.38 APF51: add MCP4912 & AS1531 in default config
-----------------------------------------------------------------------
Summary of changes:
.../armadeus/apf51/apf51-linux-2.6.38.config | 146 +++++++++++++++++++-
.../armadeus/rootfs/target_skeleton/etc/securetty | 1 +
2 files changed, 144 insertions(+), 3 deletions(-)
diff --git a/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config b/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config
index 2407359..b56eb2d 100644
--- a/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config
+++ b/buildroot/target/device/armadeus/apf51/apf51-linux-2.6.38.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux/arm 2.6.38.1 Kernel Configuration
-# Thu Mar 24 14:51:11 2011
+# Tue Apr 26 14:19:11 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -1230,7 +1230,7 @@ CONFIG_HWMON=m
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADCXX is not set
-# CONFIG_SENSORS_AS1531 is not set
+CONFIG_SENSORS_AS1531=m
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
@@ -1797,7 +1797,147 @@ CONFIG_RTC_DRV_WM831X=m
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+# CONFIG_USB_DABUSB is not set
+# CONFIG_USB_IP_COMMON is not set
+# CONFIG_W35UND is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+# CONFIG_BRCM80211 is not set
+# CONFIG_RT2870 is not set
+# CONFIG_COMEDI is not set
+# CONFIG_ASUS_OLED is not set
+# CONFIG_R8712U is not set
+# CONFIG_TRANZPORT is not set
+# CONFIG_POHMELFS is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_LINE6_USB is not set
+# CONFIG_VT6656 is not set
+CONFIG_IIO=m
+# CONFIG_IIO_RING_BUFFER is not set
+# CONFIG_IIO_TRIGGER is not set
+
+#
+# Accelerometers
+#
+# CONFIG_ADIS16201 is not set
+# CONFIG_ADIS16203 is not set
+# CONFIG_ADIS16204 is not set
+# CONFIG_ADIS16209 is not set
+# CONFIG_ADIS16220 is not set
+# CONFIG_ADIS16240 is not set
+# CONFIG_KXSD9 is not set
+# CONFIG_LIS3L02DQ is not set
+
+#
+# Analog to digital convertors
+#
+# CONFIG_MAX1363 is not set
+# CONFIG_AD7150 is not set
+# CONFIG_AD7152 is not set
+# CONFIG_AD7291 is not set
+# CONFIG_AD7298 is not set
+# CONFIG_AD7314 is not set
+# CONFIG_AD799X is not set
+# CONFIG_AD7476 is not set
+# CONFIG_AD7887 is not set
+# CONFIG_AD7745 is not set
+# CONFIG_AD7816 is not set
+# CONFIG_ADT75 is not set
+# CONFIG_ADT7310 is not set
+# CONFIG_ADT7410 is not set
+
+#
+# Analog digital bi-direction convertors
+#
+# CONFIG_ADT7316 is not set
+
+#
+# Digital to analog convertors
+#
+# CONFIG_AD5624R_SPI is not set
+# CONFIG_AD5446 is not set
+CONFIG_MCP49x2=m
+# CONFIG_MAX517 is not set
+
+#
+# Direct Digital Synthesis
+#
+# CONFIG_AD5930 is not set
+# CONFIG_AD9832 is not set
+# CONFIG_AD9834 is not set
+# CONFIG_AD9850 is not set
+# CONFIG_AD9852 is not set
+# CONFIG_AD9910 is not set
+# CONFIG_AD9951 is not set
+
+#
+# Digital gyroscope sensors
+#
+# CONFIG_ADIS16060 is not set
+# CONFIG_ADIS16080 is not set
+# CONFIG_ADIS16130 is not set
+# CONFIG_ADIS16260 is not set
+# CONFIG_ADIS16251 is not set
+
+#
+# Inertial measurement units
+#
+# CONFIG_ADIS16300 is not set
+# CONFIG_ADIS16350 is not set
+# CONFIG_ADIS16400 is not set
+
+#
+# Light sensors
+#
+# CONFIG_SENSORS_TSL2563 is not set
+# CONFIG_SENSORS_ISL29018 is not set
+
+#
+# Magnetometer sensors
+#
+# CONFIG_SENSORS_AK8975 is not set
+# CONFIG_SENSORS_HMC5843 is not set
+
+#
+# Active energy metering IC
+#
+# CONFIG_ADE7753 is not set
+# CONFIG_ADE7754 is not set
+# CONFIG_ADE7758 is not set
+# CONFIG_ADE7759 is not set
+# CONFIG_ADE7854 is not set
+
+#
+# Resolver to digital converters
+#
+# CONFIG_AD2S90 is not set
+# CONFIG_AD2S120X is not set
+# CONFIG_AD2S1210 is not set
+
+#
+# Triggers - standalone
+#
+# CONFIG_ZRAM is not set
+# CONFIG_FB_SM7XX is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_SMB_FS is not set
+CONFIG_MACH_NO_WESTBRIDGE=y
+# CONFIG_ATH6K_LEGACY is not set
+# CONFIG_USB_ENESTORAGE is not set
+# CONFIG_BCM_WIMAX is not set
+# CONFIG_FT1000 is not set
+
+#
+# Speakup console speech
+#
+# CONFIG_SPEAKUP is not set
+# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
+# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
CONFIG_CLKDEV_LOOKUP=y
#
diff --git a/buildroot/target/device/armadeus/rootfs/target_skeleton/etc/securetty b/buildroot/target/device/armadeus/rootfs/target_skeleton/etc/securetty
index 37b30fc..1a3f5cd 100644
--- a/buildroot/target/device/armadeus/rootfs/target_skeleton/etc/securetty
+++ b/buildroot/target/device/armadeus/rootfs/target_skeleton/etc/securetty
@@ -14,4 +14,5 @@ ttySMX0
ttySMX1
ttymxc0
ttymxc1
+ttymxc2
ttyGS0
hooks/post-receive
--
armadeus
|
|
From: Fabien M <fa...@us...> - 2011-04-26 12:39:25
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via d31f3c40f41bf3e505a7989c483e7c1e6a22375a (commit)
from a79dec3f0bb613e8e61c81e0f354dc731a7a2496 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d31f3c40f41bf3e505a7989c483e7c1e6a22375a
Author: Fabien Marteau <fab...@ar...>
Date: Tue Apr 26 14:35:40 2011 +0200
[BUILDROOT] Backport can-utils from buildroot and delete socketcan patch
-----------------------------------------------------------------------
Summary of changes:
patches/buildroot/2010.11/042-socketcan.patch | 75 --------------------
.../2010.11/148-Backport_buildroot_can-utils.patch | 48 +++++++++++++
2 files changed, 48 insertions(+), 75 deletions(-)
delete mode 100644 patches/buildroot/2010.11/042-socketcan.patch
create mode 100644 patches/buildroot/2010.11/148-Backport_buildroot_can-utils.patch
diff --git a/patches/buildroot/2010.11/042-socketcan.patch b/patches/buildroot/2010.11/042-socketcan.patch
deleted file mode 100644
index 797688b..0000000
--- a/patches/buildroot/2010.11/042-socketcan.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-Add socketcan package to BR
-
-Signed-off-by: Julien Boibessot <jul...@ar...>
-Signed-off-by: Kevin Joly <jol...@gm...>
-
-Index: buildroot/package/Config.in
-===================================================================
---- buildroot.orig/package/Config.in 2011-04-18 10:46:11.633201002 +0200
-+++ buildroot/package/Config.in 2011-04-18 11:00:38.517201003 +0200
-@@ -428,6 +428,7 @@
- source "package/samba/Config.in"
- source "package/ser2net/Config.in"
- source "package/socat/Config.in"
-+source "package/socketcan/Config.in"
- source "package/spawn-fcgi/Config.in"
- source "package/squid/Config.in"
- source "package/tcpdump/Config.in"
-Index: buildroot/package/socketcan/Config.in
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ buildroot/package/socketcan/Config.in 2011-04-11 18:22:09.000000000 +0200
-@@ -0,0 +1,15 @@
-+config BR2_PACKAGE_SOCKETCAN
-+ bool "Socket CAN"
-+ help
-+ The socketcan package is an implementation of CAN protocols
-+ (Controller Area Network) for Linux. CAN is a networking technology
-+ which has wide-spread use in automation, embedded devices, and
-+ automotive fields.
-+
-+ While there have been other CAN implementations for Linux based on
-+ character devices, Socket CAN uses the Berkeley socket API,
-+ the Linux network stack and implements the CAN device drivers as
-+ network interfaces. The CAN socket API has been designed as similar
-+ as possible to the TCP/IP protocols to allow programmers, familiar
-+ with network programming, to easily learn how to use CAN sockets.
-+
-Index: buildroot/package/socketcan/socketcan.mk
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ buildroot/package/socketcan/socketcan.mk 2011-04-18 10:58:51.061201002 +0200
-@@ -0,0 +1,33 @@
-+#############################################################
-+#
-+# Socket CAN
-+#
-+#############################################################
-+PROGRAMS_ISOTP = isotpdump,isotprecv,isotpsend,isotpsniffer,isotptun,isotpserver
-+PROGRAMS_CANGW = cangw
-+PROGRAMS_SLCAN = slcan_attach,slcand
-+PROGRAMS_CAN_UTILS = can-calc-bit-timing,candump,cansniffer,cansend,canplayer,cangen,canbusload,log2long,log2asc,asc2log,canlogserver,bcmserver,slcanpty,canfdtest
-+PROGRAMS = {$(PROGRAMS_ISOTP),$(PROGRAMS_CANGW),$(PROGRAMS_SLCAN),$(PROGRAMS_CAN_UTILS)}
-+SOCKETCAN_VERSION = 1235
-+SOCKETCAN_SOURCE = socketcan-svn-rev$(SOCKETCAN_VERSION).tar.gz
-+SOCKETCAN_SITE = http://svn.berlios.de/svnroot/repos/socketcan/trunk/
-+SOCKETCAN_SITE_METHOD = svn
-+
-+define SOCKETCAN_BUILD_CMDS
-+ $(MAKE) -C $(SOCKETCAN_DIR)/can-utils CC="$(TARGET_CC)"
-+endef
-+
-+define SOCKETCAN_INSTALL_TARGET_CMDS
-+ $(MAKE) DESTDIR=$(TARGET_DIR) -C $(SOCKETCAN_DIR)/can-utils install
-+ $(TARGET_STRIP) $(TARGET_DIR)/usr/local/bin/$(PROGRAMS)
-+endef
-+
-+define SOCKETCAN_CLEAN_CMDS
-+ $(MAKE) -C $(SOCKETCAN_DIR)/can-utils clean
-+endef
-+
-+define SOCKETCAN_UNINSTALL_TARGET_CMDS
-+ rm -rf $(SOCKETCAN_DIR)
-+endef
-+
-+$(eval $(call GENTARGETS,package,socketcan))
diff --git a/patches/buildroot/2010.11/148-Backport_buildroot_can-utils.patch b/patches/buildroot/2010.11/148-Backport_buildroot_can-utils.patch
new file mode 100644
index 0000000..b4a0be2
--- /dev/null
+++ b/patches/buildroot/2010.11/148-Backport_buildroot_can-utils.patch
@@ -0,0 +1,48 @@
+Backport can-utils from buildroot.
+can-utils contains several tools from socketcan to test
+a Controller Area Network.
+This patch replace 042-socketcan.patch.
+
+Signed-off-by : Kevin JOLY <jol...@gm...>
+---
+Index: buildroot/package/can-utils/can-utils.mk
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot/package/can-utils/can-utils.mk 2011-04-26 14:29:55.000000000 +0200
+@@ -0,0 +1,11 @@
++#############################################################
++#
++# can-utils
++#
++#############################################################
++
++CAN_UTILS_VERSION = 1235
++CAN_UTILS_SITE = svn://svn.berlios.de/socketcan/trunk/can-utils
++CAN_UTILS_AUTORECONF = YES
++
++$(eval $(call AUTOTARGETS,package,can-utils))
+Index: buildroot/package/can-utils/Config.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot/package/can-utils/Config.in 2011-04-26 14:29:55.000000000 +0200
+@@ -0,0 +1,8 @@
++config BR2_PACKAGE_CAN_UTILS
++ bool "can-utils"
++ help
++ SocketCAN is a set of open source CAN drivers and a
++ networking stack.
++ This package provides various tools for this stack.
++
++ http://developer.berlios.de/projects/socketcan/
+Index: buildroot/package/Config.in
+===================================================================
+--- buildroot.orig/package/Config.in 2011-04-26 14:32:35.000000000 +0200
++++ buildroot/package/Config.in 2011-04-26 14:33:21.000000000 +0200
+@@ -392,6 +392,7 @@
+ source "package/bluez3/Config.in"
+ source "package/bmon/Config.in"
+ source "package/bridge-utils/Config.in"
++source "package/can-utils/Config.in"
+ source "package/ctorrent/Config.in"
+ source "package/cups/Config.in"
+ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
hooks/post-receive
--
armadeus
|
|
From: Nicolas <th...@us...> - 2011-04-22 16:19:53
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via a79dec3f0bb613e8e61c81e0f354dc731a7a2496 (commit)
from aa0b902511888a2601c0442d772a9523d2ad8fad (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a79dec3f0bb613e8e61c81e0f354dc731a7a2496
Author: Nicolas Colombain <nic...@ar...>
Date: Fri Apr 22 18:18:17 2011 +0200
[LINUX] APF51 update platform for series
-----------------------------------------------------------------------
Summary of changes:
.../2.6.38/400-armadeus-add_apf51_module.patch | 27 ++++++++++--------
.../2.6.38/403-armadeus-set-uart2-debug.patch | 2 +-
.../408-armadeus-add_apf51-dev_baseboard.patch | 29 +++++++++----------
3 files changed, 30 insertions(+), 28 deletions(-)
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
index adf98fc..dc4741f 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
@@ -36,7 +36,7 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c 2011-04-18 10:20:41.000000000 +0200
-@@ -0,0 +1,441 @@
+@@ -0,0 +1,444 @@
+/*
+ * Support for APF51 System On Module
+ * Copyright (C) 2010-2011 Armadeus Systems <su...@ar...>
@@ -89,14 +89,14 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
+
+
+static iomux_v3_cfg_t apf51_pads[] = {
-+#ifdef APF51_PROD
-+ /* UART3 (Console) */
-+ MX51_PAD_UART3_RXD__UART3_RXD,
-+ MX51_PAD_UART3_TXD__UART3_TXD,
-+#else
++#ifdef APF51_PROTO
+ /* UART2 (Console) */
+ MX51_PAD_UART2_RXD__UART2_RXD,
+ MX51_PAD_UART2_TXD__UART2_TXD,
++#else
++ /* UART3 (Console) */
++ MX51_PAD_UART3_RXD__UART3_RXD,
++ MX51_PAD_UART3_TXD__UART3_TXD,
+#endif
+
+ /* USB HOST1 */
@@ -412,7 +412,11 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
+
+static struct i2c_board_info apf51_i2c1_devices[] __initdata = {
+ {
++#ifdef APF51_PROTO
+ I2C_BOARD_INFO("wm8311", 0x34),
++#else
++ I2C_BOARD_INFO("wm8311", 0x36),
++#endif
+ .platform_data = &apf51_wm8311_pdata,
+ .irq = gpio_to_irq(APF51_WM8311_IRQ_GPIO),
+ },
@@ -429,11 +433,10 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
+ mxc_iomux_v3_setup_multiple_pads(apf51_pads,
+ ARRAY_SIZE(apf51_pads));
+
-+#ifdef APF51_PROD
-+ TODO
-+ imx51_add_imx_uart(2, &uart_pdata);
-+#else
++#ifdef APF51_PROTO
+ imx51_add_imx_uart(1, &uart_pdata);
++#else
++ imx51_add_imx_uart(2, &uart_pdata);
+#endif
+
+ imx51_add_imx_i2c(1, &apf51_i2c_data);
@@ -486,7 +489,7 @@ Index: linux-2.6.38.1/arch/arm/plat-mxc/include/mach/uncompress.h
#define MX3X_UART1_BASE_ADDR 0x43F90000
#define MX3X_UART2_BASE_ADDR 0x43F94000
#define MX51_UART1_BASE_ADDR 0x73fbc000
-+#define MX51_UART2_BASE_ADDR 0x73fc0000
++#define MX51_UART3_BASE_ADDR 0x7000c000
#define MX50_UART1_BASE_ADDR 0x53fbc000
#define MX53_UART1_BASE_ADDR 0x53fbc000
@@ -495,7 +498,7 @@ Index: linux-2.6.38.1/arch/arm/plat-mxc/include/mach/uncompress.h
uart_base = MX53_UART1_BASE_ADDR;
break;
+ case MACH_TYPE_APF51:
-+ uart_base = MX51_UART2_BASE_ADDR;
++ uart_base = MX51_UART3_BASE_ADDR;
+ break;
default:
break;
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/403-armadeus-set-uart2-debug.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/403-armadeus-set-uart2-debug.patch
index b5e1f47..cb90fee 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/403-armadeus-set-uart2-debug.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/403-armadeus-set-uart2-debug.patch
@@ -11,7 +11,7 @@ Index: linux-2.6.38-alpha/arch/arm/plat-mxc/include/mach/debug-macro.S
#error "CONFIG_DEBUG_LL is incompatible with multiple archs"
#endif
-#define UART_PADDR MX51_UART1_BASE_ADDR
-+#define UART_PADDR MX51_UART2_BASE_ADDR
++#define UART_PADDR MX51_UART3_BASE_ADDR
#endif
#ifdef CONFIG_ARCH_MXC91231
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch
index 5c8869f..8dd05e3 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch
@@ -57,7 +57,7 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c 2011-04-05 23:04:25.000000000 +0200
-@@ -0,0 +1,481 @@
+@@ -0,0 +1,480 @@
+ /*
+ * Support for APF51's official development baseboard (APF51Dev)
+ *
@@ -123,17 +123,17 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c
+ (_MX51_PAD_EIM_EB2__GPIO2_22 | MUX_PAD_CTRL(APF51_GPIO_SPECIAL_PAD_CTRL)), /* WIFI_PWRDN# */
+ (_MX51_PAD_EIM_EB3__GPIO2_23 | MUX_PAD_CTRL(APF51_GPIO_SPECIAL_PAD_CTRL)), /* WIFI_RESET# */
+
-+#ifdef APF51DEV_PROD
++#ifdef APF51DEV_PROTO
++ /* UART3 (Bluetooth) - Protos */
++ MX51_PAD_UART3_RXD__UART3_RXD,
++ MX51_PAD_UART3_TXD__UART3_TXD,
++ /* RTS/CTS on Keypad */
++#else
+ /* UART2 (Bluetooth) */
+ MX51_PAD_UART2_RXD__UART2_RXD,
+ MX51_PAD_UART2_TXD__UART2_TXD,
+ MX51_PAD_EIM_D25__UART2_CTS,
+ MX51_PAD_EIM_D26__UART2_RTS,
-+#else
-+ /* UART3 (Bluetooth) - Protos */
-+ MX51_PAD_UART3_RXD__UART3_RXD,
-+ MX51_PAD_UART3_TXD__UART3_TXD,
-+ /* RTS/CTS on Keypad */
+#endif
+
+ (_MX51_PAD_EIM_CS3__GPIO2_28 | MUX_PAD_CTRL(APF51_GPIO_SPECIAL_PAD_CTRL)), /* BT_RESET# */
@@ -207,12 +207,12 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c
+ MX51_PAD_KEY_COL1__KEY_COL1,
+ MX51_PAD_KEY_COL2__KEY_COL2,
+ MX51_PAD_KEY_COL3__KEY_COL3,
-+#ifdef APF51DEV_PROD
-+ MX51_PAD_KEY_COL4__KEY_COL4,
-+ MX51_PAD_KEY_COL5__KEY_COL5,
-+#else
++#ifdef APF51DEV_PROTO
+ MX51_PAD_KEY_COL4__UART3_RTS,
+ MX51_PAD_KEY_COL5__UART3_CTS,
++#else
++ MX51_PAD_KEY_COL4__KEY_COL4,
++ MX51_PAD_KEY_COL5__KEY_COL5,
+#endif
+
+ /* ONEWIRE */
@@ -495,11 +495,10 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/apf51dev-baseboard.c
+ ARRAY_SIZE(apf51dev_pads));
+
+ imx51_add_imx_uart(0, &apf51dev_uart_pdata);
-+#ifdef APF51DEV_PROD
-+ TODO
-+ imx51_add_imx_uart(1, &apf51dev_uart_pdata);
-+#else
++#ifdef APF51DEV_PROTO
+ imx51_add_imx_uart(2, &apf51dev_uart_pdata);
++#else
++ imx51_add_imx_uart(1, &apf51dev_uart_pdata);
+#endif
+
+ init_gpio();
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2011-04-22 13:07:11
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via aa0b902511888a2601c0442d772a9523d2ad8fad (commit)
via f479542049ec2f092838993630d65765831344c9 (commit)
via 5b288c798837f7648438f5451b9e96b7ce893671 (commit)
from 7e5da6484308e2e7c7d12819cdbbcd6139556b4b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit aa0b902511888a2601c0442d772a9523d2ad8fad
Author: Julien Boibessot <jul...@ar...>
Date: Fri Apr 22 15:06:20 2011 +0200
[LINUX] APF9328/APF27: Removes 2.6.27 kernel support (obsolete)
commit f479542049ec2f092838993630d65765831344c9
Merge: 5b288c798837f7648438f5451b9e96b7ce893671 7e5da6484308e2e7c7d12819cdbbcd6139556b4b
Author: Julien Boibessot <jul...@ar...>
Date: Thu Apr 21 20:44:27 2011 +0200
Merge branch 'master' of ssh://artemys@armadeus.git.sourceforge.net/gitroot/armadeus/armadeus
commit 5b288c798837f7648438f5451b9e96b7ce893671
Author: Julien Boibessot <jul...@ar...>
Date: Mon Apr 18 14:02:41 2011 +0200
Add target/linux/debug/imxssi/imx51regs.h link
-----------------------------------------------------------------------
Summary of changes:
.../armadeus/apf27/apf27-linux-2.6.27.13.config | 1673 --
.../apf9328/apf9328-linux-2.6.27.13.config | 1541 --
.../013-armadeus-imxfb-improvements.patch | 309 -
.../014-armadeus-imxregs-add-lcd-bpix-mask.patch | 10 -
...15-armadeus-logo-add_armadeus-project_tux.patch |19254 --------------------
...-i2c-imx-add_driver_to_linux_build_system.patch | 25 -
.../2.6.27.13/018-armadeus-i2c-imx.patch | 822 -
.../2.6.27.13/021-armadeus-apf9328.patch | 1038 --
.../2.6.27.13/021-armadeus-apf9328_defconfig.patch | 808 -
...d-add_driver_to_linux_build_system.no_more_used | 23 -
.../022-armadeus-apf9328-mtd.no_more_used | 143 -
.../2.6.27.13/023-armadeus-fblcd-kconfig.patch | 53 -
...s-apf9328-add_board_to_linux_build_system.patch | 80 -
.../2.6.27.13/030-armadeus-add_USB_registers.patch | 155 -
.../030-armadeus-imx-add_USB_ressources.patch | 63 -
.../2.6.27.13/030-armadeus-imx_udc-add_clock.patch | 38 -
...-imx_udc-add_driver_to_linux_build_system.patch | 40 -
...mx_udc-change_source_sink_in_gadget_zero.to_fix | 16 -
...madeus-imx_udc-deactivate_cdc_in_ether_c.to_fix | 12 -
.../2.6.27.13/030-mike_lee-original_imx_udc.patch | 2229 ---
...us-updates_imx-udc_driver_for_new_kernels.patch | 244 -
...imx-udc-makes_it_use_clock_infrastructure.patch | 49 -
.../2.6.27.13/040-armadeus-imx_mmc.patch | 25 -
...xmmc-add_controller_driven_card_detection.patch | 63 -
.../040-armadeus-imxmmc-correct_some_freezes.patch | 25 -
.../2.6.27.13/041-armadeus-imx_irq.patch | 24 -
...50-armadeus-add_custom_drivers_to_kconfig.patch | 20 -
.../055-armadeus-rtc-ds1374.diff.now_included | 316 -
.../2.6.27.13/062-armadeus-max1027.obsolete | 395 -
.../063-armadeus-max1027-add_max1027_include.patch | 67 -
...rmadeus-add_backlight_machinfo_to_imxfb_h.patch | 15 -
.../2.6.27.13/073-armadeus-tsc2102.patch | 1425 --
...02_integrate_driver_to_linux_build_system.patch | 27 -
...chscreen-add_driver_to_linux_build_system.patch | 33 -
.../074-armadeus-tsc2102-touchscreen.patch | 162 -
.../075-armadeus-spi2-reg-irq-defines.patch | 39 -
...-vmlinux-ld_script_patch_for_new_binutils.patch | 10 -
.../2.6.27.13/077-arm-checksyscalls.patch | 16 -
...-armadeus-set_imx_fb_info-sectio-mismatch.patch | 11 -
.../2.6.27.13/081-can-proto-numbers.now_included | 105 -
.../2.6.27.13/082-can-core.now_included | 2573 ---
.../2.6.27.13/083-can-raw-proto.now_included | 861 -
.../2.6.27.13/084-can-bcm-proto.now_included | 1899 --
.../2.6.27.13/085-can-vcan-driver.now_included | 369 -
.../2.6.27.13/086-can-maintainers.now_included | 67 -
.../2.6.27.13/087-can-doc.now_included | 666 -
.../kernel-patches/2.6.27.13/088-can-mcp2515.patch | 1567 --
.../090-armadeus-alsa-create_imx-alsa_h.patch | 158 -
...-armadeus-alsa-add_imx_ssi_tsc2102_driver.patch | 1482 --
...02-integrate_driver_to_linux_build_system.patch | 31 -
...093-armadeus-add_ssi_registers_definition.patch | 16 -
.../2.6.27.13/094-armadeus-rtc1374-legacy.patch | 329 -
.../095-armadeus-imx-ssi-add_driver.patch | 673 -
.../2.6.27.13/096-armadeus-clock-add_ssi_clk.patch | 22 -
.../097-armadeus-imx-dma-improvements.patch | 411 -
...announce_imx_is_supporting_scatter_gather.patch | 12 -
...ock_request_to_prevent_crash_when_probing.patch | 53 -
...nel_to_export_some_irq_handling_functions.patch | 62 -
...nce_function_to_register_platform_devices.patch | 82 -
...gu-drivers_mtd_cfi_probe_broken_mirrorbit.patch | 144 -
...u-mx2-make_SoC_devices_globally_available.patch | 193 -
...7-pengu-mx27-add_definitions_for_USB_pins.patch | 59 -
...7-pengu-mxc-add_cscr_register_definitions.patch | 31 -
...c-add_RTCK_alternate_function_definitions.patch | 28 -
.../2.6.27.13/220-apf27-pengu-fec-old.patch | 3420 ----
...1-apf27-pengu-add_DMA_support_for_mx2_mx1.patch | 965 -
...engu-mxc-Add_NAND_flash_controller_driver.patch | 1155 --
...223-apf27-pengu-pcm038-Add_NAND_resources.patch | 53 -
.../224-apf27-pengu-pcm038-Add_NAND_support.patch | 42 -
...-apf27-pengu-mx27-Fix_EMMA_base_addresses.patch | 27 -
.../226-apf27-pengu-mx27-Camera_support.patch | 1298 --
...-Add_simple_CPU_frequency_scaling_support.patch | 343 -
.../230-apf27-pengu-mx2_devices_full.patch | 719 -
.../2.6.27.13/231-apf27-pengu-mxc_i2c_driver.patch | 714 -
.../233-apf27-pengu-mx2_framebuffer_beta.patch | 1562 --
...us-mx2_framebuffer_beta_update_for_2_6_27.patch | 40 -
...235-apf27-pengu-make_pcm038_full_featured.patch | 196 -
...-add_BSP_part_of_the_CPU_frequency_scaler.patch | 225 -
...m970-Extend_to_current_development_status.patch | 229 -
...7-pengu-mx27-Add_an_ALSA_driver_for_iMX27.patch | 2563 ---
...apf27-pengu-pcm038-Add_ALSA_audio_support.patch | 124 -
..._mc13783_from_mx27_snd_driver_compilation.patch | 18 -
...f27-armadeus-fixe-bugs-drivers_mxc_nand.c.patch | 167 -
...mxc-simplify_mxc_gpio_setup_multiple_pins.patch | 197 -
...52-apf27-pengu-m27-we_can_do_DMA_chaining.patch | 24 -
...7-pengu-mx27-Add_USB_pin_function_defines.patch | 47 -
...27-Add_USB_resources_and_platform_devices.patch | 80 -
.../257-apf27-pengu-mx27-Add_EHCI_support.patch | 576 -
...27-pengu-imxmmc-checkpatch_cleanup.as_reference | 773 -
...ngu-imxmmc-remove_unused_variables.as_reference | 27 -
...pf27-pengu-imxmmc-use_readl_writel.as_reference | 526 -
..._ioresource_to_specify_DMA_request.as_reference | 57 -
...-pengu-imxmmc-cleanup_DMA_handling.as_reference | 72 -
...mxmmc-make_platform_data_mandatory.as_reference | 58 -
...tform_specific_init_exit_functions.as_reference | 58 -
..._remaining_platform_specific_setup.as_reference | 35 -
...7-pengu-imxmmc-add_mx2_mx3_support.as_reference | 379 -
..._clock_provided_from_platform_data.as_reference | 30 -
...hc1_resources_to_arch_arm_mach-mx2_device.patch | 110 -
...-add_missing_definitions_in_dma-mx1-mx2_h.patch | 20 -
...-imxmmc-add_sdhc1_pins_in_iomux-mx1-mx2_h.patch | 44 -
...eate_arch_arm_plat-mxc_include_mach_mmc_h.patch | 28 -
...adeus-imxmmc-correct_imxmmc_driver.as_reference | 187 -
...-add_missing_registers_to_imxmmc_h.as_reference | 62 -
...imxmmc_driver_for_mxc_platform_too.as_reference | 22 -
...-apf27-pengu-add_MX2_specific_SDHC_driver.patch | 754 -
...deus-correct_bugs_in_clock_infrastructure.patch | 11 -
.../2.6.27.13/281-apf27-armadeus-add_apf27.c.patch | 1566 --
...-apf27-armadeus-add_apf27_to_build_system.patch | 27 -
...t_registers_function_to_imx_serial_driver.patch | 21 -
...-apf27-armadeus-add_LQO43_to_mxcfb_modedb.patch | 23 -
...-apf27-armadeus-add_LQO57_to_mxcfb_modedb.patch | 22 -
.../287-apf27-armadeus-fix_usb_otg_int.patch | 11 -
.../288-apf27-set-ttySMX-ref-imx-uart.patch | 15 -
.../2.6.27.13/290-apf27-pengu-spi_addons.patch | 30 -
.../291-apf27-add_debug_support_with_UART1.patch | 14 -
...291-apf27-armadeus-add_mach_board-apf27_h.patch | 50 -
.../2.6.27.13/292-apf27-armadeus-i2c-fix.patch | 53 -
...s-spi_imx-add_gpio_init_and_iMX27_support.patch | 587 -
.../294-apf27-armadeus-imxfb-create_imx_fb_h.patch | 86 -
.../294b-apf27-armadeus-imxfb-create_imxfb_h.patch | 95 -
...fy_imxfb_device_name_for_freescale_driver.patch | 11 -
.../296-apf27-armadeus-imx27-usb-host1.patch | 50 -
...dd_backlight_machinfo_to_plat_mxc_imxfb_h.patch | 16 -
.../297-apf27-armadeus-add_ethernet_PHY.patch | 73 -
.../2.6.27.13/299-apf27-armadeus-reboot.patch | 20 -
.../2.6.27.13/300-apf27-armadeus-jffs2_debug.patch | 76 -
...eus-ssi-SSI1_TXD_is_an_ouput_not_an_input.patch | 11 -
...s-add_imx-alsa_h_to_plat-mxc_include_mach.patch | 140 -
...303-apf27-armadeus-improve_mx2-dam_driver.patch | 27 -
...304-apf27-armadeus-improve_mx2-ssi_driver.patch | 198 -
...armadeus-separates_imx_and_mx2_alsa_build.patch | 64 -
...adeus-nfc-makes_it_compile_with_CONFIG_PM.patch | 38 -
.../311-apf27-armadeus-mx27-add_pm_infra.patch | 166 -
...lpi-add_function_control_register_address.patch | 31 -
.../2.6.27.13/313-apf27-armadeus-pengu_gpio.patch | 18 -
.../2.6.27.13/314-apf27-armadeus-ad9889.patch | 578 -
.../2.6.27.13/315-apf27-darius-mxc-watchdog.patch | 484 -
...watchdog-makes_darius_driver_work_on_mx27.patch | 15 -
...x_led_and_switch_for_powermanagement_test.patch | 22 -
.../318-apf27-pengu-mxc_add_vpu_driver.patch | 650 -
.../319-apf27-armadeus-ov96xx_sensors_driver.patch | 1826 --
...apf27-armadeus-increase_max_dma_zone_size.patch | 17 -
...21-apf27-armadeus-mx2_adds_pwm_ressources.patch | 44 -
.../321-apf27-armadeus-mx2_pwm_fixes.patch | 34 -
.../322-apf27-armadeus-add_mach_fpga_h.patch | 42 -
...3-apf27-armadeus-increases_max_irq_number.patch | 29 -
.../324-armadeus-change_getline_in_get_line.patch | 34 -
.../2.6.27.13/convert_patches_to_p1.sh | 28 -
target/linux/debug/imxssi/imx51regs.h | 1 +
150 files changed, 1 insertions(+), 68570 deletions(-)
delete mode 100644 buildroot/target/device/armadeus/apf27/apf27-linux-2.6.27.13.config
delete mode 100644 buildroot/target/device/armadeus/apf9328/apf9328-linux-2.6.27.13.config
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/013-armadeus-imxfb-improvements.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/014-armadeus-imxregs-add-lcd-bpix-mask.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/015-armadeus-logo-add_armadeus-project_tux.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/018-armadeus-i2c-imx-add_driver_to_linux_build_system.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/018-armadeus-i2c-imx.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/021-armadeus-apf9328.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/021-armadeus-apf9328_defconfig.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/022-armadeus-apf9328-mtd-add_driver_to_linux_build_system.no_more_used
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/022-armadeus-apf9328-mtd.no_more_used
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/023-armadeus-fblcd-kconfig.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/024-armadeus-apf9328-add_board_to_linux_build_system.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/030-armadeus-add_USB_registers.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/030-armadeus-imx-add_USB_ressources.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/030-armadeus-imx_udc-add_clock.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/030-armadeus-imx_udc-add_driver_to_linux_build_system.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/030-armadeus-imx_udc-change_source_sink_in_gadget_zero.to_fix
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/030-armadeus-imx_udc-deactivate_cdc_in_ether_c.to_fix
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/030-mike_lee-original_imx_udc.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/031-armadeus-updates_imx-udc_driver_for_new_kernels.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/032-armadeus-imx-udc-makes_it_use_clock_infrastructure.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/040-armadeus-imx_mmc.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/040-armadeus-imxmmc-add_controller_driven_card_detection.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/040-armadeus-imxmmc-correct_some_freezes.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/041-armadeus-imx_irq.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/050-armadeus-add_custom_drivers_to_kconfig.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/055-armadeus-rtc-ds1374.diff.now_included
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/062-armadeus-max1027.obsolete
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/063-armadeus-max1027-add_max1027_include.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/072-armadeus-add_backlight_machinfo_to_imxfb_h.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/073-armadeus-tsc2102.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/073-armadeus-tsc2102_integrate_driver_to_linux_build_system.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/074-armadeus-tsc2102-touchscreen-add_driver_to_linux_build_system.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/074-armadeus-tsc2102-touchscreen.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/075-armadeus-spi2-reg-irq-defines.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/076-arm-vmlinux-ld_script_patch_for_new_binutils.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/077-arm-checksyscalls.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/078-armadeus-set_imx_fb_info-sectio-mismatch.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/081-can-proto-numbers.now_included
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/082-can-core.now_included
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/083-can-raw-proto.now_included
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/084-can-bcm-proto.now_included
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/085-can-vcan-driver.now_included
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/086-can-maintainers.now_included
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/087-can-doc.now_included
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/088-can-mcp2515.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/090-armadeus-alsa-create_imx-alsa_h.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/091-armadeus-alsa-add_imx_ssi_tsc2102_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/092-armadeus-alsa-imx-ssi-tsc2102-integrate_driver_to_linux_build_system.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/093-armadeus-add_ssi_registers_definition.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/094-armadeus-rtc1374-legacy.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/095-armadeus-imx-ssi-add_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/096-armadeus-clock-add_ssi_clk.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/097-armadeus-imx-dma-improvements.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/098-armadeus-imx-dma-announce_imx_is_supporting_scatter_gather.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/100-armadeus-spi_imx-move_clock_request_to_prevent_crash_when_probing.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/199-armadeus-hack_kernel_to_export_some_irq_handling_functions.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/213-apf27-pengu-mxc-add_convenience_function_to_register_platform_devices.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/214-apf27-pengu-drivers_mtd_cfi_probe_broken_mirrorbit.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/215-apf27-pengu-mx2-make_SoC_devices_globally_available.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/216-apf27-pengu-mx27-add_definitions_for_USB_pins.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/217-apf27-pengu-mxc-add_cscr_register_definitions.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/218-apf27-pengu-mxc-add_RTCK_alternate_function_definitions.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/220-apf27-pengu-fec-old.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/221-apf27-pengu-add_DMA_support_for_mx2_mx1.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/222-apf27-pengu-mxc-Add_NAND_flash_controller_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/223-apf27-pengu-pcm038-Add_NAND_resources.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/224-apf27-pengu-pcm038-Add_NAND_support.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/225-apf27-pengu-mx27-Fix_EMMA_base_addresses.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/226-apf27-pengu-mx27-Camera_support.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/227-apf27-pengu-mx27-Add_simple_CPU_frequency_scaling_support.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/230-apf27-pengu-mx2_devices_full.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/231-apf27-pengu-mxc_i2c_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/233-apf27-pengu-mx2_framebuffer_beta.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/234-apf27-armadeus-mx2_framebuffer_beta_update_for_2_6_27.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/235-apf27-pengu-make_pcm038_full_featured.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/235-apf27-pengu-pcm038-add_BSP_part_of_the_CPU_frequency_scaler.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/237-apf27-pengu-pcm970-Extend_to_current_development_status.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/238-apf27-pengu-mx27-Add_an_ALSA_driver_for_iMX27.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/238-apf27-pengu-pcm038-Add_ALSA_audio_support.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/239-apf27-armadeus-alsa-remove_mc13783_from_mx27_snd_driver_compilation.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/240-apf27-armadeus-fixe-bugs-drivers_mxc_nand.c.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/251-apf27-pengu-mxc-simplify_mxc_gpio_setup_multiple_pins.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/252-apf27-pengu-m27-we_can_do_DMA_chaining.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/255-apf27-pengu-mx27-Add_USB_pin_function_defines.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/256-apf27-pengu-mx27-Add_USB_resources_and_platform_devices.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/257-apf27-pengu-mx27-Add_EHCI_support.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/260-apf27-pengu-imxmmc-checkpatch_cleanup.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/261-apf27-pengu-imxmmc-remove_unused_variables.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/262-apf27-pengu-imxmmc-use_readl_writel.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/263-apf27-pengu-imxmmc-use_ioresource_to_specify_DMA_request.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/264-apf27-pengu-imxmmc-cleanup_DMA_handling.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/265-apf27-pengu-imxmmc-make_platform_data_mandatory.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/266-apf27-pengu-imxmmc-add_platform_specific_init_exit_functions.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/267-apf27-pengu-imxmmc-remove_remaining_platform_specific_setup.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/268-apf27-pengu-imxmmc-add_mx2_mx3_support.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/269-apf27-pengu-imxmmc-use_clock_provided_from_platform_data.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/270-apf27-armadeus-imxmmc-add_sdhc1_resources_to_arch_arm_mach-mx2_device.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/271-apf27-armadeus-imxmmc-add_missing_definitions_in_dma-mx1-mx2_h.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/272-apf27-armadeus-imxmmc-add_sdhc1_pins_in_iomux-mx1-mx2_h.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/273-apf27-armadeus-imxmmc-create_arch_arm_plat-mxc_include_mach_mmc_h.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/274-apf27-armadeus-imxmmc-correct_imxmmc_driver.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/275-apf27-armadeus-imxmmc-add_missing_registers_to_imxmmc_h.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/276-apf27-armadeus-imxmmc-allow_kconfig_selection_of_imxmmc_driver_for_mxc_platform_too.as_reference
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/277-apf27-pengu-add_MX2_specific_SDHC_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/280-apf27-armadeus-correct_bugs_in_clock_infrastructure.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/281-apf27-armadeus-add_apf27.c.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/282-apf27-armadeus-add_apf27_to_build_system.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/283-apf27-armadeus-add_dump_uart_registers_function_to_imx_serial_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/285-apf27-armadeus-add_LQO43_to_mxcfb_modedb.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/286-apf27-armadeus-add_LQO57_to_mxcfb_modedb.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/287-apf27-armadeus-fix_usb_otg_int.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/288-apf27-set-ttySMX-ref-imx-uart.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/290-apf27-pengu-spi_addons.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/291-apf27-add_debug_support_with_UART1.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/291-apf27-armadeus-add_mach_board-apf27_h.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/292-apf27-armadeus-i2c-fix.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/293-apf27-armadeus-spi_imx-add_gpio_init_and_iMX27_support.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/294-apf27-armadeus-imxfb-create_imx_fb_h.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/294b-apf27-armadeus-imxfb-create_imxfb_h.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/295-apf27-armadeus-imxfb-modify_imxfb_device_name_for_freescale_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/296-apf27-armadeus-imx27-usb-host1.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/297-apf27-armadeus-add_backlight_machinfo_to_plat_mxc_imxfb_h.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/297-apf27-armadeus-add_ethernet_PHY.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/299-apf27-armadeus-reboot.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/300-apf27-armadeus-jffs2_debug.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/301-apf27-armadeus-ssi-SSI1_TXD_is_an_ouput_not_an_input.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/302-apf27-armadeus-add_imx-alsa_h_to_plat-mxc_include_mach.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/303-apf27-armadeus-improve_mx2-dam_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/304-apf27-armadeus-improve_mx2-ssi_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/305-apf27-armadeus-separates_imx_and_mx2_alsa_build.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/310-apf27-armadeus-nfc-makes_it_compile_with_CONFIG_PM.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/311-apf27-armadeus-mx27-add_pm_infra.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/312-apf27-armadeus-ulpi-add_function_control_register_address.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/313-apf27-armadeus-pengu_gpio.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/314-apf27-armadeus-ad9889.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/315-apf27-darius-mxc-watchdog.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/316-apf27-armadeus-watchdog-makes_darius_driver_work_on_mx27.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/317-apf27-armadeus-add_kconfig_option_to_use_imx_led_and_switch_for_powermanagement_test.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/318-apf27-pengu-mxc_add_vpu_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/319-apf27-armadeus-ov96xx_sensors_driver.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/320-apf27-armadeus-increase_max_dma_zone_size.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/321-apf27-armadeus-mx2_adds_pwm_ressources.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/321-apf27-armadeus-mx2_pwm_fixes.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/322-apf27-armadeus-add_mach_fpga_h.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/323-apf27-armadeus-increases_max_irq_number.patch
delete mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/324-armadeus-change_getline_in_get_line.patch
delete mode 100755 buildroot/target/device/armadeus/linux/kernel-patches/2.6.27.13/convert_patches_to_p1.sh
create mode 120000 target/linux/debug/imxssi/imx51regs.h
diff --git a/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.27.13.config b/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.27.13.config
deleted file mode 100644
index dc42d8d..0000000
--- a/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.27.13.config
+++ /dev/null
@@ -1,1673 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.27.13
-# Fri Dec 11 22:30:17 2009
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_GENERIC_TIME=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_MMU=y
-# CONFIG_NO_IOPORT is not set
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ARCH_SUPPORTS_AOUT=y
-CONFIG_ZONE_DMA=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-CONFIG_GROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_USER_SCHED=y
-# CONFIG_CGROUP_SCHED is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_BLK_DEV_INITRD is not set
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-CONFIG_KALLSYMS_EXTRA_PASS=y
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-CONFIG_PROFILING=y
-CONFIG_MARKERS=y
-CONFIG_OPROFILE=y
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
-# CONFIG_HAVE_IOREMAP_PROT is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-# CONFIG_HAVE_ARCH_TRACEHOOK is not set
-# CONFIG_HAVE_DMA_ATTRS is not set
-# CONFIG_USE_GENERIC_SMP_HELPERS is not set
-# CONFIG_HAVE_CLK is not set
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-CONFIG_BLOCK=y
-# CONFIG_LBD is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_LSF is not set
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_AS is not set
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-# CONFIG_DEFAULT_AS is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_CLASSIC_RCU=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AAEC2000 is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_IOP13XX is not set
-# CONFIG_ARCH_IOP32X is not set
-# CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_MV78XX0 is not set
-CONFIG_ARCH_MXC=y
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_MSM7X00A is not set
-
-#
-# Boot options
-#
-
-#
-# Power management
-#
-
-#
-# Freescale MXC Implementations
-#
-CONFIG_ARCH_MX2=y
-# CONFIG_ARCH_MX3 is not set
-
-#
-# MX2 family CPU support
-#
-CONFIG_MACH_MX27=y
-
-#
-# MX2 Platforms
-#
-CONFIG_MACH_APF27=y
-# CONFIG_MACH_MX27ADS is not set
-# CONFIG_MACH_PCM038 is not set
-CONFIG_MXC_ULPI=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5TJ=y
-CONFIG_CPU_PABRT_NOIFAR=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_COPY_V4WB=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
-# CONFIG_OUTER_CACHE is not set
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_PREEMPT=y
-CONFIG_HZ=100
-CONFIG_AEABI=y
-CONFIG_OABI_COMPAT=y
-CONFIG_ARCH_FLATMEM_HAS_HOLES=y
-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4096
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=""
-# CONFIG_XIP_KERNEL is not set
-# CONFIG_KEXEC is not set
-
-#
-# CPU Frequency scaling
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_FREQ_IMX27 is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-# CONFIG_FPE_NWFPE is not set
-# CONFIG_FPE_FASTFPE is not set
-# CONFIG_VFP is not set
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM_VERBOSE=y
-CONFIG_CAN_PM_TRACE=y
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_SUSPEND_FREEZER=y
-# CONFIG_APM_EMULATION is not set
-# CONFIG_USE_APF27DEV_IMX_LED_FOR_PM is not set
-# CONFIG_USE_APF27DEV_IMX_SWITCH_FOR_PM is not set
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-CONFIG_IP_PNP=y
-# CONFIG_IP_PNP_DHCP is not set
-# CONFIG_IP_PNP_BOOTP is not set
-# CONFIG_IP_PNP_RARP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_IP_MROUTE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-CONFIG_INET_TUNNEL=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=y
-# CONFIG_IPV6_PRIVACY is not set
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-# CONFIG_INET6_AH is not set
-# CONFIG_INET6_ESP is not set
-# CONFIG_INET6_IPCOMP is not set
-# CONFIG_IPV6_MIP6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL is not set
-CONFIG_INET6_XFRM_MODE_TRANSPORT=y
-CONFIG_INET6_XFRM_MODE_TUNNEL=y
-CONFIG_INET6_XFRM_MODE_BEET=y
-# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
-CONFIG_IPV6_SIT=y
-CONFIG_IPV6_NDISC_NODETYPE=y
-# CONFIG_IPV6_TUNNEL is not set
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_IPV6_MROUTE is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-
-#
-# Wireless
-#
-CONFIG_CFG80211=m
-CONFIG_NL80211=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_MAC80211=m
-
-#
-# Rate control algorithm selection
-#
-CONFIG_MAC80211_RC_PID=y
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-CONFIG_MAC80211_RC_DEFAULT="pid"
-# CONFIG_MAC80211_MESH is not set
-# CONFIG_MAC80211_LEDS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-# CONFIG_IEEE80211 is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=m
-CONFIG_FIRMWARE_IN_KERNEL=y
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# CONFIG_MTD_AR7_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-# CONFIG_MTD_CFI_I2 is not set
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_OTP is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_XIP is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_START=0x00000000
-CONFIG_MTD_PHYSMAP_LEN=0x0
-CONFIG_MTD_PHYSMAP_BANKWIDTH=2
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ALAUDA is not set
-CONFIG_MTD_NAND_MXC=y
-# CONFIG_MTD_ONENAND is not set
-
-#
-# UBI - Unsorted block images
-#
-# CONFIG_MTD_UBI is not set
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_UB is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=y
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=y
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=y
-CONFIG_CHR_DEV_SCH=y
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-CONFIG_SCSI_LOGGING=y
-CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_ATA is not set
-# CONFIG_MD is not set
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-# CONFIG_PHYLIB is not set
-CONFIG_NET_ETHERNET=y
-# CONFIG_MII is not set
-# CONFIG_AX88796 is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-# CONFIG_ENC28J60 is not set
-# CONFIG_IBM_NEW_EMAC_ZMII is not set
-# CONFIG_IBM_NEW_EMAC_RGMII is not set
-# CONFIG_IBM_NEW_EMAC_TAH is not set
-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-# CONFIG_B44 is not set
-CONFIG_FEC_OLD=y
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
-CONFIG_LIBERTAS=m
-# CONFIG_LIBERTAS_USB is not set
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_NET_RNDIS_WLAN is not set
-# CONFIG_RTL8187 is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_P54_COMMON is not set
-# CONFIG_IWLWIFI_LEDS is not set
-# CONFIG_HOSTAP is not set
-# CONFIG_B43 is not set
-# CONFIG_B43LEGACY is not set
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_RT2X00=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-# CONFIG_RT2500USB is not set
-CONFIG_RT73USB=m
-# CONFIG_RT2X00_DEBUG is not set
-
-#
-# USB Network Adapters
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_WAN is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-CONFIG_TOUCHSCREEN_TSC2102=m
-# CONFIG_TOUCHSCREEN_UCB1400 is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-CONFIG_DEVKMEM=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_GPIO is not set
-CONFIG_I2C_MXC=y
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_SIMTEC is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-# CONFIG_I2C_TINY_USB is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_IMX is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_STUB is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-# CONFIG_DS1682 is not set
-CONFIG_AT24=y
-# CONFIG_SENSORS_EEPROM is not set
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_PCF8575 is not set
-# CONFIG_SENSORS_PCA9539 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_SENSORS_MAX6875 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-CONFIG_SPI=y
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_BITBANG is not set
-CONFIG_SPI_IMX=y
-CONFIG_SPI_MXC_SELECT1=y
-CONFIG_SPI_MXC_SELECT2=y
-# CONFIG_SPI_MXC_SELECT3 is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_AT25 is not set
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-CONFIG_SPI_TSC2102=m
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-CONFIG_HWMON=m
-# CONFIG_HWMON_VID is not set
-# CONFIG_SENSORS_AD7414 is not set
-# CONFIG_SENSORS_AD7418 is not set
-# CONFIG_SENSORS_ADCXX is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1029 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7473 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_LM93 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_MAX6650 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_PC87427 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47M192 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_ADS7828 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_IMX_WDT=m
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB_POSSIBLE=y
-# CONFIG_SSB is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_ASIC3 is not set
-# CONFIG_HTC_EGPIO is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
-# CONFIG_MFD_TC6393XB is not set
-
-#
-# Multimedia devices
-#
-
-#
-# Multimedia core support
-#
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_COMMON=m
-# CONFIG_VIDEO_ALLOW_V4L1 is not set
-CONFIG_VIDEO_V4L1_COMPAT=y
-# CONFIG_DVB_CORE is not set
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-# CONFIG_MEDIA_ATTACH is not set
-CONFIG_MEDIA_TUNER=m
-CONFIG_MEDIA_TUNER_CUSTOMIZE=y
-# CONFIG_MEDIA_TUNER_SIMPLE is not set
-# CONFIG_MEDIA_TUNER_TDA8290 is not set
-# CONFIG_MEDIA_TUNER_TDA827X is not set
-# CONFIG_MEDIA_TUNER_TDA18271 is not set
-# CONFIG_MEDIA_TUNER_TDA9887 is not set
-# CONFIG_MEDIA_TUNER_TEA5761 is not set
-# CONFIG_MEDIA_TUNER_TEA5767 is not set
-# CONFIG_MEDIA_TUNER_MT20XX is not set
-# CONFIG_MEDIA_TUNER_MT2060 is not set
-# CONFIG_MEDIA_TUNER_MT2266 is not set
-# CONFIG_MEDIA_TUNER_MT2131 is not set
-# CONFIG_MEDIA_TUNER_QT1010 is not set
-# CONFIG_MEDIA_TUNER_XC2028 is not set
-# CONFIG_MEDIA_TUNER_XC5000 is not set
-# CONFIG_MEDIA_TUNER_MXL5005S is not set
-# CONFIG_MEDIA_TUNER_MXL5007T is not set
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-
-#
-# Encoders/decoders and other helper chips
-#
-
-#
-# Audio decoders
-#
-# CONFIG_VIDEO_TVAUDIO is not set
-# CONFIG_VIDEO_TDA7432 is not set
-# CONFIG_VIDEO_TDA9840 is not set
-# CONFIG_VIDEO_TDA9875 is not set
-# CONFIG_VIDEO_TEA6415C is not set
-# CONFIG_VIDEO_TEA6420 is not set
-# CONFIG_VIDEO_MSP3400 is not set
-# CONFIG_VIDEO_CS5345 is not set
-# CONFIG_VIDEO_CS53L32A is not set
-# CONFIG_VIDEO_M52790 is not set
-# CONFIG_VIDEO_TLV320AIC23B is not set
-# CONFIG_VIDEO_WM8775 is not set
-# CONFIG_VIDEO_WM8739 is not set
-# CONFIG_VIDEO_VP27SMPX is not set
-
-#
-# Video decoders
-#
-# CONFIG_VIDEO_OV7670 is not set
-CONFIG_VIDEO_OV96xx=m
-# CONFIG_VIDEO_TCM825X is not set
-# CONFIG_VIDEO_SAA711X is not set
-# CONFIG_VIDEO_SAA717X is not set
-# CONFIG_VIDEO_TVP5150 is not set
-
-#
-# Video and audio decoders
-#
-# CONFIG_VIDEO_CX25840 is not set
-
-#
-# MPEG video encoders
-#
-# CONFIG_VIDEO_CX2341X is not set
-
-#
-# Video encoders
-#
-# CONFIG_VIDEO_SAA7127 is not set
-# CONFIG_VIDEO_AD9889 is not set
-
-#
-# Video improvement chips
-#
-# CONFIG_VIDEO_UPD64031A is not set
-# CONFIG_VIDEO_UPD64083 is not set
-# CONFIG_VIDEO_VIVI is not set
-# CONFIG_VIDEO_SAA5246A is not set
-# CONFIG_VIDEO_SAA5249 is not set
-# CONFIG_V4L_USB_DRIVERS is not set
-CONFIG_SOC_CAMERA=m
-# CONFIG_SOC_CAMERA_MT9M001 is not set
-# CONFIG_SOC_CAMERA_MT9V022 is not set
-# CONFIG_SOC_CAMERA_PLATFORM is not set
-# CONFIG_VIDEO_SH_MOBILE_CEU is not set
-CONFIG_VIDEO_MX27=m
-# CONFIG_RADIO_ADAPTERS is not set
-# CONFIG_DAB is not set
-
-#
-# Graphics support
-#
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-# CONFIG_FB_SYS_FILLRECT is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_IMAGEBLIT is not set
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_IMX_SHARP_LQ043_TFT=y
-# CONFIG_FB_IMX_MICROTIPS_MTF_T035_TFT is not set
-# CONFIG_FB_IMX_SHARP_LQ057_TFT is not set
-# CONFIG_FB_IMX_OPTREX_F51900_CSTN is not set
-# CONFIG_FB_IMX_MOTOROLA_A910_TFT is not set
-CONFIG_FB_MXC=y
-
-#
-# MXC framebuffer options
-#
-CONFIG_FB_MXC_SYNC_PANEL=y
-# CONFIG_FB_MXC_OVERLAY is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_ILI9320 is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=m
-# CONFIG_BACKLIGHT_CORGI is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-# CONFIG_FONT_8x16 is not set
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_LOGO_ARMADEUS_CLUT224=y
-CONFIG_SOUND=m
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-# CONFIG_SND_SEQUENCER is not set
-# CONFIG_SND_MIXER_OSS is not set
-# CONFIG_SND_PCM_OSS is not set
-# CONFIG_SND_DYNAMIC_MINORS is not set
-CONFIG_SND_SUPPORT_OLD_API=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-CONFIG_SND_ARM=y
-CONFIG_SND_IMX2_PCM=m
-CONFIG_SND_IMX_TSC2102=m
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-# CONFIG_SND_USB_AUDIO is not set
-# CONFIG_SND_USB_CAIAQ is not set
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# CONFIG_HID_DEBUG is not set
-# CONFIG_HIDRAW is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_USB_HIDINPUT_POWERBOOK is not set
-# CONFIG_HID_FF is not set
-# CONFIG_USB_HIDDEV is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-# CONFIG_USB_ARCH_HAS_OHCI is not set
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB=y
-CONFIG_USB_DEBUG=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_OTG is not set
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-CONFIG_USB_MON=y
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-CONFIG_USB_EHCI_MXC=y
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=y
-CONFIG_USB_PRINTER=y
-CONFIG_USB_WDM=y
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# may also be needed; see USB_STORAGE Help for more information
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE...
[truncated message content] |
|
From: Julien B a. A. <ar...@us...> - 2011-04-21 15:30:37
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 7e5da6484308e2e7c7d12819cdbbcd6139556b4b (commit)
via 9489da839b45b77b093a647d48004764b896135c (commit)
from c660b96005f7e2454b21c7f7519a037385a02e80 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7e5da6484308e2e7c7d12819cdbbcd6139556b4b
Merge: 9489da839b45b77b093a647d48004764b896135c c660b96005f7e2454b21c7f7519a037385a02e80
Author: Julien Boibessot <jul...@ar...>
Date: Thu Apr 21 17:29:26 2011 +0200
Merge branch 'master' of ssh://artemys@armadeus.git.sourceforge.net/gitroot/armadeus/armadeus
commit 9489da839b45b77b093a647d48004764b896135c
Author: Julien Boibessot <jul...@ar...>
Date: Thu Apr 21 17:28:54 2011 +0200
[LINUX] Cleanup Armadeus custom drivers build
-----------------------------------------------------------------------
Summary of changes:
target/linux/modules/backlight/imx_bl_2.6.23.c | 5 -
target/linux/modules/fpga/POD/Makefile | 20 +--
target/linux/modules/fpga/POD/void/Makefile | 21 +--
.../fpga/dev_tools/loader/apf27-fpga-loader.c | 4 -
target/linux/modules/fpga/others/i2ctest/Makefile | 11 +-
target/linux/modules/fpga/others/i2ctest/i2ctest.c | 134 ++++++++++++++----
target/linux/modules/fpga/others/i2ctest/i2ctest.h | 152 --------------------
.../linux/modules/fpga/others/ps2keyboard/core.c | 11 +--
.../linux/modules/fpga/wishbone_example/Makefile | 9 +-
.../fpga/wishbone_example/wb_button/Makefile | 9 +-
.../wishbone_example/wb_button/board_buttons.c | 4 -
.../fpga/wishbone_example/wb_button/button.c | 31 ++++
.../fpga/wishbone_example/wb_button/button.h | 51 +-------
.../fpga/wishbone_example/wb_button/gbutton.c | 6 +-
.../fpga/wishbone_example/wb_irq_mngr/test.c | 4 +-
.../modules/fpga/wishbone_example/wb_led/Makefile | 17 +--
.../modules/fpga/wishbone_example/wb_led/led.h | 32 +----
.../modules/fpga/wishbone_example/wb_led/s_led.c | 44 +++----
target/linux/modules/imxlkeypad/imxkeypad.c | 7 -
target/linux/modules/isp1761/apf9328-isp1761.c | 5 -
target/linux/modules/isp1761/hal/isp1761.h | 2 -
target/linux/modules/isp1761/host/pehci.c | 25 +---
target/linux/modules/max1027/max1027.c | 13 +--
23 files changed, 197 insertions(+), 420 deletions(-)
delete mode 100644 target/linux/modules/fpga/others/i2ctest/i2ctest.h
diff --git a/target/linux/modules/backlight/imx_bl_2.6.23.c b/target/linux/modules/backlight/imx_bl_2.6.23.c
index a422bf9..9339708 100644
--- a/target/linux/modules/backlight/imx_bl_2.6.23.c
+++ b/target/linux/modules/backlight/imx_bl_2.6.23.c
@@ -19,13 +19,8 @@
#include <linux/fb.h>
#include <linux/backlight.h>
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-#include <asm/arch/imxfb.h> /* Backlight machinfo struct is defined here */
-#include <asm/arch/hardware.h>
-#else
#include <mach/imxfb.h> /* Backlight machinfo struct is defined here */
#include <mach/hardware.h>
-#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
#ifdef CONFIG_ARCH_IMX
diff --git a/target/linux/modules/fpga/POD/Makefile b/target/linux/modules/fpga/POD/Makefile
index 13274f1..2b97715 100644
--- a/target/linux/modules/fpga/POD/Makefile
+++ b/target/linux/modules/fpga/POD/Makefile
@@ -14,22 +14,14 @@ else
# Part executed when called from standard make in this directory:
-BASE_DIR:=../../../../buildroot/
-REL:=$(shell grep "BR2_PACKAGE_LINUX_VERSION=" $(BASE_DIR).config | sed -e 's/BR2_PACKAGE_LINUX_VERSION=//' | sed -e 's/"//g')
-#
-ARMADEUS_KERNEL_DIR:=$(BASE_DIR)build_arm/linux-$(REL)
-ifeq ($(LINUX_DIR),)
-LINUX_DIR:=$(ARMADEUS_KERNEL_DIR)
-endif
-PWD:= $(shell pwd)
+ARMADEUS_BASE_DIR=../../../../..
+include $(ARMADEUS_BASE_DIR)/Makefile.in
-default:
- echo "Your Linux source dir is: $(LINUX_DIR)"
- $(MAKE) -C $(LINUX_DIR) SUBDIRS=$(PWD) zImage modules
+KDIR := $(ARMADEUS_LINUX_DIR)
+PWD := $(shell pwd)
-clean:
- echo "Your Linux source dir is: $(LINUX_DIR)"
- $(MAKE) -C $(LINUX_DIR) SUBDIRS=$(PWD) clean
+# Armadeus custom drivers common targets (default, clean, etc...)
+include ../../Makefile.in
install:
echo "Installing Armadeus drivers..."
diff --git a/target/linux/modules/fpga/POD/void/Makefile b/target/linux/modules/fpga/POD/void/Makefile
index 654c9cd..775eaa1 100755
--- a/target/linux/modules/fpga/POD/void/Makefile
+++ b/target/linux/modules/fpga/POD/void/Makefile
@@ -7,23 +7,18 @@ ifneq ($(KERNELRELEASE),)
obj-$(CONFIG_POD_DRIVERS) += void.o
-# Part executed when called from standard make in this directory:
-# (preferably use Makefile in parent directory)
else
-BASE_DIR="../../../../../../buildroot/"
-REL=`grep "BR2_PACKAGE_LINUX_VERSION=" $(BASE_DIR).config | \
- sed "s/BR2_PACKAGE_LINUX_VERSION=\\"//" | sed "s/\\"//"`
-ARMADEUS_KERNEL_DIR=$(BASE_DIR)build_arm/linux-$(REL)
-KDIR := $(ARMADEUS_KERNEL_DIR)
-PWD := $(shell pwd)
+# Part executed when called from standard make in this directory:
+
+ARMADEUS_BASE_DIR=../../../../../../
+include $(ARMADEUS_BASE_DIR)/Makefile.in
-default:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+KDIR := $(ARMADEUS_LINUX_DIR)
+PWD := $(shell pwd)
-clean:
- rm -f *.*o
- rm -f Module.symvers
+# Armadeus custom drivers common targets (default, clean, etc...)
+include ../../../Makefile.in
endif
diff --git a/target/linux/modules/fpga/dev_tools/loader/apf27-fpga-loader.c b/target/linux/modules/fpga/dev_tools/loader/apf27-fpga-loader.c
index 6f51943..2c80a8e 100644
--- a/target/linux/modules/fpga/dev_tools/loader/apf27-fpga-loader.c
+++ b/target/linux/modules/fpga/dev_tools/loader/apf27-fpga-loader.c
@@ -30,10 +30,6 @@
#endif
#include <mach/gpio.h>
#include <mach/fpga.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
-#define mxc_gpio_setup_multiple_pins mxc_gpio_setup_multiple
-#define mxc_gpio_release_multiple_pins mxc_gpio_release_multiple
-#endif
#include "xilinx-fpga-loader.h"
diff --git a/target/linux/modules/fpga/others/i2ctest/Makefile b/target/linux/modules/fpga/others/i2ctest/Makefile
index 33b11a6..5d971e2 100755
--- a/target/linux/modules/fpga/others/i2ctest/Makefile
+++ b/target/linux/modules/fpga/others/i2ctest/Makefile
@@ -19,18 +19,13 @@ include $(ARMADEUS_BASE_DIR)/Makefile.in
KDIR := $(ARMADEUS_LINUX_DIR)
PWD := $(shell pwd)
-default:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
- cp i2ctest.ko /tftpboot/
+# Armadeus custom drivers common targets (default, clean, etc...)
+include ../../../Makefile.in
test:
- ~/armadeus/buildroot/build_arm/staging_dir/bin/arm-linux-gcc testi2ctest.c -o testi2ctest
+ $(ARMADEUS_TOOLCHAIN_PATH)/arm-linux-gcc testi2ctest.c -o testi2ctest
chmod 755 testi2ctest
cp testi2ctest /tftpboot/
-clean:
- rm -f *.*o \
- rm -f Module.symvers
-
endif
diff --git a/target/linux/modules/fpga/others/i2ctest/i2ctest.c b/target/linux/modules/fpga/others/i2ctest/i2ctest.c
index da60dda..61c7da1 100644
--- a/target/linux/modules/fpga/others/i2ctest/i2ctest.c
+++ b/target/linux/modules/fpga/others/i2ctest/i2ctest.c
@@ -21,12 +21,91 @@
**********************************************************************
*/
-#include "i2ctest.h"
+#include <linux/version.h>
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/proc_fs.h>
+#include <linux/ioport.h> /* request_mem_region */
+#include <linux/interrupt.h>
+#include <linux/proc_fs.h>
+
+#include <asm/io.h> /* readw() writew() */
+#include <mach/hardware.h>
+#include <asm/irq.h>
+
+/* Addresses */
+#define FPGA_IRQ_MASK (0x0)
+#define FPGA_IRQ_PEND (0x2)
+#define FPGA_IRQ_ACK (0x2)
+
+#define FPGA_BASE_ADDR (0x20)
+#define FPGA_I2C_PRESCLo (FPGA_BASE_ADDR+0x0)
+#define FPGA_I2C_PRESCHi (FPGA_BASE_ADDR+0x2)
+#define FPGA_I2C_CTR (FPGA_BASE_ADDR+0x4)
+#define FPGA_I2C_TXR (FPGA_BASE_ADDR+0xA)
+#define FPGA_I2C_RXR (FPGA_BASE_ADDR+0xE)
+#define FPGA_I2C_CR (FPGA_BASE_ADDR+0x8)
+#define FPGA_I2C_SR (FPGA_BASE_ADDR+0xC)
+
+/* Values */
+#define PRELo (0xBF)
+#define PREHi (0x00)
+
+/* read/write (accelerometer)*/
+#define ADDR (0x1D) /* lis3lv02dl */
+#define SUBADDR (0x16) /* OFFSET_X */
+#define VALUE (0xBB)
+
+/* irq position in irqmngr */
+#define IRQ (0x01)
+
+
+/* CTR register */
+#define I2C_EN (0x80)
+#define I2C_IEN (0x40)
+
+/* CR register */
+#define I2C_STA (0x80)
+#define I2C_STO (0x40)
+#define I2C_RD (0x20)
+#define I2C_WR (0x10)
+#define I2C_ACK (0x08)
+#define I2C_IACK (0x01)
+
+/* read/write bit */
+#define I2C_ADD_READ (0x01)
+#define I2C_ADD_WRITE (0x00)
+
+//#define LED_DEBUG
+#undef PDEBUG
+#ifdef LED_DEBUG
+# ifdef __KERNEL__
+ /* for kernel spage */
+# define PDEBUG(fmt,args...) printk(KERN_DEBUG "i2ctest : " fmt, ##args)
+# else
+ /* for user space */
+# define PDEBUG(fmt,args...) printk(stderr, fmt, ##args)
+# endif
+#else
+# define PDEBUG(fmt,args...) /* no debbuging message */
+#endif
+
+#define DRIVER_NAME "i2ctest"
+
+struct i2ctest_dev {
+ struct semaphore sem;
+ void * fpga_virtual_base_address;
+};
+
+struct i2ctest_dev *i2cdev;
+
+struct resource *mem; /* pointer to fpga led */
+
+static void free_all(void);
/***************************
* interrupt management
* *************************/
-
static irqreturn_t fpga_interrupt(int irq,void *stuff,struct pt_regs *reg){
static int count = 0;
u16 data;
@@ -34,7 +113,7 @@ static irqreturn_t fpga_interrupt(int irq,void *stuff,struct pt_regs *reg){
/***************/
/* write VALUE */
/***************/
- if(count == 0){
+ if (count == 0) {
/*read RxACK bit from Status Register, should be 0 */
ioread16(i2cdev->fpga_virtual_base_address + FPGA_I2C_SR);
/* write to Transmit sub address, set WR bit acknowledge interrupt*/
@@ -45,7 +124,7 @@ static irqreturn_t fpga_interrupt(int irq,void *stuff,struct pt_regs *reg){
/* acknowledge irq in irq manager*/
iowrite16(IRQ,i2cdev->fpga_virtual_base_address + FPGA_IRQ_ACK);
count++;
- }else if(count == 1){
+ } else if (count == 1) {
/*read RxACK bit from Status Register, should be 0 */
ioread16(i2cdev->fpga_virtual_base_address + FPGA_I2C_SR);
@@ -57,7 +136,7 @@ static irqreturn_t fpga_interrupt(int irq,void *stuff,struct pt_regs *reg){
/* acknowledge irq in irq manager*/
iowrite16(IRQ,i2cdev->fpga_virtual_base_address + FPGA_IRQ_ACK);
count ++;
- }else if(count == 2){
+ } else if (count == 2) {
/*read RxACK bit from Status Register, should be 0 */
ioread16(i2cdev->fpga_virtual_base_address + FPGA_I2C_SR);
/* write VALUE, set WR bit acknowledge interrupt*/
@@ -68,7 +147,7 @@ static irqreturn_t fpga_interrupt(int irq,void *stuff,struct pt_regs *reg){
/* acknowledge irq in irq manager*/
iowrite16(IRQ,i2cdev->fpga_virtual_base_address + FPGA_IRQ_ACK);
count++;
- }else if(count == 3){
+ } else if (count == 3) {
/*read RxACK bit from Status Register, should be 0 */
ioread16(i2cdev->fpga_virtual_base_address + FPGA_I2C_SR);
/* acknowledge interruption */
@@ -78,7 +157,7 @@ static irqreturn_t fpga_interrupt(int irq,void *stuff,struct pt_regs *reg){
iowrite16(IRQ,i2cdev->fpga_virtual_base_address + FPGA_IRQ_ACK);
count++;
- }else if(count == 4){/**************READ THE VALUE ****************/
+ } else if (count == 4) {/**************READ THE VALUE ****************/
/*read RxACK bit from Status Register, should be 0 */
ioread16(i2cdev->fpga_virtual_base_address + FPGA_I2C_SR);
@@ -90,7 +169,7 @@ static irqreturn_t fpga_interrupt(int irq,void *stuff,struct pt_regs *reg){
/* acknowledge irq in irq manager*/
iowrite16(IRQ,i2cdev->fpga_virtual_base_address + FPGA_IRQ_ACK);
count++;
- }else if(count == 5){
+ } else if (count == 5) {
/*read RxACK bit from Status Register, should be 0 */
ioread16(i2cdev->fpga_virtual_base_address + FPGA_I2C_SR);
/* write adress on TXR and CTR register repeated start, acknowledge interrupt*/
@@ -101,7 +180,7 @@ static irqreturn_t fpga_interrupt(int irq,void *stuff,struct pt_regs *reg){
/* acknowledge irq in irq manager*/
iowrite16(IRQ,i2cdev->fpga_virtual_base_address + FPGA_IRQ_ACK);
count++;
- }else if(count == 6){
+ } else if (count == 6) {
/* write on TXR and CTR register, set read bit,acknowledge interrupt*/
iowrite16(I2C_RD|I2C_ACK|I2C_IACK|I2C_STO,
i2cdev->fpga_virtual_base_address + FPGA_I2C_CR);
@@ -109,7 +188,7 @@ static irqreturn_t fpga_interrupt(int irq,void *stuff,struct pt_regs *reg){
/* acknowledge irq in irq manager*/
iowrite16(IRQ,i2cdev->fpga_virtual_base_address + FPGA_IRQ_ACK);
count++;
- }else if(count == 7){
+ } else if (count == 7) {
/*read RxACK bit from Status Register, should be 0 */
data = ioread16(i2cdev->fpga_virtual_base_address + FPGA_I2C_SR);
/* read the value */
@@ -137,25 +216,25 @@ static int read_proc(char *page,char **start,off_t offset,
PDEBUG("Trying to write %04x on i2c slave\n",VALUE);
/* unmask interrupt for i2c in interrupt manager*/
- iowrite16(IRQ,i2cdev->fpga_virtual_base_address + FPGA_IRQ_MASK);
+ iowrite16(IRQ, i2cdev->fpga_virtual_base_address + FPGA_IRQ_MASK);
/* set prescale */
- iowrite16(PRELo,i2cdev->fpga_virtual_base_address + FPGA_I2C_PRESCLo);
- PDEBUG("Write %04x at %04x\n",PRELo,FPGA_I2C_PRESCLo);
- iowrite16(PREHi,i2cdev->fpga_virtual_base_address + FPGA_I2C_PRESCHi);
- PDEBUG("Write %04x at %04x\n",PRELo,FPGA_I2C_PRESCHi);
+ iowrite16(PRELo, i2cdev->fpga_virtual_base_address + FPGA_I2C_PRESCLo);
+ PDEBUG("Write %04x at %04x\n", PRELo,FPGA_I2C_PRESCLo);
+ iowrite16(PREHi, i2cdev->fpga_virtual_base_address + FPGA_I2C_PRESCHi);
+ PDEBUG("Write %04x at %04x\n", PRELo,FPGA_I2C_PRESCHi);
/* set core enable and interrupt enable*/
iowrite16(I2C_EN|I2C_IEN,
i2cdev->fpga_virtual_base_address + FPGA_I2C_CTR);
- PDEBUG("Write %04x at %04x\n",I2C_EN|I2C_IEN,FPGA_I2C_CTR);
+ PDEBUG("Write %04x at %04x\n", I2C_EN|I2C_IEN,FPGA_I2C_CTR);
/* write slave adresse on TXR */
- iowrite16(ADDR<<1|I2C_ADD_WRITE,i2cdev->fpga_virtual_base_address + FPGA_I2C_TXR);
+ iowrite16(ADDR<<1|I2C_ADD_WRITE, i2cdev->fpga_virtual_base_address + FPGA_I2C_TXR);
/* and CTR register*/
iowrite16(I2C_STA|I2C_WR|I2C_IACK,
i2cdev->fpga_virtual_base_address+FPGA_I2C_CR);
- PDEBUG("Write %04x at %04x\n",I2C_STA|I2C_WR,FPGA_I2C_TXR);
+ PDEBUG("Write %04x at %04x\n", I2C_STA|I2C_WR,FPGA_I2C_TXR);
return 0;
}
@@ -166,7 +245,7 @@ static int read_proc2(char *page,char **start,off_t offset,int count,
PDEBUG("Trying to read on i2c slave\n");
/* write slave adresse on TXR*/
- iowrite16(ADDR<<1|I2C_ADD_WRITE,i2cdev->fpga_virtual_base_address + FPGA_I2C_TXR);
+ iowrite16(ADDR<<1|I2C_ADD_WRITE, i2cdev->fpga_virtual_base_address + FPGA_I2C_TXR);
/* write ctr register*/
iowrite16(I2C_ADD_WRITE|I2C_STA|I2C_WR|I2C_IACK,
i2cdev->fpga_virtual_base_address + FPGA_I2C_CR);
@@ -187,27 +266,26 @@ static int __init i2ctest_init(void){
/* Allocate a private structure and reference it as driver's data */
PDEBUG("Allocate a private structure and reference it as driver s data\n");
i2cdev = (struct i2ctest_dev *)kmalloc(sizeof(struct i2ctest_dev),GFP_KERNEL);
- if(i2cdev == NULL){
+ if (i2cdev == NULL) {
printk(KERN_WARNING "I2CDEV: unable to allocate private structure\n");
return -ENOMEM;
}
/* Requested I/O memory */
- if((i2cdev->fpga_virtual_base_address = ioremap(IMX_CS1_PHYS,IMX_CS1_SIZE))==NULL){
+ if ((i2cdev->fpga_virtual_base_address = ioremap(IMX_CS1_PHYS, IMX_CS1_SIZE)) == NULL) {
printk(KERN_ERR "ioremap error\n");
goto error;
}
/* irq registering */
- if(request_irq(IRQ_GPIOA(1),(irq_handler_t)fpga_interrupt,IRQF_SHARED,"fpga",i2cdev)<0){
+ if (request_irq(IRQ_GPIOA(1), (irq_handler_t)fpga_interrupt, IRQF_SHARED,"fpga", i2cdev) < 0) {
printk(KERN_ERR "Can't request fpga irq\n");
goto error;
}
//ioread16(i2cdev->fpga_virtual_base_address + FPGA_IRQ_ACK);
/* irq ack */
- data=IRQ;
- if((result=iowrite16(data,i2cdev->fpga_virtual_base_address + FPGA_IRQ_ACK))<0)
- goto error;
+ data = IRQ;
+ iowrite16(data, i2cdev->fpga_virtual_base_address + FPGA_IRQ_ACK);
/* create proc entry */
create_proc_read_entry("i2c_test",0 /* default mode */,
@@ -249,4 +327,10 @@ static void free_all(void){
printk(KERN_INFO "i2ctest module deleted\n");
}
+module_init(i2ctest_init);
+module_exit(i2ctest_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Fabien Marteau <fab...@ar...> - ARMadeus Systems");
+MODULE_DESCRIPTION("I2C tester");
diff --git a/target/linux/modules/fpga/others/i2ctest/i2ctest.h b/target/linux/modules/fpga/others/i2ctest/i2ctest.h
deleted file mode 100644
index b44b618..0000000
--- a/target/linux/modules/fpga/others/i2ctest/i2ctest.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/* i2ctest.h
- ***********************************************************************
- *
- * (c) Copyright 2008 Armadeus project
- * Fabien Marteau <fab...@ar...>
- * module for testing i2c_master fpga IP
- *
- * 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, 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- **********************************************************************
- --------------------------------------------
- * 18 mars 2008
- * initial version
- */
-
-#ifndef __I2CTEST_H_
-#define __I2CTEST_H_
-
-#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
-#include <linux/config.h>
-#endif
-
-/* for module */
-#include <linux/init.h>
-#include <linux/module.h>
-
-/* proc entry */
-#include <linux/proc_fs.h>
-
-/* request_mem_region */
-#include <linux/ioport.h>
-
-/* readw() writew() */
-#include <asm/io.h>
-
-/* hardware addresses */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-#include <asm/hardware.h>
-#else
-#include <mach/hardware.h>
-#endif
-
-/* interruptions */
-#include <linux/interrupt.h>
-#include <asm/irq.h>
-
-/* /proc */
-#include <linux/proc_fs.h>
-
-#endif
-
-/* for debugging messages*/
-//#define LED_DEBUG
-
-#undef PDEBUG
-#ifdef LED_DEBUG
-# ifdef __KERNEL__
- /* for kernel spage */
-# define PDEBUG(fmt,args...) printk(KERN_DEBUG "i2ctest : " fmt, ##args)
-# else
- /* for user space */
-# define PDEBUG(fmt,args...) printk(stderr, fmt, ##args)
-# endif
-#else
-# define PDEBUG(fmt,args...) /* no debbuging message */
-#endif
-
-/* Addresses */
-#define FPGA_IRQ_MASK (0x0)
-#define FPGA_IRQ_PEND (0x2)
-#define FPGA_IRQ_ACK (0x2)
-
-#define FPGA_BASE_ADDR (0x20)
-#define FPGA_I2C_PRESCLo (FPGA_BASE_ADDR+0x0)
-#define FPGA_I2C_PRESCHi (FPGA_BASE_ADDR+0x2)
-#define FPGA_I2C_CTR (FPGA_BASE_ADDR+0x4)
-#define FPGA_I2C_TXR (FPGA_BASE_ADDR+0xA)
-#define FPGA_I2C_RXR (FPGA_BASE_ADDR+0xE)
-#define FPGA_I2C_CR (FPGA_BASE_ADDR+0x8)
-#define FPGA_I2C_SR (FPGA_BASE_ADDR+0xC)
-
-/* Values */
-#define PRELo (0xBF)
-#define PREHi (0x00)
-
-/* read/write (accelerometer)*/
-#define ADDR (0x1D) /* lis3lv02dl */
-#define SUBADDR (0x16) /* OFFSET_X */
-#define VALUE (0xBB)
-
-/* irq position in irqmngr */
-#define IRQ (0x01)
-
-
-/* CTR register */
-#define I2C_EN (0x80)
-#define I2C_IEN (0x40)
-
-/* CR register */
-#define I2C_STA (0x80)
-#define I2C_STO (0x40)
-#define I2C_RD (0x20)
-#define I2C_WR (0x10)
-#define I2C_ACK (0x08)
-#define I2C_IACK (0x01)
-
-/* read/write bit */
-#define I2C_ADD_READ (0x01)
-#define I2C_ADD_WRITE (0x00)
-
-#define DRIVER_NAME "i2ctest"
-
-struct i2ctest_dev {
- struct semaphore sem;
- void * fpga_virtual_base_address;
-};
-
-struct resource *mem; /* pointer to fpga led */
-
-struct i2ctest_dev *i2cdev;
-
-static int __init i2ctest_init(void);
-static void __exit i2ctest_exit(void);
-
-static int read_proc(char *page, char **start, off_t offset,
- int count,int *eof,void *data);
-static int read_proc2(char *page,char **start,off_t offset,
- int count,int *eof,void *data);
-static void free_all(void);
-
-static irqreturn_t fpga_interrupt(int irq,void *stuff,
- struct pt_regs *reg);
-module_init(i2ctest_init);
-module_exit(i2ctest_exit);
-
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Fabien Marteau <fab...@ar...> - ARMadeus Systems");
-MODULE_DESCRIPTION("I2C tester");
-
-
diff --git a/target/linux/modules/fpga/others/ps2keyboard/core.c b/target/linux/modules/fpga/others/ps2keyboard/core.c
index db294fb..c236c51 100644
--- a/target/linux/modules/fpga/others/ps2keyboard/core.c
+++ b/target/linux/modules/fpga/others/ps2keyboard/core.c
@@ -18,14 +18,9 @@
#include <linux/module.h>
#include <linux/init.h>
#include <linux/serio.h>
-/* For pr_debug: */
-#include <linux/kernel.h>
+#include <linux/kernel.h> /* pr_debug */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-#include <asm/arch/imx-regs.h>
-#else
#include <mach/imx-regs.h>
-#endif
/* Linux Kernel uses virtual addresses linearly mapped to physical one, ex for CS1:
#define IMX_CS1_PHYS 0x12000000
@@ -119,11 +114,7 @@ static void apf9328keyboard_interrupt(unsigned long arg)
return(IRQ_HANDLED);
#else
-# if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
- serio_interrupt(apf9328keyboard_port, gBuffer, 0, 0);
-# else
serio_interrupt(apf9328keyboard_port, gBuffer, 0);
-# endif
status = FPGA_PS2_STATUS_REGISTER;
pr_debug(DRIVER_NAME ": status read 0x%x\n", status);
}
diff --git a/target/linux/modules/fpga/wishbone_example/Makefile b/target/linux/modules/fpga/wishbone_example/Makefile
index e007089..e127302 100644
--- a/target/linux/modules/fpga/wishbone_example/Makefile
+++ b/target/linux/modules/fpga/wishbone_example/Makefile
@@ -12,13 +12,8 @@ obj-$(CONFIG_ARMADEUS_WISHBONE_EXAMPLE_DRIVERS) += wb_button/ wb_irq_mngr/ wb
else
-default:
- echo "Your Linux source dir is: $(LINUX_DIR)"
- $(MAKE) -C $(LINUX_DIR) SUBDIRS=$(PWD) zImage modules
-
-clean:
- echo "Your Linux source dir is: $(LINUX_DIR)"
- $(MAKE) -C $(LINUX_DIR) SUBDIRS=$(PWD) clean
+# Armadeus custom drivers common targets (default, clean, etc...)
+include ../../../Makefile.in
install:
echo "Installing Armadeus drivers..."
diff --git a/target/linux/modules/fpga/wishbone_example/wb_button/Makefile b/target/linux/modules/fpga/wishbone_example/wb_button/Makefile
index 0328a81..cd2f2e0 100755
--- a/target/linux/modules/fpga/wishbone_example/wb_button/Makefile
+++ b/target/linux/modules/fpga/wishbone_example/wb_button/Makefile
@@ -14,16 +14,11 @@ include $(ARMADEUS_BASE_DIR)/Makefile.in
KDIR := $(ARMADEUS_LINUX_DIR)
PWD := $(shell pwd)
-default:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+# Armadeus custom drivers common targets (default, clean, etc...)
+include ../../../Makefile.in
test:
$(ARMADEUS_TOOLCHAIN_PATH)/arm-linux-gcc testbutton.c -o testbutton
-clean:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
- rm -f Module.markers \
- rm -f modules.order
-
endif
diff --git a/target/linux/modules/fpga/wishbone_example/wb_button/board_buttons.c b/target/linux/modules/fpga/wishbone_example/wb_button/board_buttons.c
index 3bff98c..345130d 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_button/board_buttons.c
+++ b/target/linux/modules/fpga/wishbone_example/wb_button/board_buttons.c
@@ -20,10 +20,6 @@
*/
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
-#include <linux/config.h>
-#endif
-
#include <linux/init.h>
#include <linux/module.h>
#include <linux/platform_device.h>
diff --git a/target/linux/modules/fpga/wishbone_example/wb_button/button.c b/target/linux/modules/fpga/wishbone_example/wb_button/button.c
index f998516..1e43ee0 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_button/button.c
+++ b/target/linux/modules/fpga/wishbone_example/wb_button/button.c
@@ -21,6 +21,37 @@
**********************************************************************
*/
+#include <linux/version.h>
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/cdev.h>
+#include <linux/semaphore.h>
+#include <linux/ioport.h> /* request_mem_region */
+#include <linux/jiffies.h>
+#include <linux/interrupt.h>
+#include <linux/wait.h>
+
+#include <asm/uaccess.h> /* copy_to_user function */
+#include <asm/io.h> /* readw() writew() */
+#include <mach/hardware.h>
+#include <asm/irq.h>
+
+/*#define BUTTON_DEBUG*/
+
+#undef PDEBUG
+#ifdef BUTTON_DEBUG
+# ifdef __KERNEL__
+ /* for kernel spage */
+# define PDEBUG(fmt,args...) printk(KERN_INFO "button : " fmt, ##args)
+# else
+ /* for user space */
+# define PDEBUG(fmt,args...) printk(stderr, fmt, ##args)
+# endif
+#else
+# define PDEBUG(fmt,args...) /* no debugging message */
+#endif
+
#include "button.h"
/* Internal read/write helpers */
diff --git a/target/linux/modules/fpga/wishbone_example/wb_button/button.h b/target/linux/modules/fpga/wishbone_example/wb_button/button.h
index 36e03f8..7135e2d 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_button/button.h
+++ b/target/linux/modules/fpga/wishbone_example/wb_button/button.h
@@ -25,61 +25,13 @@
#ifndef __BUTTON_H__
#define __BUTTON_H__
-#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
-#include <linux/config.h>
-#endif
-
-#include <linux/init.h>
-#include <linux/module.h>
-/* for file operations */
-#include <linux/fs.h>
-#include <linux/cdev.h>
-#include <asm/uaccess.h> /* copy_to_user function */
-#include <linux/ioport.h> /* request_mem_region */
-#include <asm/io.h> /* readw() writew() */
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-/* hardware addresses */
-# include <asm/hardware.h>
-# include <asm/semaphore.h>
-#else
-# include <mach/hardware.h>
-# include <linux/semaphore.h>
-#endif
-
-/* interruptions */
-#include <linux/interrupt.h>
-#include <asm/irq.h>
-#include <linux/wait.h>
-
-/* measure time */
-#include <linux/jiffies.h>
-#endif
-
-/* for debugging messages*/
-/*#define BUTTON_DEBUG*/
-
-#undef PDEBUG
-#ifdef BUTTON_DEBUG
-# ifdef __KERNEL__
- /* for kernel spage */
-# define PDEBUG(fmt,args...) printk(KERN_INFO "button : " fmt, ##args)
-# else
- /* for user space */
-# define PDEBUG(fmt,args...) printk(stderr, fmt, ##args)
-# endif
-#else
-# define PDEBUG(fmt,args...) /* no debugging message */
-#endif
-
#define BUTTON_NUMBER 1
#define BUTTON_REG_OFFSET (0x02)
#define BUTTON_ID_OFFSET (0x00)
/* platform device */
-struct plat_button_port{
+struct plat_button_port {
const char *name; /*instance name */
int interrupt_number; /* interrupt_number */
int num; /* instance number */
@@ -89,3 +41,4 @@ struct plat_button_port{
struct button_dev *sdev;/* struct for main device structure*/
};
+#endif /* __BUTTON_H__ */
diff --git a/target/linux/modules/fpga/wishbone_example/wb_button/gbutton.c b/target/linux/modules/fpga/wishbone_example/wb_button/gbutton.c
index 68fdf99..6eb9122 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_button/gbutton.c
+++ b/target/linux/modules/fpga/wishbone_example/wb_button/gbutton.c
@@ -27,6 +27,8 @@
#include <linux/fs.h> /* for file operations */
#include <linux/cdev.h>
#include <linux/ioport.h> /* request_mem_region */
+#include <linux/platform_device.h>
+#include <linux/interrupt.h>
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)
#include <linux/slab.h> /* kmalloc */
#endif
@@ -35,10 +37,6 @@
#include <asm/io.h> /* readw() writew() */
#include <mach/hardware.h>
-/* for platform device */
-#include <linux/platform_device.h>
-
-/* button */
#include "button.h"
diff --git a/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/test.c b/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/test.c
index 6b8bf1a..430e112 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/test.c
+++ b/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/test.c
@@ -22,12 +22,10 @@
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
-#include <linux/config.h>
-#endif
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
+
#include <asm/irq.h>
#ifdef CONFIG_MACH_APF27
#include <mach/fpga.h> /* To remove when MX1 platform merged*/
diff --git a/target/linux/modules/fpga/wishbone_example/wb_led/Makefile b/target/linux/modules/fpga/wishbone_example/wb_led/Makefile
index 041a63d..9653ff8 100755
--- a/target/linux/modules/fpga/wishbone_example/wb_led/Makefile
+++ b/target/linux/modules/fpga/wishbone_example/wb_led/Makefile
@@ -14,23 +14,12 @@ include $(ARMADEUS_BASE_DIR)/Makefile.in
KDIR := $(ARMADEUS_LINUX_DIR)
PWD := $(shell pwd)
-
-default:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+# Armadeus custom drivers common targets (default, clean, etc...)
+include ../../../Makefile.in
test:
- ~/armadeus/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -Wall testled.c -o testled
+ $(ARMADEUS_TOOLCHAIN_PATH)/arm-linux-gcc -Wall testled.c -o testled
chmod 755 testled
-clean:
- rm -f *.*o \
- rm -f *.mod.c \
- rm -f *.cmd \
- rm -f *.o.d \
- rm -f *.order \
- rm -f .*.cmd \
- rm -rf .tmp_versions \
- rm -f Module.symvers
-
endif
diff --git a/target/linux/modules/fpga/wishbone_example/wb_led/led.h b/target/linux/modules/fpga/wishbone_example/wb_led/led.h
index 97674c3..1c6802a 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_led/led.h
+++ b/target/linux/modules/fpga/wishbone_example/wb_led/led.h
@@ -24,40 +24,18 @@
#define __LED_H__
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
-#include <linux/config.h>
-#endif
-
-/* form module/drivers */
#include <linux/init.h>
#include <linux/module.h>
-
-/* for file operations */
#include <linux/fs.h>
#include <linux/cdev.h>
-
-/* copy_to_user function */
-#include <asm/uaccess.h>
-
-/* request_mem_region */
-#include <linux/ioport.h>
-
-/* readw() writew() */
-#include <asm/io.h>
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-/* hardware addresses */
-# include <asm/hardware.h>
-#else
-# include <mach/hardware.h>
-#endif
-
-/* for platform device */
+#include <linux/ioport.h> /* request_mem_region */
#include <linux/platform_device.h>
-/* for debugging messages*/
-#define LED_DEBUG
+#include <asm/uaccess.h> /* copy_to_user function */
+#include <asm/io.h> /* readw() writew() */
+#include <mach/hardware.h>
+#define LED_DEBUG
#undef PDEBUG
#ifdef LED_DEBUG
# ifdef __KERNEL__
diff --git a/target/linux/modules/fpga/wishbone_example/wb_led/s_led.c b/target/linux/modules/fpga/wishbone_example/wb_led/s_led.c
index 142d6f9..19c2e3f 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_led/s_led.c
+++ b/target/linux/modules/fpga/wishbone_example/wb_led/s_led.c
@@ -22,56 +22,48 @@
*/
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
-#include <linux/config.h>
-#endif
-
-/* form module/drivers */
#include <linux/init.h>
#include <linux/module.h>
-
-/* for platform device */
#include <linux/platform_device.h>
#include"led.h"
static struct plat_led_port plat_led_data[] = {
- {
- .name = "led0",
- .num = 0,
- .membase = 0x04
- },
- {
- .name = "led1",
- .num = 1,
- .membase = 0x06
- },
- { },
+ {
+ .name = "led0",
+ .num = 0,
+ .membase = 0x04
+ },
+ {
+ .name = "led1",
+ .num = 1,
+ .membase = 0x06
+ },
};
static struct platform_device plat_led_device = {
- .name = "led",
- .id = 0,
- .dev = {
- .platform_data = plat_led_data
- },
+ .name = "led",
+ .id = 0,
+ .dev = {
+ .platform_data = plat_led_data
+ },
};
static int __init sled_init(void)
{
- return platform_device_register(&plat_led_device);
+ return platform_device_register(&plat_led_device);
}
static void __exit sled_exit(void)
{
- platform_device_unregister(&plat_led_device);
+ platform_device_unregister(&plat_led_device);
}
module_init(sled_init);
module_exit(sled_exit);
MODULE_AUTHOR("Fabien Marteau <fab...@ar...>");
-MODULE_DESCRIPTION("Driver to blink blink some leds");
+MODULE_DESCRIPTION("Driver to blink blink some LEDs");
MODULE_LICENSE("GPL");
diff --git a/target/linux/modules/imxlkeypad/imxkeypad.c b/target/linux/modules/imxlkeypad/imxkeypad.c
index ad9709b..d8530d9 100644
--- a/target/linux/modules/imxlkeypad/imxkeypad.c
+++ b/target/linux/modules/imxlkeypad/imxkeypad.c
@@ -41,11 +41,7 @@
#include <asm/io.h>
#include <asm/irq.h>
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-#include <asm/arch/hardware.h>
-#else
#include <mach/hardware.h>
-#endif
MODULE_AUTHOR("Eric Jarrige");
MODULE_DESCRIPTION("i.MXL keypad driver");
@@ -242,9 +238,6 @@ static int __init imxkeypad_init(void)
imxkeypad.input->keycode = imxkeypad.keycode;
imxkeypad.input->keycodesize = sizeof(unsigned short);
imxkeypad.input->keycodemax = ARRAY_SIZE(imxkeypad_keycode);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
- imxkeypad.input->private = &imxkeypad; /* Usefull ? */
-#endif
imxkeypad.input->name = "imxkeypad";
imxkeypad.input->phys = imxkeypad.phys;
imxkeypad.input->id.bustype = BUS_HOST;
diff --git a/target/linux/modules/isp1761/apf9328-isp1761.c b/target/linux/modules/isp1761/apf9328-isp1761.c
index cac7d95..9d894c4 100644
--- a/target/linux/modules/isp1761/apf9328-isp1761.c
+++ b/target/linux/modules/isp1761/apf9328-isp1761.c
@@ -11,13 +11,8 @@
#include <linux/interrupt.h>
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-#include <asm/hardware.h>
-#include <asm/arch/imx-regs.h>
-#else
#include <mach/hardware.h>
#include <mach/imx-regs.h>
-#endif
int __init devfull_isp1761_init(void)
diff --git a/target/linux/modules/isp1761/hal/isp1761.h b/target/linux/modules/isp1761/hal/isp1761.h
index 645061f..be4a95d 100644
--- a/target/linux/modules/isp1761/hal/isp1761.h
+++ b/target/linux/modules/isp1761/hal/isp1761.h
@@ -226,8 +226,6 @@ do \
/*******************END FOR ALL CONTROLLERS*******************************/
#include <linux/version.h>
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
#define info(format, arg...) printk(KERN_INFO KBUILD_MODNAME ": " format "\n" , ## arg)
#define warn(format, arg...) printk(KERN_WARNING KBUILD_MODNAME ": " format "\n" , ## arg)
-#endif
diff --git a/target/linux/modules/isp1761/host/pehci.c b/target/linux/modules/isp1761/host/pehci.c
index c1c9653..003e370 100644
--- a/target/linux/modules/isp1761/host/pehci.c
+++ b/target/linux/modules/isp1761/host/pehci.c
@@ -774,11 +774,7 @@ pehci_hcd_urb_complete(phci_hcd *hcd,struct ehci_qh *qh, struct urb *urb,
urb->status = 0;
spin_unlock(&hcd->lock);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
- usb_hcd_giveback_urb (&hcd->usb_hcd, urb);
-#else
usb_hcd_giveback_urb (&hcd->usb_hcd, urb, urb->status);
-#endif
spin_lock(&hcd->lock);
/*lets handle to the remove case*/
@@ -1306,11 +1302,7 @@ void phcd_iso_handler(phci_hcd *hcd)
spin_unlock(&hcd->lock);
/* Perform URB cleanup */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
- usb_hcd_giveback_urb (&hcd->usb_hcd, urb);
-#else
usb_hcd_giveback_urb (&hcd->usb_hcd, urb, urb->status);
-#endif
spin_lock(&hcd->lock);
continue;
}/* if( last_td == TRUE ) */
@@ -2505,11 +2497,7 @@ pehci_hcd_stop(struct usb_hcd *usb_hcd)
/*submit urb , other than root hub*/
static int
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-pehci_hcd_urb_enqueue(struct usb_hcd *usb_hcd, struct usb_host_endpoint *ep, struct urb *urb, gfp_t mem_flags)
-#else
pehci_hcd_urb_enqueue(struct usb_hcd *usb_hcd, struct urb *urb, gfp_t mem_flags)
-#endif
{
struct list_head qtd_list;
@@ -2518,9 +2506,8 @@ pehci_hcd_urb_enqueue(struct usb_hcd *usb_hcd, struct urb *urb, gfp_t mem_flags)
int status = 0;
int temp = 0, max = 0,num_tds = 0,mult = 0;
urb_priv_t *urb_priv = NULL;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
struct usb_host_endpoint *ep = urb->ep;
-#endif
+
pehci_entry("++ %s: Entered\n",__FUNCTION__);
INIT_LIST_HEAD(&qtd_list);
urb->transfer_flags &= ~EHCI_STATE_UNLINK;
@@ -2662,17 +2649,9 @@ pehci_hcd_urb_enqueue(struct usb_hcd *usb_hcd, struct urb *urb, gfp_t mem_flags)
*---------------------------------------------*/
/*unlink urb*/
- static int
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-pehci_hcd_urb_dequeue(struct usb_hcd *usb_hcd, struct urb *urb)
-{
-
- int status = 0;
-#else
+static int
pehci_hcd_urb_dequeue(struct usb_hcd *usb_hcd, struct urb *urb, int status)
{
-
-#endif
td_ptd_map_buff_t *td_ptd_buf;
td_ptd_map_t *td_ptd_map;
struct ehci_qh *qh = 0;
diff --git a/target/linux/modules/max1027/max1027.c b/target/linux/modules/max1027/max1027.c
index dd31129..c781a54 100644
--- a/target/linux/modules/max1027/max1027.c
+++ b/target/linux/modules/max1027/max1027.c
@@ -27,16 +27,9 @@
#include <linux/fs.h>
#include <linux/errno.h>
#include <linux/types.h>
-#include <asm/uaccess.h> /* copy_to_user */
#include <linux/interrupt.h> /* request_irq */
#include <linux/version.h>
#include <linux/spi/max1027.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-#include <linux/cdev.h> /* struct class_device */
-#include <asm/arch/gpio.h>
-#else
-#include <mach/gpio.h>
-#endif
#include <linux/device.h>
#include <linux/err.h>
#include <linux/sysfs.h>
@@ -47,6 +40,8 @@
#include <linux/hwmon.h>
#endif
+#include <mach/gpio.h>
+#include <asm/uaccess.h> /* copy_to_user */
#define DRIVER_NAME "max1027"
#define DRIVER_VERSION "0.71"
@@ -98,11 +93,7 @@ struct adc_channel {
};
struct max1027 {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
- struct class_device *cdev;
-#else
struct device *cdev;
-#endif
struct mutex update_lock;
#define CONVERSION_RUNNING 0
hooks/post-receive
--
armadeus
|
|
From: Nicolas <th...@us...> - 2011-04-21 12:33:45
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via c660b96005f7e2454b21c7f7519a037385a02e80 (commit)
from d0cbf4c657ddf54f86704178a6311c8e31efd8d4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c660b96005f7e2454b21c7f7519a037385a02e80
Author: Nicolas Colombain <nic...@ar...>
Date: Thu Apr 21 14:33:24 2011 +0200
[U-BOOT] APF51 split fix high voltage nand sd patch
-----------------------------------------------------------------------
Summary of changes:
...boot-2010.03-411-Fix-high-voltage-nand-sd.patch | 65 --------------------
1 files changed, 0 insertions(+), 65 deletions(-)
diff --git a/buildroot/target/u-boot/u-boot-2010.03-411-Fix-high-voltage-nand-sd.patch b/buildroot/target/u-boot/u-boot-2010.03-411-Fix-high-voltage-nand-sd.patch
index 1a62b78..ea7c676 100644
--- a/buildroot/target/u-boot/u-boot-2010.03-411-Fix-high-voltage-nand-sd.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-411-Fix-high-voltage-nand-sd.patch
@@ -1,68 +1,3 @@
-diff -purN u-boot-2010.03.ori/board/armadeus/apf51/apf51.c u-boot-2010.03/board/armadeus/apf51/apf51.c
---- u-boot-2010.03.ori/board/armadeus/apf51/apf51.c 2011-01-25 22:43:23.000000000 +0100
-+++ u-boot-2010.03/board/armadeus/apf51/apf51.c 2011-02-04 00:21:21.000000000 +0100
-@@ -513,22 +513,61 @@ void setup_nfc(void)
- /*
- * Configure iomux for NFC interface
- */
-+#define NAND_PAD47K_CFG (PAD_CTL_DRV_VOT_HIGH | PAD_CTL_HYS_NONE | \
-+ PAD_CTL_PKE_ENABLE | PAD_CTL_47K_PU | \
-+ PAD_CTL_DRV_HIGH)
-+
-+#define NAND_PAD100K_CFG (PAD_CTL_DRV_VOT_HIGH | PAD_CTL_HYS_NONE | \
-+ PAD_CTL_PKE_ENABLE | PAD_CTL_100K_PU | \
-+ PAD_CTL_DRV_HIGH)
-+
- mxc_request_iomux(MX51_PIN_NANDF_WE_B, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_WE_B, NAND_PAD47K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_RE_B, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_RE_B, NAND_PAD47K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_ALE , IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_ALE , NAND_PAD47K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_CLE , IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_CLE , NAND_PAD47K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_WP_B, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_WP_B, NAND_PAD100K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_RB0 , IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_RB0 , PAD_CTL_DRV_VOT_HIGH |
-+ PAD_CTL_HYS_NONE | PAD_CTL_PKE_ENABLE |
-+ PAD_CTL_PUE_PULL | PAD_CTL_100K_PU);
-+
- mxc_request_iomux(MX51_PIN_NANDF_CS0, IOMUX_CONFIG_ALT0);
-
-+ /* MX51_PIN_NANDF_RDY_INT */
-+
- mxc_request_iomux(MX51_PIN_NANDF_D0, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_D0, NAND_PAD100K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_D1, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_D1, NAND_PAD100K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_D2, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_D2, NAND_PAD100K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_D3, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_D3, NAND_PAD100K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_D4, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_D4, NAND_PAD100K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_D5, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_D5, NAND_PAD100K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_D6, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_D6, NAND_PAD100K_CFG);
-+
- mxc_request_iomux(MX51_PIN_NANDF_D7, IOMUX_CONFIG_ALT0);
-+ mxc_iomux_set_pad(MX51_PIN_NANDF_D7, NAND_PAD100K_CFG);
-
- writel(0, NFC_IPC);
- NFC_SET_FW(1);
diff -purN u-boot-2010.03.ori/include/asm-arm/arch-mx51/asm-offsets.h u-boot-2010.03/include/asm-arm/arch-mx51/asm-offsets.h
--- u-boot-2010.03.ori/include/asm-arm/arch-mx51/asm-offsets.h 2011-01-25 22:43:22.000000000 +0100
+++ u-boot-2010.03/include/asm-arm/arch-mx51/asm-offsets.h 2011-02-03 23:08:33.000000000 +0100
hooks/post-receive
--
armadeus
|
|
From: Nicolas <th...@us...> - 2011-04-21 09:31:46
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via d0cbf4c657ddf54f86704178a6311c8e31efd8d4 (commit)
from d2486b3cf1804c035d90f5c3d505e591f4c19ddc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d0cbf4c657ddf54f86704178a6311c8e31efd8d4
Author: Nicolas Colombain <nic...@ar...>
Date: Thu Apr 21 11:31:16 2011 +0200
[U-BOOT] APF51 update for series boards
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf51_defconfig | 8 ++--
.../device/armadeus/apf51/apf51-u-boot-2010.03.h | 15 +++++-
.../target/u-boot/u-boot-2010.03-401-apf51.patch | 58 +++++++++++++++++---
3 files changed, 67 insertions(+), 14 deletions(-)
diff --git a/buildroot/configs/apf51_defconfig b/buildroot/configs/apf51_defconfig
index 462c1fc..a5f6101 100644
--- a/buildroot/configs/apf51_defconfig
+++ b/buildroot/configs/apf51_defconfig
@@ -59,7 +59,7 @@ BR2_BOARD_NAME="apf51"
BR2_BOARD_PATH="target/device/armadeus/$(BR2_BOARD_NAME)"
BR2_CPU_NAME="imx51"
BR2_TARGET_ARMADEUS_NR_SDRAM="1"
-BR2_TARGET_ARMADEUS_SDRAM_SIZE="128"
+BR2_TARGET_ARMADEUS_SDRAM_SIZE="256"
# BR2_TARGET_ARMLTD is not set
# BR2_TARGET_ATMEL is not set
# BR2_TARGET_KWIKBYTE is not set
@@ -80,9 +80,9 @@ BR2_TARGET_GENERIC_GETTY=y
# BR2_TARGET_GENERIC_GETTY_TTYSAC2 is not set
# BR2_TARGET_GENERIC_GETTY_TTYSAC3 is not set
# BR2_TARGET_GENERIC_GETTY_TTYMXC0 is not set
-BR2_TARGET_GENERIC_GETTY_TTYMXC1=y
-# BR2_TARGET_GENERIC_GETTY_TTYMXC2 is not set
-BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
+# BR2_TARGET_GENERIC_GETTY_TTYMXC1 is not set
+BR2_TARGET_GENERIC_GETTY_TTYMXC2=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc2"
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
diff --git a/buildroot/target/device/armadeus/apf51/apf51-u-boot-2010.03.h b/buildroot/target/device/armadeus/apf51/apf51-u-boot-2010.03.h
index d18fd86..bc72ae1 100644
--- a/buildroot/target/device/armadeus/apf51/apf51-u-boot-2010.03.h
+++ b/buildroot/target/device/armadeus/apf51/apf51-u-boot-2010.03.h
@@ -29,6 +29,9 @@
#define CONFIG_ENV_VERSION "0.4"
#define CONFIG_IDENT_STRING " apf51 patch 0.4"
+//#define APF51_PROTO
+//#define APF51_RECOVER
+
/* High Level Configuration Options */
#define CONFIG_ARMV7 1 /* This is armv7 Cortex-A8 CPU */
#define CONFIG_MX51 1 /* in a Freescale i.MX51 Chip */
@@ -59,7 +62,11 @@
* Select serial console configuration
*/
#define CONFIG_MXC_UART
+#ifdef APF51_PROTO
#define CONFIG_SYS_MX51_UART2 /* use UART2 for console */
+#else
+#define CONFIG_SYS_MX51_UART3 /* use UART3 for console */
+#endif
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
#define CONFIG_BAUDRATE 115200
@@ -124,7 +131,7 @@
#define CONFIG_BOOTARGS \
CONFIG_CONSOLE " root=/dev/mtdblock4 rootfstype=jffs2 " MTDPARTS_DEFAULT
-#define CONFIG_CONSOLE "console=ttymxc1,"MK_STR(CONFIG_BAUDRATE)
+#define CONFIG_CONSOLE "console=ttymxc2,"MK_STR(CONFIG_BAUDRATE)
#define CONFIG_MTDMAP "mxc_nand"
#define MTDIDS_DEFAULT "nand0=" CONFIG_MTDMAP
#define MTDPARTS_DEFAULT "mtdparts=" CONFIG_MTDMAP ":1M(U-boot)ro," \
@@ -453,7 +460,7 @@
* SDRAM Configs
*/
#define CONFIG_SYS_NR_DRAM_BANKS 1
-#define CONFIG_SYS_SDRAM_MBYTE_SYZE 128
+#define CONFIG_SYS_SDRAM_MBYTE_SYZE 256
#define CONFIG_SYS_SDRAM_TYPE_MDDR
#define CONFIG_SYS_SDRAM_1_BASE CSD0_BASE_ADDR /* SDRAM bank #1 */
@@ -1132,3 +1139,7 @@
#endif /* __CONFIG_H */
+#ifdef CONFIG_BOARD_NAME
+#undef CONFIG_BOARD_NAME
+#endif
+#define CONFIG_BOARD_NAME apf51
diff --git a/buildroot/target/u-boot/u-boot-2010.03-401-apf51.patch b/buildroot/target/u-boot/u-boot-2010.03-401-apf51.patch
index 0f09eab..b72597d 100644
--- a/buildroot/target/u-boot/u-boot-2010.03-401-apf51.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-401-apf51.patch
@@ -2,7 +2,7 @@ Index: u-boot-2010.03/board/armadeus/apf51/apf51.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot-2010.03/board/armadeus/apf51/apf51.c 2011-01-05 18:11:15.000000000 +0100
-@@ -0,0 +1,1109 @@
+@@ -0,0 +1,1151 @@
+/*
+ * (C) Copyright 2010 Eric Jarrige, Armadeus Project
+ *
@@ -198,18 +198,21 @@ Index: u-boot-2010.03/board/armadeus/apf51/apf51.c
+ /*
+ * uart3
+ */
-+ mxc_request_iomux(MX51_PIN_UART3_RXD, IOMUX_CONFIG_ALT0);
-+ mxc_request_iomux(MX51_PIN_UART3_TXD, IOMUX_CONFIG_ALT0);
-+ mxc_request_iomux(MX51_PIN_EIM_D27, IOMUX_CONFIG_ALT3);
-+ mxc_request_iomux(MX51_PIN_EIM_D24, IOMUX_CONFIG_ALT3);
++#ifdef APF51_RECOVER // temporary
++ mxc_request_iomux(MX51_PIN_AUD3_BB_RXD, IOMUX_CONFIG_ALT1);
++ mxc_request_iomux(MX51_PIN_AUD3_BB_FS, IOMUX_CONFIG_ALT1);
++ mxc_iomux_set_pad(MX51_PIN_AUD3_BB_RXD, UART_PAD_CFG);
++ mxc_iomux_set_pad(MX51_PIN_AUD3_BB_FS, UART_PAD_CFG);
++ mxc_iomux_set_input(MUX_IN_UART3_IPP_UART_RXD_MUX_SELECT_INPUT,INPUT_CTL_PATH2);dddd
++#else
++ mxc_request_iomux(MX51_PIN_UART3_RXD, IOMUX_CONFIG_ALT1);
++ mxc_request_iomux(MX51_PIN_UART3_TXD, IOMUX_CONFIG_ALT1);
+
+ mxc_iomux_set_pad(MX51_PIN_UART3_RXD, UART_PAD_CFG);
+ mxc_iomux_set_pad(MX51_PIN_UART3_TXD, UART_PAD_CFG);
-+ mxc_iomux_set_pad(MX51_PIN_EIM_D27, UART_PAD_CFG);
-+ mxc_iomux_set_pad(MX51_PIN_EIM_D24, UART_PAD_CFG);
+
-+ mxc_iomux_set_input(MUX_IN_UART3_IPP_UART_RTS_B_SELECT_INPUT,INPUT_CTL_PATH3);
+ mxc_iomux_set_input(MUX_IN_UART3_IPP_UART_RXD_MUX_SELECT_INPUT,INPUT_CTL_PATH4);
++#endif
+}
+
+void setup_audio(void)
@@ -518,22 +521,61 @@ Index: u-boot-2010.03/board/armadeus/apf51/apf51.c
+ /*
+ * Configure iomux for NFC interface
+ */
++#define NAND_PAD47K_CFG (PAD_CTL_DRV_VOT_HIGH | PAD_CTL_HYS_NONE | \
++ PAD_CTL_PKE_ENABLE | PAD_CTL_47K_PU | \
++ PAD_CTL_DRV_HIGH)
++
++#define NAND_PAD100K_CFG (PAD_CTL_DRV_VOT_HIGH | PAD_CTL_HYS_NONE | \
++ PAD_CTL_PKE_ENABLE | PAD_CTL_100K_PU | \
++ PAD_CTL_DRV_HIGH)
++
+ mxc_request_iomux(MX51_PIN_NANDF_WE_B, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_WE_B, NAND_PAD47K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_RE_B, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_RE_B, NAND_PAD47K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_ALE , IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_ALE , NAND_PAD47K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_CLE , IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_CLE , NAND_PAD47K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_WP_B, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_WP_B, NAND_PAD100K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_RB0 , IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_RB0 , PAD_CTL_DRV_VOT_HIGH |
++ PAD_CTL_HYS_NONE | PAD_CTL_PKE_ENABLE |
++ PAD_CTL_PUE_PULL | PAD_CTL_100K_PU);
++
+ mxc_request_iomux(MX51_PIN_NANDF_CS0, IOMUX_CONFIG_ALT0);
+
++ /* MX51_PIN_NANDF_RDY_INT */
++
+ mxc_request_iomux(MX51_PIN_NANDF_D0, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_D0, NAND_PAD100K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_D1, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_D1, NAND_PAD100K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_D2, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_D2, NAND_PAD100K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_D3, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_D3, NAND_PAD100K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_D4, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_D4, NAND_PAD100K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_D5, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_D5, NAND_PAD100K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_D6, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_D6, NAND_PAD100K_CFG);
++
+ mxc_request_iomux(MX51_PIN_NANDF_D7, IOMUX_CONFIG_ALT0);
++ mxc_iomux_set_pad(MX51_PIN_NANDF_D7, NAND_PAD100K_CFG);
+
+ writel(0, NFC_IPC);
+ NFC_SET_FW(1);
hooks/post-receive
--
armadeus
|
|
From: Nicolas <th...@us...> - 2011-04-20 08:53:09
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via d2486b3cf1804c035d90f5c3d505e591f4c19ddc (commit)
from 19110742d07cfe782ca20290aec5adc9f0189730 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d2486b3cf1804c035d90f5c3d505e591f4c19ddc
Author: Nicolas Colombain <nic...@ar...>
Date: Wed Apr 20 10:52:07 2011 +0200
[U-BOOT] APF51 fix ethernet reset
-----------------------------------------------------------------------
Summary of changes:
.../target/u-boot/u-boot-2010.03-401-apf51.patch | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/buildroot/target/u-boot/u-boot-2010.03-401-apf51.patch b/buildroot/target/u-boot/u-boot-2010.03-401-apf51.patch
index 774505d..0f09eab 100644
--- a/buildroot/target/u-boot/u-boot-2010.03-401-apf51.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-401-apf51.patch
@@ -666,7 +666,6 @@ Index: u-boot-2010.03/board/armadeus/apf51/apf51.c
+ /* Ethernet PHY Reset */
+ imx_gpio_pin_set(CONFIG_SYS_PHY_RESET_GPIO,0);
+ imx_gpio_pin_cfg_dir(CONFIG_SYS_PHY_RESET_GPIO, 1);
-+ imx_gpio_pin_set(CONFIG_SYS_PHY_RESET_GPIO,1);
+
+ /* FEC TX_ER muxed with DI_GP3 */
+ mxc_request_iomux(MX51_PIN_DI_GP3, IOMUX_CONFIG_ALT2);
@@ -753,6 +752,7 @@ Index: u-boot-2010.03/board/armadeus/apf51/apf51.c
+ mxc_iomux_set_input(MUX_IN_FEC_FEC_RX_ER_SELECT_INPUT, INPUT_CTL_PATH1);
+ mxc_iomux_set_input(MUX_IN_FEC_FEC_TX_CLK_SELECT_INPUT, INPUT_CTL_PATH1);
+
++ imx_gpio_pin_set(CONFIG_SYS_PHY_RESET_GPIO,1);
+#endif
+}
+
hooks/post-receive
--
armadeus
|
|
From: Fabien M <fa...@us...> - 2011-04-20 08:28:13
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 19110742d07cfe782ca20290aec5adc9f0189730 (commit)
from 520e9e1ff5ca76065d01e4aa5cf15375db9a4119 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 19110742d07cfe782ca20290aec5adc9f0189730
Author: Fabien Marteau <fab...@ar...>
Date: Wed Apr 20 09:13:48 2011 +0200
[buildroot] put patch 147 in the right place
-----------------------------------------------------------------------
Summary of changes:
...147-ngirc-adding_irc_server_ngirc_package.patch | 0
1 files changed, 0 insertions(+), 0 deletions(-)
rename patches/{ => buildroot/2010.11}/147-ngirc-adding_irc_server_ngirc_package.patch (100%)
diff --git a/patches/147-ngirc-adding_irc_server_ngirc_package.patch b/patches/buildroot/2010.11/147-ngirc-adding_irc_server_ngirc_package.patch
similarity index 100%
rename from patches/147-ngirc-adding_irc_server_ngirc_package.patch
rename to patches/buildroot/2010.11/147-ngirc-adding_irc_server_ngirc_package.patch
hooks/post-receive
--
armadeus
|
|
From: Fabien M <fa...@us...> - 2011-04-20 06:58:22
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 520e9e1ff5ca76065d01e4aa5cf15375db9a4119 (commit)
from 887a18b5a526ab80e53da94a9963e95dc3943438 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 520e9e1ff5ca76065d01e4aa5cf15375db9a4119
Author: Fabien Marteau <fab...@ar...>
Date: Wed Apr 20 08:57:44 2011 +0200
[buildroot] Adding ngircd IRC server
-----------------------------------------------------------------------
Summary of changes:
...147-ngirc-adding_irc_server_ngirc_package.patch | 41 ++++++++++++++++++++
1 files changed, 41 insertions(+), 0 deletions(-)
create mode 100644 patches/147-ngirc-adding_irc_server_ngirc_package.patch
diff --git a/patches/147-ngirc-adding_irc_server_ngirc_package.patch b/patches/147-ngirc-adding_irc_server_ngirc_package.patch
new file mode 100644
index 0000000..ca249f0
--- /dev/null
+++ b/patches/147-ngirc-adding_irc_server_ngirc_package.patch
@@ -0,0 +1,41 @@
+Adding ngircd irc server package
+
+Signed-off-by : Fabien Marteau <fab...@ar...>
+---
+Index: buildroot/package/Config.in
+===================================================================
+--- buildroot.orig/package/Config.in 2011-04-19 18:50:02.000000000 +0200
++++ buildroot/package/Config.in 2011-04-19 18:58:59.000000000 +0200
+@@ -431,6 +431,7 @@
+ source "package/netsnmp/Config.in"
+ source "package/netstat-nat/Config.in"
+ source "package/nfs-utils/Config.in"
++source "package/ngircd/Config.in"
+ source "package/ntp/Config.in"
+ source "package/nuttcp/Config.in"
+ source "package/olsr/Config.in"
+Index: buildroot/package/ngircd/Config.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot/package/ngircd/Config.in 2011-04-19 18:50:02.000000000 +0200
+@@ -0,0 +1,4 @@
++config BR2_PACKAGE_NGIRCD
++ bool "ngircd"
++ help
++ irc server deamon.
+Index: buildroot/package/ngircd/ngircd.mk
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot/package/ngircd/ngircd.mk 2011-04-19 19:07:52.000000000 +0200
+@@ -0,0 +1,11 @@
++#############################################################
++#
++# ngIRCd: Next Generation IRC Daemon
++#
++#############################################################
++NGIRCD_VERSION = 17.1
++NGIRCD_SOURCE = ngircd-17.1.tar.gz
++NGIRCD_SITE = ftp://ftp.berlios.de/pub/ngircd/
++NGIRCD_CONF_OPT =
++
++$(eval $(call AUTOTARGETS,package,ngircd))
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2011-04-19 13:37:09
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 887a18b5a526ab80e53da94a9963e95dc3943438 (commit)
from b85ea37b813d32977faca157f3d97b7ff21f312c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 887a18b5a526ab80e53da94a9963e95dc3943438
Author: Julien Boibessot <jul...@ar...>
Date: Tue Apr 19 15:36:38 2011 +0200
Updates armadeus-version
-----------------------------------------------------------------------
Summary of changes:
.../rootfs/target_skeleton/etc/armadeus-version | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/buildroot/target/device/armadeus/rootfs/target_skeleton/etc/armadeus-version b/buildroot/target/device/armadeus/rootfs/target_skeleton/etc/armadeus-version
index 6f973d4..cb3b57c 100644
--- a/buildroot/target/device/armadeus/rootfs/target_skeleton/etc/armadeus-version
+++ b/buildroot/target/device/armadeus/rootfs/target_skeleton/etc/armadeus-version
@@ -1 +1 @@
-3.4-git
+4.0-alpha-git
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2011-04-19 13:18:17
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via b85ea37b813d32977faca157f3d97b7ff21f312c (commit)
from 6dd7e986d6f405c3c4b0a513386d7367e2f22353 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b85ea37b813d32977faca157f3d97b7ff21f312c
Author: Julien Boibessot <jul...@ar...>
Date: Tue Apr 19 15:12:59 2011 +0200
[LINUX] Cleanup Armadeus custom drivers build
-----------------------------------------------------------------------
Summary of changes:
target/linux/modules/Makefile | 9 +-
target/linux/modules/Makefile.in | 3 +-
target/linux/modules/backlight/Makefile | 7 +-
target/linux/modules/backlight/imx_bl_2.6.1x.c | 175 ---
target/linux/modules/fpga/dev_tools/Makefile | 9 +-
.../linux/modules/fpga/dev_tools/loader/Makefile | 8 +-
target/linux/modules/pwm/Makefile | 7 +-
target/linux/modules/pwm/core.c | 1335 --------------------
target/linux/modules/pwm/pwm.c | 8 +-
9 files changed, 14 insertions(+), 1547 deletions(-)
delete mode 100644 target/linux/modules/backlight/imx_bl_2.6.1x.c
delete mode 100755 target/linux/modules/pwm/core.c
diff --git a/target/linux/modules/Makefile b/target/linux/modules/Makefile
index e075544..893d6d8 100755
--- a/target/linux/modules/Makefile
+++ b/target/linux/modules/Makefile
@@ -24,13 +24,8 @@ endif
KDIR := $(LINUX_DIR)
PWD := $(shell pwd)
-default:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) ARCH=arm CROSS_COMPILE=$(PWD)/$(ARMADEUS_TOOLCHAIN_PATH)/arm-linux- modules
-
-DIRS := $(shell ls)
-clean:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
- for directory in $(DIRS); do if [ -d "$$directory" ] && [ ! -L "$$directory" ]; then $(MAKE) -C $$directory clean; fi ; done
+# Armadeus custom drivers common targets (default, clean, etc...)
+include ./Makefile.in
install:
echo "Installing Armadeus drivers..."
diff --git a/target/linux/modules/Makefile.in b/target/linux/modules/Makefile.in
index 550db8f..0403e3b 100755
--- a/target/linux/modules/Makefile.in
+++ b/target/linux/modules/Makefile.in
@@ -1,10 +1,9 @@
#
# Helpers Makefile for the Armadeus drivers
#
-#
default:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+ $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) ARCH=arm CROSS_COMPILE=$(PWD)/$(ARMADEUS_TOOLCHAIN_PATH)/arm-linux- modules
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
diff --git a/target/linux/modules/backlight/Makefile b/target/linux/modules/backlight/Makefile
index 75b5487..a579fbf 100644
--- a/target/linux/modules/backlight/Makefile
+++ b/target/linux/modules/backlight/Makefile
@@ -6,12 +6,7 @@
ifneq ($(KERNELRELEASE),)
obj-$(CONFIG_IMX_BACKLIGHT) += imx_bl.o
-
-ifeq ($(KERNELVERSION),2.6.18.1)
- imx_bl-objs := imx_bl_2.6.1x.o
-else
- imx_bl-objs := imx_bl_2.6.23.o
-endif
+imx_bl-objs := imx_bl_2.6.23.o
# Part executed when called from standard make in this directory:
# (preferably use Makefile in parent directory)
diff --git a/target/linux/modules/backlight/imx_bl_2.6.1x.c b/target/linux/modules/backlight/imx_bl_2.6.1x.c
deleted file mode 100644
index 5e8188d..0000000
--- a/target/linux/modules/backlight/imx_bl_2.6.1x.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Backlight Driver for i.MXL based platform (for 2.6.1x kernels)
- *
- * Copyright (c) 2007 Julien Boibessot - Armadeus Project
- *
- * Based on Backlight Driver for Sharp Zaurus Handhelds
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- */
-
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/mutex.h>
-#include <linux/fb.h>
-#include <linux/backlight.h>
-#include <asm/arch/imxfb.h> // Backlight machinfo struct is defined here
-#include <asm/arch/imx-regs.h>
-
-
-static int imxbl_intensity;
-static DEFINE_MUTEX(bl_mutex);
-static struct backlight_properties imxbl_data;
-static struct backlight_device *imx_backlight_device;
-static struct imxbl_machinfo *bl_machinfo;
-
-static unsigned long imxbl_flags;
-#define IMXBL_SUSPENDED 0x01
-#define IMXBL_BATTLOW 0x02
-
-static int imxbl_send_intensity(struct backlight_device *bd)
-{
- int intensity = bd->props->brightness;
- unsigned long shadow = 0;
-
- if (bd->props->power != FB_BLANK_UNBLANK)
- intensity = 0;
- if (bd->props->fb_blank != FB_BLANK_UNBLANK)
- intensity = 0;
- if (imxbl_flags & IMXBL_SUSPENDED)
- intensity = 0;
- if (imxbl_flags & IMXBL_BATTLOW)
- intensity &= bl_machinfo->limit_mask;
-
- mutex_lock(&bl_mutex);
- if( bl_machinfo->set_bl_intensity ) {
- bl_machinfo->set_bl_intensity(intensity);
- } else {
- shadow = LCDC_PWMR;
- shadow &= 0xffffff00;
- shadow |= PWMR_PW(intensity);
- LCDC_PWMR = shadow;
- printk("Setting backlight intensity to %d\n", intensity);
- }
- mutex_unlock(&bl_mutex);
-
- imxbl_intensity = intensity;
-
- return 0;
-}
-
-#ifdef CONFIG_PM
-static int imxbl_suspend(struct platform_device *dev, pm_message_t state)
-{
- imxbl_flags |= IMXBL_SUSPENDED;
- imxbl_send_intensity(imx_backlight_device);
- return 0;
-}
-
-static int imxbl_resume(struct platform_device *dev)
-{
- imxbl_flags &= ~IMXBL_SUSPENDED;
- imxbl_send_intensity(imx_backlight_device);
- return 0;
-}
-#else
-#define imxbl_suspend NULL
-#define imxbl_resume NULL
-#endif
-
-static int imxbl_get_intensity(struct backlight_device *bd)
-{
- return imxbl_intensity;
-}
-
-static int imxbl_set_intensity(struct backlight_device *bd)
-{
- imxbl_send_intensity(imx_backlight_device);
- return 0;
-}
-
-/*
- * Called when the battery is low to limit the backlight intensity.
- * If limit==0 clear any limit, otherwise limit the intensity
- */
-void imxbl_limit_intensity(int limit)
-{
- if (limit)
- imxbl_flags |= IMXBL_BATTLOW;
- else
- imxbl_flags &= ~IMXBL_BATTLOW;
- imxbl_send_intensity(imx_backlight_device);
-}
-EXPORT_SYMBOL(imxbl_limit_intensity);
-
-
-static struct backlight_properties imxbl_data = {
- .owner = THIS_MODULE,
- .get_brightness = imxbl_get_intensity,
- .update_status = imxbl_set_intensity,
-};
-
-static int imxbl_probe(struct platform_device *pdev)
-{
- struct imxbl_machinfo *machinfo = pdev->dev.platform_data;
-
- bl_machinfo = machinfo;
- imxbl_data.max_brightness = machinfo->max_intensity;
- if (!machinfo->limit_mask)
- machinfo->limit_mask = -1;
-
- imx_backlight_device = backlight_device_register ("imxl-bl",
- NULL, &imxbl_data);
- if (IS_ERR (imx_backlight_device))
- {
- printk("Error imxBL\n");
- return PTR_ERR (imx_backlight_device);
- }
-
- imxbl_data.power = FB_BLANK_UNBLANK;
- imxbl_data.brightness = machinfo->default_intensity;
- imxbl_send_intensity(imx_backlight_device);
-
- printk("i.MXL Backlight Driver Initialized.\n");
- return 0;
-}
-
-static int imxbl_remove(struct platform_device *dev)
-{
- backlight_device_unregister(imx_backlight_device);
-
- printk("i.MXL Backlight Driver Unloaded\n");
- return 0;
-}
-
-static struct platform_driver imxbl_driver = {
- .probe = imxbl_probe,
- .remove = imxbl_remove,
- .suspend = imxbl_suspend,
- .resume = imxbl_resume,
- .driver = {
- .name = "imxl-bl",
- },
-};
-
-static int __init imxbl_init(void)
-{
- return platform_driver_register(&imxbl_driver);
-}
-
-static void __exit imxbl_exit(void)
-{
- platform_driver_unregister(&imxbl_driver);
-}
-
-module_init(imxbl_init);
-module_exit(imxbl_exit);
-
-MODULE_AUTHOR("Julien Boibessot <jul...@ar...>");
-MODULE_DESCRIPTION("i.MXL Backlight Driver");
-MODULE_LICENSE("GPL");
diff --git a/target/linux/modules/fpga/dev_tools/Makefile b/target/linux/modules/fpga/dev_tools/Makefile
index 8b043df..3db20fa 100644
--- a/target/linux/modules/fpga/dev_tools/Makefile
+++ b/target/linux/modules/fpga/dev_tools/Makefile
@@ -22,13 +22,8 @@ LINUX_DIR:=$(ARMADEUS_LINUX_DIR)
endif
PWD:= $(shell pwd)
-default:
- echo "Your Linux source dir is: $(LINUX_DIR)"
- $(MAKE) -C $(LINUX_DIR) SUBDIRS=$(PWD) zImage modules
-
-clean:
- echo "Your Linux source dir is: $(LINUX_DIR)"
- $(MAKE) -C $(LINUX_DIR) SUBDIRS=$(PWD) clean
+# Armadeus custom drivers common targets (default, clean, etc...)
+include ../../Makefile.in
install:
echo "Installing Armadeus drivers..."
diff --git a/target/linux/modules/fpga/dev_tools/loader/Makefile b/target/linux/modules/fpga/dev_tools/loader/Makefile
index 5d86220..1d5326d 100644
--- a/target/linux/modules/fpga/dev_tools/loader/Makefile
+++ b/target/linux/modules/fpga/dev_tools/loader/Makefile
@@ -21,12 +21,8 @@ include $(ARMADEUS_BASE_DIR)/Makefile.in
KDIR := $(ARMADEUS_LINUX_DIR)
PWD := $(shell pwd)
-default:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+# Armadeus custom drivers common targets (default, clean, etc...)
+include ../Makefile.in
-clean:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
- rm -f modules.order Module.markers
-
endif
diff --git a/target/linux/modules/pwm/Makefile b/target/linux/modules/pwm/Makefile
index 331696a..61cba80 100755
--- a/target/linux/modules/pwm/Makefile
+++ b/target/linux/modules/pwm/Makefile
@@ -6,12 +6,7 @@
ifneq ($(KERNELRELEASE),)
obj-$(CONFIG_ARMADEUS_PWM_DRIVER) += imx-pwm.o
-
-ifeq ($(KERNELVERSION),2.6.23.1)
- imx-pwm-objs := core.o
-else
- imx-pwm-objs := pwm.o
-endif
+imx-pwm-objs := pwm.o
# Part executed when called from standard make in this directory:
# (preferably use Makefile in parent directory)
diff --git a/target/linux/modules/pwm/core.c b/target/linux/modules/pwm/core.c
deleted file mode 100755
index e00780b..0000000
--- a/target/linux/modules/pwm/core.c
+++ /dev/null
@@ -1,1335 +0,0 @@
-/*
- *
- * Driver for the i.MXl PWM driver
- *
- * This driver is part of the Armadeus project and is the merge of a lot of ideas
- * found on the Web.
- *
- * 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
- *
- *
- */
-//#define DEBUG 1
-
-#include <linux/module.h>
-#include <linux/version.h>
-
-#include <linux/init.h>
-#include <linux/fs.h>
-#include <linux/delay.h>
-#include <linux/poll.h>
-#include <asm/uaccess.h> /* get_user,copy_to_user */
-#include <linux/miscdevice.h>
-
-#include <linux/string.h>
-#include <linux/kernel.h>
-#include <linux/timer.h>
-#include <linux/sched.h>
-#include <linux/types.h>
-#include <linux/fcntl.h>
-#include <linux/interrupt.h>
-#include <linux/slab.h>
-#include <linux/vmalloc.h>
-#include <linux/string.h>
-#include <linux/init.h>
-#include <asm/bitops.h>
-#include <asm/io.h>
-#include <linux/errno.h>
-#include <linux/wait.h>
-#include <linux/pm.h>
-// For /sys
-#include <linux/sysdev.h>
-// For struct class
-#include <linux/device.h>
-// For circular buffer
-#include <linux/circ_buf.h>
-
-#include <asm/irq.h>
-#include <asm/arch/hardware.h>
-#include <asm/arch/irqs.h>
-// For register adresses
-#include <asm/arch/imx-regs.h>
-// additional defines
-#define PWMC_PRESCALER_MASK 0x00007F00
-#define PWMC_REPEAT_MASK 0x0000000C
-#define PWMC_CLKSEL_MASK 0x00000003
-//
-#include <linux/platform_device.h>
-
-#include "pwm.h"
-
-#define PWM_TEST
-
-#define DRIVER_NAME "imx-pwm"
-#define DRIVER_VERSION "0.5"
-
-#define DEV_IRQ_NAME DRIVER_NAME
-#define DEV_IRQ_ID DRIVER_NAME
-
-//#define PK(fmt, args...) printk(fmt, ## args)
-#define PK(...)
-
-
-struct pwm_device {
- u32 reg;
- int active;
- unsigned duty;
- /*const*/ struct pwm_table *entry;
- struct class_device class_dev;
-};
-
-static struct class pwm_class; /* forward declaration only */
-
-#define to_pwm_device(d) container_of(d, struct pwm_device, class_dev)
-
-
-// Global variables
-int gPwmMode;
-//char *gpWriteBuf;
-int g4bytes; // count 4 bytes write occurence to FIFO
-u8 *gpWriteBufPtr;
-u16 *gpWriteBufPtr16;
-int gDataLen = PWM_DATA_8BIT;
-u16 gSampleValue;
-
-int irq = 0;
-module_param(irq, int, 0);
-
-wait_queue_head_t write_wait;
-wait_queue_head_t exit_wait;
-struct fasync_struct *ts_fasync;
-
-int gMajor = 0; /* TODO dynamic major for now */
-
-typedef struct timer_list timer_blk_t;
-
-typedef struct timerStruct
-{
- timer_blk_t *timer_blk_ptr;
- int period;
- void (*timer_func)(unsigned long);
- int stop_flag;
-} PWM_Timer_t;
-
-static PWM_Timer_t pwmTimer;
-static timer_blk_t timer_blk;
-
-struct pwm_table {
- long period; /* in us */
- unsigned max_period_val;
- unsigned prescaler;
-};
-
-struct pwm_table pwmdata;
-/*
- * Ready to use calculations
- */
-static const struct pwm_table pwm_table[]={
- {
- .period=1, /* 1 us */
- .max_period_val = 13,
- .prescaler=1,
- },
- {
- .period=5, /* 5 us */
- .max_period_val = 65,
- .prescaler=1,
- },
- {
- .period=10, /* 10 us */
- .max_period_val = 130,
- .prescaler=1,
- },
- {
- .period=20, /* 20 us */
- .max_period_val = 260,
- .prescaler=1,
- },
- {
- .period=50, /* 50 us */
- .max_period_val = 650,
- .prescaler=1,
- },
- {
- .period=100, /* 100 us */
- .max_period_val = 650,
- .prescaler=2,
- },
- {
- .period=500, /* 500 us */
- .max_period_val = 929,
- .prescaler=7,
- },
- {
- .period=1000, /* 1ms */
- .max_period_val = 1000,
- .prescaler=13,
- },
- {
- .period=2000, /* 2ms */
- .max_period_val = 1000,
- .prescaler=26,
- },
- {
- .period=3000, /* 3ms */
- .max_period_val = 1000,
- .prescaler=39,
- },
- {
- .period=4000, /* 4ms */
- .max_period_val = 1020,
- .prescaler=51,
- },
- {
- .period=5000, /* 5ms */
- .max_period_val = 1016,
- .prescaler=64,
- }
-};
-
-/****************************************************************
- * Circular buffer handling four sound playing
- ***************************************************************/
-
-struct sound_circ_buf {
- char* buf;
- int write; // == head
- int read; // == tail
- int size;
-};
-
-static inline u8 get_byte_from_circbuf( struct sound_circ_buf* abuffer )
-{
- u8 b = abuffer->buf[ abuffer->read ];
- abuffer->read = (abuffer->read + 1) & (abuffer->size - 1);
- return b;
-}
-
-static inline u16 get_word_from_circbuf( struct sound_circ_buf* abuffer )
-{
- u16 w = *((u16*)(&(abuffer->buf[ abuffer->read ])));
- abuffer->read = (abuffer->read + 2) & (abuffer->size - 1);
- return w;
-}
-
-static inline void put_byte_to_circbuf( struct sound_circ_buf* abuffer, unsigned char abyte )
-{
- abuffer->buf[ abuffer->write ] = abyte;
- abuffer->write = (abuffer->write + 1) & (abuffer->size - 1);
-}
-
-static inline void increase_circbuf( struct sound_circ_buf* abuffer, int count )
-{
- abuffer->write = (abuffer->write + count) & (abuffer->size - 1);
- pr_debug("Added %d bytes to buffer, now write is in pos %d\n", count, abuffer->write);
-}
-
-#define MAX_SOUND_BUFFER_SIZE (16*1024) // !! Should be a power of 2 !!
-static struct sound_circ_buf gPWM_Circ_Buf;
-
-/****************************************************************
- *
- ***************************************************************/
-
-static void inline unregister_sys_file( struct pwm_device *ppd );
-
-
-/**
- * setup_pwm_unit - common setup function whenever something was changed
- * @ppd: PWM unit to work with
- */
-static void setup_pwm_unit(struct pwm_device *ppd)
-{
- if (ppd->entry == NULL)
- return; /* do nothing, not fully configured yet */
-
- if (ppd->active)
- {
- // Activate PWM
- PWMC |= PWMC_EN;
-
- // Setup prescaler
- pr_debug("Updating PWM registers\n");
- PWMC = (PWMC & ~PWMC_PRESCALER_MASK) | PWMC_PRESCALER(ppd->entry->prescaler) /*| PWMC_REPEAT(3)*/;
-
- // Setup period
- PWMP = PWMP_PERIOD(ppd->entry->period);
-
- // Setup duty
- PWMS = PWMS_SAMPLE( (u32) ((ppd->entry->period * ppd->duty) / 1000) );
-/* unsigned duty;
-
- if (ppd->duty == MAX_DUTY)
- duty=ppd->entry->max_period_val-1; // FIXME: Solve with bit 10 in this register
- else
- duty=((ppd->entry->max_period_val-1)*ppd->duty)/MAX_DUTY;
-*/
-
- }
- else
- {
- // De-activate
- PWMC &= ~PWMC_EN;
- }
-}
-
-/******************************************************************************
- * Function Name: checkDevice
- *
- * Input: inode :
- * Value Returned: int : Return status.If no error, return 0.
- *
- * Description: verify if the inode is a correct inode
- *
- * Modification History:
- * 10 DEC,2001,
- *****************************************************************************/
-// static int checkDevice(struct inode *pInode)
-// {
-// int minor;
-// kdev_t dev = pInode->i_rdev;
-//
-// if( MAJOR(dev) != gMajor)
-// {
-// PK("<1>checkDevice bad major = %d\n",MAJOR(dev) );
-// return -1;
-// }
-// minor = MINOR(dev);
-//
-// if ( minor < MAX_ID )
-// return minor;
-// else
-// {
-// PK("<1>checkDevice bad minor = %d\n",minor );
-// return -1;
-// }
-// }
-
-/* timer */
-int CreateTimer(PWM_Timer_t *timer)
-{
- init_timer(timer->timer_blk_ptr);
- timer->timer_blk_ptr->function = timer->timer_func;
-
- return(0);
-}
-
-int StartTimer(PWM_Timer_t *timer)
-{
- timer->timer_blk_ptr->expires = jiffies + timer->period;
- timer->stop_flag = 0;
-
- add_timer((struct timer_list *)timer->timer_blk_ptr);
-
- return(0);
-}
-int StopTimer(PWM_Timer_t *timer)
-{
- timer->stop_flag = 1;
- del_timer_sync((struct timer_list *)timer->timer_blk_ptr);
-
- return(0);
-}
-
-static void StopPwm(void)
-{
- PWMC &= ~PWMC_IRQEN; // disable IRQ
- PWMC &= ~PWMC_EN; // disable PWM
-
- gSampleValue = 0;
- if(gPwmMode == PWM_TONE_MODE)
- StopTimer(&pwmTimer);
-
- // Can release file now
- wake_up_interruptible(&exit_wait);
-
- PK("<1>data completed.\n");
- PK("<1>PWMC = 0x%8x\n", (u32)PWMC);
-}
-
-static void pwmIntFunc( unsigned long unused)
-{
-// u32 period;
-
- PK("<1>pwm sam int\n");
-
-// if (gWriteCnt > 0)
-// {
-// PK("<1>PWMS = 0x%4x\n", (u16)_reg_PWM_PWMS);
-//
-// // 96M/128/2/period
-// period = *gpWriteBufPtr16++;
-//
-// if(period > 0)
-// // PWMP = 96000000/128/12/2/period; //96000000/128/2*11
-// PWMP = 66000000/128/2/period; //96000000/128/2*11
-// PK("<1>PWMP = 0x%4x\n", (u16)PWMP);
-// PK("<1>PWMCNT = 0x%4x\n", (u16)PWMCNT);
-//
-// StartTimer(&pwmTimer);
-//
-// gWriteCnt--;
-// }
-// else
-// StopPwm();
-
-}
-
-// static int handle_pm_event(struct pm_dev *dev, pm_request_t rqst, void *data)
-// {
-// switch(rqst)
-// {
-// case PM_SUSPEND:
-// PK("<1> PM suspend event received in PWM device.\n");
-// StopPwm();
-// break;
-//
-// case PM_RESUME:
-// PK("<1> PM resume event received in PWM device.\n");
-// break;
-//
-// default:
-// break;
-// }
-// return 0;
-// }
-
-/******************************************************************************
- *
- *****************************************************************************/
-static int initPWM(void)
-{
- // Init Port PA[2] : PWMO
- // Should be done in apf9328.c non ???
- DDIR(0) |= 0x00000002;
- GIUS(0) &= ~0x00000002;
- GPR(0) &= ~0x00000002;
-
- // Software reset
- PWMC |= PWMC_SWR;
- udelay(10);
- // Activate & de-activate PWM (seems to be necessary after a reset)
- PWMC |= PWMC_EN; PWMC &= ~PWMC_EN;
-
- // Enable interrupt
- //PWMC |= PWMC_IRQEN;
-
- return 1;
-}
-
-//////////////////////////////////////// /DEV INTERFACE ////////////////////////////////////////////
-
-/*
- * Called from user space close()
- */
-int pwm_release(struct inode * inode, struct file * filp)
-{
- // wait unit gWriteCnt == 0
- interruptible_sleep_on(&exit_wait);
-
- if( gPWM_Circ_Buf.buf ) {
- kfree( gPWM_Circ_Buf.buf );
- gPWM_Circ_Buf.buf = 0;
- }
- printk(DRIVER_NAME " released, 4 bytes FIFO usage: %d\n", g4bytes);
- return 0;
-}
-
-/*
- * Called from user space open()
- */
-int pwm_open(struct inode * inode, struct file * filp)
-{
- // Init PWM hardware
- initPWM();
-
- pr_debug(DRIVER_NAME " opened \n");
- return 0;
-}
-
-/*
- *
- */
-static int pwm_fasync(int fd, struct file *filp, int mode)
-{
- PK("<1>in pwm_fasyn ----\n");
-#if 0
- /* TODO TODO put this data into file private data */
- int minor = checkDevice( filp->f_dentry->d_inode);
- if ( minor == - 1)
- {
- PK("<1>asp_fasyn:bad device minor\n");
- return -ENODEV;
- }
-
- return( fasync_helper(fd, filp, mode, &ts_fasync) );
-#endif
- return 0;
-}
-
-/*
- * Called from user space ioctl()
- */
-int pwm_ioctl(struct inode * inode, struct file *filp, unsigned int cmd, unsigned long arg)
-{
- char *str=NULL;
- int ret = 0;
-
- pr_debug("pwm_ioctl ----\n");
- switch(cmd)
- {
- // Set PWM Mode (Tone or Playback)
- case PWM_IOC_SMODE:
- {
- gPwmMode = arg;
-
- if (gPwmMode == PWM_TONE_MODE)
- {
- // create periodic timer when tone mode
- pr_debug("PWM Tone Mode.\n");
- pwmTimer.timer_blk_ptr = &timer_blk;
- pwmTimer.timer_func = pwmIntFunc;
- CreateTimer(&pwmTimer);
- }
- else
- {
- pr_debug("PWM Play Mode.\n");
- }
- }
- break;
-
- // Set Playback frequency/ouput rate
- case PWM_IOC_SFREQ:
- {
- PWMC &= ~PWMC_EN; // Disable PWM
- PWMC &= ~PWMC_CLKSRC; // Select 16MHz PERCLK1 as CLK source
- PWMC &= ~PWMC_PRESCALER_MASK; // PRESCALER = 0 => use full 16MHz
-
- switch(arg)
- {
- case PWM_SAMPLING_32KHZ:
- PWMC &= ~PWMC_REPEAT_MASK; // REPEAT = 0 => divide by 1
- PWMC &= ~PWMC_CLKSEL_MASK; // CLKSEL = 0 => divide by 2
- // 16MHz/256/1/2 = 32768
- str = "32Khz";
- break;
- case PWM_SAMPLING_16KHZ:
- PWMC &= ~PWMC_REPEAT_MASK;
- PWMC |= PWMC_REPEAT(1); // REPEAT = 01 => divide by 2
- PWMC &= ~PWMC_CLKSEL_MASK; // CLKSEL = 0 => divide by 2
- // 16MHz/256/2/2 = 16384
- str = "16Khz";
- break;
- case PWM_SAMPLING_8KHZ:
- default:
- PWMC &= ~PWMC_REPEAT_MASK;
- PWMC |= PWMC_REPEAT(2); // REPEAT = 10 => divide by 4
- PWMC &= ~PWMC_CLKSEL_MASK; // CLKSEL = 0 => divide by 2
- // 16MHz/256/4/2 = 8192
- str = "8Khz";
- break;
- }
- pr_debug("Sample rate = %s\n", str);
- pr_debug("ioctl: PWMC = 0x%8x\n", PWMC);
- }
- break;
-
- // Set samples length (8 or 16 bits)
- case PWM_IOC_SDATALEN:
- {
- gDataLen = arg;
- if( arg == PWM_DATA_8BIT )
- {
- PWMP = 0xfe; // Period, 8bit
- str = "8bit";
- }
- else // if(arg == PWM_DATA_16BIT)
- {
- PWMP = 0xfffe; // Period, 16bit
- str = "16bit";
- }
-
- pr_debug("Data Length = %s\n", str);
- }
- break;
-
- case PWM_IOC_SSAMPLE:
- gSampleValue = arg;
- break;
-
- case PWM_IOC_SPERIOD:
- if (gPwmMode == PWM_TONE_MODE)
- {
- PK("<1>PWM period = %d\n",(int)arg);
- pwmTimer.period = arg/12;
- }
- break;
-
- case PWM_IOC_STOP:
- StopPwm();
- break;
-
- case PWM_IOC_SWAPDATA:
- if (arg&PWM_SWAP_HCTRL) //Halfword FIFO data swapping
- {
- PWMC |= PWMC_HCTR;
- }
- else
- {
- PWMC &= ~PWMC_HCTR;
- }
-
- if (arg&PWM_SWAP_BCTRL) //Byte FIFO data swapping
- {
- PWMC |= PWMC_BCTR;
- }
- else
- {
- PWMC &= ~PWMC_BCTR;
- }
- break;
-
- default:
- printk( DRIVER_NAME ": unkown IOCTL\n");
- break;
- }
-
- return ret;
-}
-
-/******************************************************************************
- * Called from user space read()
- *
- *****************************************************************************/
-ssize_t pwm_read(struct file * filp, char * buf, size_t count, loff_t * l)
-{
- int ret = 0;
-
- if( PWMC & PWMC_IRQEN )
- ret = 1; // no data
- else
- ret = 0; // processing data
-
- pr_debug("pwm_read ----\n");
- return ret;
-}
-
-/******************************************************************************
- * Called from user space write()
- *
- *****************************************************************************/
-static ssize_t pwm_write( struct file *filp, const char *buf, size_t count, loff_t *f_pos )
-{
- int ret = 0;
- int remaining_space = 0;
-
- pr_debug( "pwm_write ----\n" );
-
- if( count > MAX_SOUND_BUFFER_SIZE )
- count = MAX_SOUND_BUFFER_SIZE;
- // First time, allocate the double buffer
- if( !gPWM_Circ_Buf.buf ) {
- gPWM_Circ_Buf.buf = kmalloc( count*2, GFP_KERNEL );
- if( !gPWM_Circ_Buf.buf ) {
- goto out;
- } else {
- // Initialize circular buffer
- gPWM_Circ_Buf.read = 0;
- gPWM_Circ_Buf.write = 0;
- gPWM_Circ_Buf.size = MAX_SOUND_BUFFER_SIZE*2;
- }
- }
-
- // If there is enough space at the end of the buffer for all data in one copy, do it
- remaining_space = gPWM_Circ_Buf.size - gPWM_Circ_Buf.write;
- pr_debug("Remaining space to end: %d, must write: %d \n", remaining_space, count);
- if( remaining_space >= count ) {
- // Get data from UserSpace
- if( copy_from_user( gPWM_Circ_Buf.buf + gPWM_Circ_Buf.write , buf, count ) ) {
- ret = -EFAULT; goto out;
- }
- increase_circbuf( &gPWM_Circ_Buf, count );
- // if not enough space, then
- } else {
- // Do it in 2 times
- if( copy_from_user( gPWM_Circ_Buf.buf + gPWM_Circ_Buf.write, buf, remaining_space ) ) {
- ret = -EFAULT; goto out;
- }
- increase_circbuf( &gPWM_Circ_Buf, remaining_space );
- if( copy_from_user( gPWM_Circ_Buf.buf + gPWM_Circ_Buf.write, buf, count - remaining_space ) ) {
- ret = -EFAULT; goto out;
- }
- increase_circbuf( &gPWM_Circ_Buf, count - remaining_space );
- }
-
- // Enable PWM
- PWMC |= PWMC_EN; PWMS = 0x00000000;
-
- if( gPwmMode == PWM_PLAY_MODE )
- {
- PWMC |= PWMC_IRQEN; // Enable IRQ
- }
- else
- {
- PWMS = gSampleValue;
- PWMC |= 0x7f00; // set prescaler to 128
-/* gpWriteBufPtr16 = (u16*)gpWriteBuf;
- gWriteCnt /= 2; //input size is 8bit size, need /2 to get 16bit size
- StartTimer( &pwmTimer );*/
- }
-
- // Calculate how much space is left in buffer
- remaining_space = CIRC_SPACE( gPWM_Circ_Buf.write, gPWM_Circ_Buf.read, gPWM_Circ_Buf.size );
- pr_debug("Space left: %d\n", remaining_space);
- if( remaining_space < count ) {
- // Pauses user app until interrupt handler has consumed some data
- interruptible_sleep_on( &write_wait );
- }
-
-out:
- pr_debug( "out pwm_write PWMC = 0x%8x ----\n", PWMC );
- return count;
-}
-
-
-struct file_operations pwm_fops = {
- open: pwm_open,
- release: pwm_release,
- read: pwm_read,
- write: pwm_write,
- ioctl: pwm_ioctl,
- fasync: pwm_fasync
-};
-
-/////////////////////////////////////// END OF /DEV INTERFACE /////////////////////////////////////////////////////////
-
-
-/**
- * pwm_show_duty - return current duty setting
- * @dev: device to work with
- * @buf: space to write the current value in
- */
-static ssize_t pwm_show_duty(struct class_device *dev, char *buf)
-{
- ssize_t ret_size = 0;
- struct pwm_device *ppd=to_pwm_device(dev);
-
- ret_size=sprintf(buf,"%u",ppd->duty);
- return ret_size;
-}
-
-/**
- * pwm_store_duty - set new duty
- * @dev: device to work with
- * @buf: buffer with new value in ASCII
- * @size: size of buffer
- *
- * Returns the given @size or -EIO
- *
- * Duty value can be 0 ... 1000. Without floating point you can take
- * one position after decimal point into account. The internal counters
- * supports 10 bit resolution, so it makes sense to support such a thing
- * like 66.6% or 33.3% (given as 666 and 333 values)
- */
-static ssize_t pwm_store_duty(struct class_device *dev, const char *buf, size_t size)
-{
- long value;
- struct pwm_device *ppd=to_pwm_device(dev);
-
- value = simple_strtol(buf, NULL, 10);
- if ((value < 1) || (value > 999))
- return -EIO;
-
- ppd->duty=(unsigned)value;
-
- setup_pwm_unit(ppd);
- return size;
-}
-
-/**
- * pwm_show_period - return current period setting
- * @dev: device to work with
- * @buf: space to write the current value in
- */
-static ssize_t pwm_show_period(struct class_device *dev, char *buf)
-{
- ssize_t ret_size = 0;
- struct pwm_device *ppd=to_pwm_device(dev);
-
- if (ppd->entry) /* already initialized? */
- ret_size=sprintf(buf,"%ld",ppd->entry->period);
- else
- ret_size=sprintf(buf,"0");
-
- return ret_size;
-}
-
-/**
- * pwm_store_period - set new period setting
- * @dev: device to work with
- * @buf: buffer with new value in ASCII
- * @size: size of buffer
- *
- * Returns the given @size or -EIO
- *
- * The min/max period depends on processors features.
- * Currently the i.MXl uses either PERCLK1 or CLK32 clock.s You can prescale
- * these clocks up to 1/128 (down to 203.125kHz).
- * The period is based on this prescaled clock and it's width depends on
- * the period register (PWMP). This register is 16 bits width.
- * So for PERCLK1 (16Mhz):
- * - min. period is (no prescale, PWMP = 1): ~62ns
- * - max. period is (max prescale, period control = 0xFFFF): ~520ms
- * For CLK32 (32KHz):
- * - min. period is ~31us
- * - max. period is 256s
- *
- * The unit of the given value should be "us" (1E-6) and the value
- * between 1 and 500000.
- */
-
-#define PWM_MAX_PERIOD 500000 // us
-#define PWM_MIN_PERIOD 1 //us
-#define PWM_MIN_FREQUENCY 2 // Hz
-#define PWM_MAX_FREQUENCY 100000 // Hz
-static ssize_t pwm_store_period(struct class_device *dev, const char *buf, size_t size)
-{
- long value/*,i*/;
- struct pwm_device *ppd=to_pwm_device(dev);
-
- value = simple_strtol(buf, NULL, 10);
- if ((value < PWM_MIN_PERIOD) && (value > PWM_MAX_PERIOD))
- return -EIO;
-
-/* for( i=0; i<ARRAY_SIZE(pwm_table); i++ )
- {
- if (pwm_table[i].period >= value)
- break;
- }
- if (i==ARRAY_SIZE(pwm_table)) // period not found in table?
- return -EIO;
-
- ppd->entry=&pwm_table[i];*/
- ppd->entry=&pwmdata;
- ppd->entry->period = value;
- ppd->entry->prescaler = 8; // 1us / tick if CLKSEL is = 0
- ppd->entry->max_period_val = value;
- /*printk(KERN_INFO "New period should be %ld us, and is %ld us\n",
- value,ppd->entry->period);*/
-
- setup_pwm_unit(ppd);
- return size;
-}
-
-/**
- * pwm_show_frequency - return current frequency setting
- * @dev: device to work with
- * @buf: space to write the current value in
- */
-static ssize_t pwm_show_frequency(struct class_device *dev, char *buf)
-{
- ssize_t ret_size = 0;
- struct pwm_device *ppd=to_pwm_device(dev);
-
- if (ppd->entry)
- ret_size = sprintf( buf,"%ld", (u32) 1000000/(ppd->entry->period) );
- else
- ret_size = sprintf(buf,"0");
-
- return ret_size;
-}
-
-/**
- * pwm_store_frequency - set new frequency setting
- * @dev: device to work with
- * @buf: buffer with new value in ASCII
- * @size: size of buffer
- *
- * Returns the given @size or -EIO
- *
- * The unit of the given value should be in Hertz and the value
- * between 2 and 100k.
- */
-
-static ssize_t pwm_store_frequency(struct class_device *dev, const char *buf, size_t size)
-{
- long value;
- struct pwm_device *ppd=to_pwm_device(dev);
-
- value = simple_strtol(buf, NULL, 10);
- if( (value < PWM_MIN_FREQUENCY) && (value > PWM_MAX_FREQUENCY) )
- return -EIO;
-
- // Convert frequency into period
- value = (u32) (1000000 / value);
- //
- ppd->entry=&pwmdata;
- ppd->entry->period = value;
- ppd->entry->prescaler = 8; // 1us / tick if CLKSEL is = 0
- ppd->entry->max_period_val = value;
- // Update hardware
- setup_pwm_unit(ppd);
-
- return( size );
-}
-
-/**
- * pwm_show_state - return current state setting
- * @dev: device to work with
- * @buf: space to write the current value in
- */
-static ssize_t pwm_show_state(struct class_device *dev, char *buf)
-{
- ssize_t ret_size = 0;
- struct pwm_device *ppd=to_pwm_device(dev);
-
- ret_size=sprintf(buf,"%d",ppd->active);
- return ret_size;
-}
-
-/**
- * pwm_store_state - set new state setting
- * @dev: device to work with
- * @buf: buffer with new value in ASCII
- * @size: size of buffer
- *
- * Returns the given @size
- */
-static ssize_t pwm_store_state(struct class_device *dev, const char *buf, size_t size)
-{
- long value;
- struct pwm_device *ppd=to_pwm_device(dev);
-
- value = simple_strtol(buf, NULL, 10);
- if (value != 0)
- ppd->active=1;
- else
- ppd->active=0;
-
- setup_pwm_unit(ppd);
-
- return size;
-}
-
-
-/*
- * Attribute: /sys/class/pwm/pwmX/duty
- */
-static struct class_device_attribute attr_pwm_duty = {
- .attr = { .name = "duty", .mode = 0644, .owner = THIS_MODULE },
- .show = pwm_show_duty,
- .store = pwm_store_duty,
-};
-
-/*
- * Attribute: /sys/class/pwm/pwmX/period
- */
-static struct class_device_attribute attr_pwm_period = {
- .attr = { .name = "period", .mode = 0644, .owner = THIS_MODULE },
- .show = pwm_show_period,
- .store = pwm_store_period,
-};
-
-/*
- * Attribute: /sys/class/pwm/pwmX/frequency
- */
-static struct class_device_attribute attr_pwm_frequency = {
- .attr = { .name = "frequency", .mode = 0644, .owner = THIS_MODULE },
- .show = pwm_show_frequency,
- .store = pwm_store_frequency,
-};
-
-/*
- * Attribute: /sys/class/pwm/pwmX/active
- */
-static struct class_device_attribute attr_pwm_active = {
- .attr = { .name = "active", .mode = 0644, .owner = THIS_MODULE },
- .show = pwm_show_state,
- .store = pwm_store_state,
-};
-
-/**
- * init_userinterface - setup the device and things the user will see
- * @pdev: platform device to work with
- * @address: physical address of this device
- *
- * Return 0 on success
- */
-static int init_userinterface(struct platform_device *pdev, u32 address)
-{
- int rc = 0;
- struct pwm_device *ppd;
-
- if (unlikely((ppd = kmalloc(sizeof(struct pwm_device), GFP_KERNEL)) == NULL)) {
- rc = -ENOMEM;
- goto error_malloc;
- }
-
- memset(&ppd->class_dev, 0, sizeof(struct class_device));
- ppd->class_dev.class = &pwm_class;
- ppd->class_dev.dev=&pdev->dev;
- snprintf(ppd->class_dev.class_id, BUS_ID_SIZE, "pwm%i", pdev->id);
- ppd->reg=address;
- ppd->entry=NULL;
- ppd->active=0;
- ppd->duty=500; // = 50.O%
-
- rc = class_device_register(&ppd->class_dev);
- if (unlikely(rc)) goto error_register;
-
- // Register the attributes
- rc |= class_device_create_file( &ppd->class_dev, &attr_pwm_duty );
- if (unlikely(rc)) goto error_file;
- rc |= class_device_create_file( &ppd->class_dev, &attr_pwm_period );
- if (unlikely(rc)) goto error_file;
- rc |= class_device_create_file( &ppd->class_dev, &attr_pwm_frequency );
- if (unlikely(rc)) goto error_file;
- rc |= class_device_create_file( &ppd->class_dev, &attr_pwm_active );
- if (unlikely(rc)) goto error_file;
-
- pdev->dev.driver_data=ppd;
- goto success;
-
-error_file:
- printk(KERN_ERR "%s: class /sys file creation failed\n", DRIVER_NAME);
- unregister_sys_file(ppd);
-error_register:
- printk(KERN_ERR "%s: class registering failed\n", DRIVER_NAME);
- kfree(ppd);
-error_malloc:
- return rc;
-success:
- return 0;
-}
-
-/*
- * PWM interrupt handler (used in Play Mode only)
- */
-static irqreturn_t pwm_interrupt(int irq, void *dev_id)
-{
- u32 status;
- int remaining = 0;
-
- // Acknowledge interrupt
- status = PWMC;
-
- remaining = CIRC_CNT( gPWM_Circ_Buf.write, gPWM_Circ_Buf.read, gPWM_Circ_Buf.size );
- if( remaining <= 1024 && remaining > 1021 ) { // TODO make it better (I think a test each consumed sample is the only accurate solution
- // Can accept new data now
- wake_up_interruptible( &write_wait );
- }
-
- // End of sound buffer
- if( remaining < 3 )
- {
- if(gDataLen == PWM_DATA_8BIT)
- {
- while( remaining )
- {
- PWMS = (u32)(get_byte_from_circbuf( &gPWM_Circ_Buf ));
- /*PK("<1>(%d) pwm_int: PWMS = 0x%8x\n", gWriteCnt, PWMS);*/
- remaining--;
- }
- }
- else // if(gDataLen == PWM_DATA_16BIT) // one comparaison is enough
- {
- while( remaining )
- {
- PWMS = (u32)(get_word_from_circbuf( &gPWM_Circ_Buf ));
- //PK("<1>(%d) pwm_int: PWMS = 0x%8x\n", gWriteCnt, PWMS);
- remaining--;
- }
- }
-
- StopPwm();
- goto end;
- }
-
- // Put sound samples in FIFO
- if(gDataLen == PWM_DATA_8BIT)
- {
- PWMS = (u32)(get_byte_from_circbuf( &gPWM_Circ_Buf ));
- PWMS = (u32)(get_byte_from_circbuf( &gPWM_Circ_Buf ));
- PWMS = (u32)(get_byte_from_circbuf( &gPWM_Circ_Buf ));
- if (PWMC & PWMC_FIFOAV) // TODO: verify if needed
- {
- PWMS = (u32)(get_byte_from_circbuf( &gPWM_Circ_Buf ));
- g4bytes++;
- }
- }
- else // if(gDataLen == PWM_DATA_16BIT) // one comparaison is enough
- {
- // TODO: put good value in PWMC_BCTR to auto swap bytes if needed (do it at write or ioctl)
- PWMS = (u32)(get_word_from_circbuf( &gPWM_Circ_Buf ));
- PWMS = (u32)(get_word_from_circbuf( &gPWM_Circ_Buf ));
- PWMS = (u32)(get_word_from_circbuf( &gPWM_Circ_Buf ));
- if (PWMC & PWMC_FIFOAV) // TODO: verify if needed
- {
- PWMS = (u32)(get_word_from_circbuf( &gPWM_Circ_Buf ));
- g4bytes++;
- }
- }
-
-end:
- return(IRQ_HANDLED);
-}
-
-/*
- *
- */
-static int __init pwm_init_from_probe(void)
-{
- int result;
-
- // Register our char device
- result = register_chrdev(0, DRIVER_NAME, &pwm_fops);
- if ( result < 0 )
- {
- printk("pwm driver: Unable to register driver\n");
- goto end;
- }
- // Dynamic Major allocation
- if( gMajor == 0 )
- {
- gMajor = result;
- printk("PWM major number = %d\n",gMajor);
- }
-
- result = request_irq(PWM_INT, pwm_interrupt, IRQF_DISABLED, DEV_IRQ_NAME, DEV_IRQ_ID);
- if (result)
- {
- printk("<1>cannot init major= %d irq=%d\n", gMajor, irq);
- unregister_chrdev(gMajor, DRIVER_NAME);
- goto end;
- }
-
- // init wait queue
- init_waitqueue_head(&write_wait);
- init_waitqueue_head(&exit_wait);
- pr_debug("Wait queues initialized\n");
-
- // init PWM hardware module
- initPWM();
-
- printk("PWM driver v" DRIVER_VERSION "\n");
-
-end:
- return( result );
-}
-
-/**
- * imx_pwm_drv_probe - claim resources
- * @pdev: platform device to work with
- *
- * CAUTION: This functions rejects a PWM unit if its
- * not forwarded to any possible GPIO pin! In this case
- * it also returns -ENODEV
- *
- * Returns -ENODEV if there is no such device on this SoC, -EBUSY if this
- * resource is already claimed
- */
-static int imx_pwm_drv_probe(struct platform_device *pdev)
-{
- int err=-ENODEV;
- struct resource *res;
-
- printk(KERN_INFO " Initializing PWM#%u...",pdev->id);
-
- switch( pdev->id )
- {
- // PWM0
- case 0:
- // Check if GPIO was initialized ??
- break;
-
- default:
- printk(DRIVER_NAME " failed. Unknown PWM%u device. Remember that this device only supports 1 PWM\n", pdev->id);
- return err;
- break;
- }
-
- if (unlikely(!(res = platform_get_resource(pdev, IORESOURCE_MEM, 0))))
- goto exit;
-
- if (unlikely(!request_mem_region( res->start, res->end - res->start + 1, "imx-pwm" ))) {
- err = -EBUSY;
- goto exit;
- }
- pwm_init_from_probe();
-
- // Create /sys stuf
- if (unlikely((err=init_userinterface(pdev,res->start))))
- goto release;
-
- printk("done.\n");
- return(0);
-
-release:
- release_mem_region(res->start, res->end - res->start + 1);
-exit:
- printk(KERN_INFO "not available.\n");
- return err;
-}
-
-static inline void unregister_sys_file( struct pwm_device *ppd )
-{
- // Unregister /sys attributes
- class_device_remove_file( &ppd->class_dev, &attr_pwm_active );
- class_device_remove_file( &ppd->class_dev, &attr_pwm_period );
- class_device_remove_file( &ppd->class_dev, &attr_pwm_frequency );
- class_device_remove_file( &ppd->class_dev, &attr_pwm_duty );
-}
-
-/**
- * imx_pwm_drv_remove - free claimed resources
- * @pdev: platform device to work with
- */
-static int imx_pwm_drv_remove (struct platform_device *pdev)
-{
- struct resource *res;
- struct pwm_device *ppd=(struct pwm_device*)pdev->dev.driver_data;
-
- unregister_sys_file(ppd);
-
- class_device_unregister( &ppd->class_dev );
-
- kfree(ppd);
-
- res = platform_get_resource( pdev, IORESOURCE_MEM, 0 );
- release_mem_region( res->start, res->end - res->start + 1 );
-
- return 0;
-}
-
-#ifdef CONFIG_PM
-/**
- * imx_pwm_drv_suspend - power down
- * @dev: platform device to work with
- * @state: state to reach
- */
-static int imx_pwm_drv_suspend (struct platform_device *pdev, pm_message_t state)
-{
- printk("%s\n",__FUNCTION__);
- return 0;
-}
-
-/**
- * imx_pwm_drv_resume - power up and continue
- * @pdev: platform device to work with
- */
-static int imx_pwm_drv_resume (struct platform_device *pdev)
-{
- printk("%s\n",__FUNCTION__);
- return 0;
-}
-#else
-
-# define imx_pwm_drv_suspend NULL
-# define imx_pwm_drv_resume NULL
-
-#endif // CONFIG_PM
-
-/**
- * pwm_class_release -
- * @dev:
- */
-static void pwm_class_release(struct class_device *dev)
-{
- return;
-}
-
-static struct platform_driver imx_pwm_driver = {
- .probe = imx_pwm_drv_probe,
- .remove = imx_pwm_drv_remove,
- .suspend = imx_pwm_drv_suspend,
- .resume = imx_pwm_drv_resume,
- .driver = {
- .name = DRIVER_NAME,
- },
-};
-
-
-static struct sysdev_class pwm_sysclass = {
- set_kset_name("pwm"),
-};
-
-static struct sys_device pwm_sys_device = {
- .id = 0,
- .cls = &pwm_sysclass,
-};
-
-static struct class pwm_class = {
- .name = "pwm",
- .release = pwm_class_release,
-};
-
-
-/*
- * Called when module is insmoded
- */
-int __init imx_pwm_init(void)
-{
- int ret;
-
- printk(KERN_INFO "Initializing PWM class.\n");
-
- if (unlikely((ret = class_register(&pwm_class)))) {
- printk(KERN_ERR "%s: couldn't register class, exiting\n", DRIVER_NAME);
- return ret;
- }
-
- if (unlikely((ret = sysdev_class_register(&pwm_sysclass)))) {
- printk(KERN_ERR "%s: couldn't register sysdev class, exiting\n", DRIVER_NAME);
- goto out_sysdev_class;
- }
-
- if (unlikely((ret = sysdev_register(&pwm_sys_device)))) {
- printk(KERN_ERR "%s: couldn't register sysdev, exiting\n", DRIVER_NAME);
- goto out_sysdev_register;
- }
-
- return platform_driver_register( &imx_pwm_driver );
-
-out_sysdev_register:
- sysdev_class_unregister( &pwm_sysclass );
-out_sysdev_class:
- class_unregister( &pwm_class );
-
- return ret;
-}
-
-/*
- * Called when module is rmmoded
- */
-void __exit imx_pwm_exit(void)
-{
- disable_irq( PWM_INT ); // should be done before free_irq no ?
- free_irq( PWM_INT, DEV_IRQ_ID );
- unregister_chrdev( gMajor, DRIVER_NAME );
-
- platform_driver_unregister( &imx_pwm_driver );
- sysdev_unregister( &pwm_sys_device );
- sysdev_class_unregister( &pwm_sysclass );
- class_unregister( &pwm_class );
-
- printk( DRIVER_NAME " successfully unloaded\n" );
-}
-
-module_init(imx_pwm_init);
-module_exit(imx_pwm_exit);
-MODULE_AUTHOR("Julien Boibessot & Sebastien Royen, inspired by a lot of other PWM drivers");
-MODULE_DESCRIPTION("Armadeus PWM driver");
-MODULE_LICENSE("GPL");
-
diff --git a/target/linux/modules/pwm/pwm.c b/target/linux/modules/pwm/pwm.c
index 933f529..47d2193 100644
--- a/target/linux/modules/pwm/pwm.c
+++ b/target/linux/modules/pwm/pwm.c
@@ -860,7 +860,9 @@ static int imx_pwm_drv_probe(struct platform_device *pdev)
int err = -ENODEV;
struct resource *res;
struct pwm_device *pwm;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
struct imx_pwm_platform_data *pdata = pdev->dev.platform_data;
+#endif
if (pdev->id >= PWM_MAX_DEV)
dev_err(&pdev->dev, "failed. Unknown module. Remember that this device only supports %d PWM\n", PWM_MAX_DEV);
@@ -1010,10 +1012,10 @@ static int imx_pwm_drv_remove(struct platform_device *pdev)
struct resource *res;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
struct pwm_device *pwm = (struct pwm_device*)pdev->dev.driver_data;
+ struct imx_pwm_platform_data *pdata = pdev->dev.platform_data;
#else
struct pwm_device *pwm = (struct pwm_device*)(dev_get_drvdata(&pdev->dev));
#endif
- struct imx_pwm_platform_data *pdata = pdev->dev.platform_data;
unregister_sys_file(pwm);
device_destroy(pwm_class, MKDEV(gMajor, pdev->id));
@@ -1036,10 +1038,10 @@ static int imx_pwm_drv_suspend(struct platform_device *pdev, pm_message_t state)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
struct pwm_device *pwm = (struct pwm_device*)pdev->dev.driver_data;
+ struct imx_pwm_platform_data *pdata = pdev->dev.platform_data;
#else
struct pwm_device *pwm = (struct pwm_device*)(dev_get_drvdata(&pdev->dev));
#endif
- struct imx_pwm_platform_data *pdata = pdev->dev.platform_data;
clk_disable(pwm->clk);
dev_dbg(&pdev->dev, "suspended\n");
@@ -1055,10 +1057,10 @@ static int imx_pwm_drv_resume(struct platform_device *pdev)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
struct pwm_device *pwm = (struct pwm_device*)pdev->dev.driver_data;
+ struct imx_pwm_platform_data *pdata = pdev->dev.platform_data;
#else
struct pwm_device *pwm = (struct pwm_device*)(dev_get_drvdata(&pdev->dev));
#endif
- struct imx_pwm_platform_data *pdata = pdev->dev.platform_data;
clk_enable(pwm->clk);
dev_dbg(&pdev->dev, "resumed\n");
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2011-04-19 11:57:35
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 6dd7e986d6f405c3c4b0a513386d7367e2f22353 (commit)
from e2186453cb5549a4579494a15bb530081aeeaae9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6dd7e986d6f405c3c4b0a513386d7367e2f22353
Author: Julien Boibessot <jul...@ar...>
Date: Tue Apr 19 13:56:45 2011 +0200
[U-BOOT] 1.3.4: updates UBI image name in default envt
-----------------------------------------------------------------------
Summary of changes:
.../device/armadeus/apf27/apf27-u-boot-1.3.4.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/buildroot/target/device/armadeus/apf27/apf27-u-boot-1.3.4.h b/buildroot/target/device/armadeus/apf27/apf27-u-boot-1.3.4.h
index 6ef742f..46ab099 100644
--- a/buildroot/target/device/armadeus/apf27/apf27-u-boot-1.3.4.h
+++ b/buildroot/target/device/armadeus/apf27/apf27-u-boot-1.3.4.h
@@ -203,7 +203,7 @@
"download_kernel=tftpboot ${loadaddr} " \
" ${serverpath}${board_name}-linux.bin\0" \
"download_rootfs=tftpboot ${loadaddr} " \
- " ${serverpath}${board_name}-rootfs.arm.ubi\0" \
+ " ${serverpath}${board_name}-rootfs.ubi\0" \
"update_uboot=run download_uboot flash_uboot\0" \
"update_kernel=run download_kernel flash_kernel\0" \
"update_rootfs=run download_rootfs flash_rootfs\0" \
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2011-04-19 08:38:28
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via e2186453cb5549a4579494a15bb530081aeeaae9 (commit)
via 5d4ef8c1af2334d3f1622b3e6176f44daf35cf9c (commit)
from 70121b2381083d23194405e967fdf39e2018376f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e2186453cb5549a4579494a15bb530081aeeaae9
Author: Julien Boibessot <jul...@ar...>
Date: Tue Apr 19 10:37:23 2011 +0200
Updates target/linux/.gitignore
commit 5d4ef8c1af2334d3f1622b3e6176f44daf35cf9c
Author: Julien Boibessot <jul...@ar...>
Date: Tue Apr 19 10:36:18 2011 +0200
[LINUX] 2.6.38: makes FPGA wishbone example drivers work again for APF27
-----------------------------------------------------------------------
Summary of changes:
...nel_to_export_some_irq_handling_functions.patch | 48 +++++++++++++++++++
target/linux/.gitignore | 1 +
.../fpga/wishbone_example/wb_button/gbutton.c | 50 ++++++-------------
.../fpga/wishbone_example/wb_irq_mngr/main.c | 18 ++++----
.../fpga/wishbone_example/wb_led/board_leds.c | 18 +++----
.../modules/fpga/wishbone_example/wb_led/g_led.c | 47 ++++--------------
6 files changed, 92 insertions(+), 90 deletions(-)
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/199-armadeus-hack_kernel_to_export_some_irq_handling_functions.patch
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/199-armadeus-hack_kernel_to_export_some_irq_handling_functions.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/199-armadeus-hack_kernel_to_export_some_irq_handling_functions.patch
new file mode 100644
index 0000000..46b889d
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/199-armadeus-hack_kernel_to_export_some_irq_handling_functions.patch
@@ -0,0 +1,48 @@
+Allows to use some usefull irq_chip registering/handling functions in modules.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-2.6.38.1/kernel/irq/chip.c
+===================================================================
+--- linux-2.6.38.1.orig/kernel/irq/chip.c 2011-04-18 20:43:15.000000000 +0200
++++ linux-2.6.38.1/kernel/irq/chip.c 2011-04-18 20:46:11.000000000 +0200
+@@ -663,6 +663,7 @@
+ out_unlock:
+ raw_spin_unlock(&desc->lock);
+ }
++EXPORT_SYMBOL_GPL(handle_edge_irq);
+
+ /**
+ * handle_percpu_irq - Per CPU local irq handler
+@@ -748,6 +749,7 @@
+ set_irq_chip(irq, chip);
+ __set_irq_handler(irq, handle, 0, NULL);
+ }
++EXPORT_SYMBOL_GPL(set_irq_chip_and_handler);
+
+ void
+ set_irq_chip_and_handler_name(unsigned int irq, struct irq_chip *chip,
+Index: linux-2.6.38.1/arch/arm/kernel/irq.c
+===================================================================
+--- linux-2.6.38.1.orig/arch/arm/kernel/irq.c 2011-04-18 20:48:25.000000000 +0200
++++ linux-2.6.38.1/arch/arm/kernel/irq.c 2011-04-18 20:48:56.000000000 +0200
+@@ -163,6 +163,7 @@
+ desc->status &= ~IRQ_NOAUTOEN;
+ raw_spin_unlock_irqrestore(&desc->lock, flags);
+ }
++EXPORT_SYMBOL_GPL(set_irq_flags);
+
+ void __init init_IRQ(void)
+ {
+Index: linux-2.6.38.1/kernel/irq/irqdesc.c
+===================================================================
+--- linux-2.6.38.1.orig/kernel/irq/irqdesc.c 2011-04-18 21:02:58.000000000 +0200
++++ linux-2.6.38.1/kernel/irq/irqdesc.c 2011-04-18 21:19:39.000000000 +0200
+@@ -273,6 +273,7 @@
+ {
+ return (irq < NR_IRQS) ? irq_desc + irq : NULL;
+ }
++EXPORT_SYMBOL_GPL(irq_to_desc);
+
+ struct irq_desc *irq_to_desc_alloc_node(unsigned int irq, int node)
+ {
diff --git a/target/linux/.gitignore b/target/linux/.gitignore
index 5b9e868..47c9538 100644
--- a/target/linux/.gitignore
+++ b/target/linux/.gitignore
@@ -9,3 +9,4 @@
.tmp_versions
Module.symvers
Module.markers
+*.builtin
diff --git a/target/linux/modules/fpga/wishbone_example/wb_button/gbutton.c b/target/linux/modules/fpga/wishbone_example/wb_button/gbutton.c
index 5ec1e8b..68fdf99 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_button/gbutton.c
+++ b/target/linux/modules/fpga/wishbone_example/wb_button/gbutton.c
@@ -22,25 +22,19 @@
*/
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
-#include <linux/config.h>
-#endif
-
#include <linux/init.h>
#include <linux/module.h>
#include <linux/fs.h> /* for file operations */
#include <linux/cdev.h>
-#include <asm/uaccess.h> /* copy_to_user function */
#include <linux/ioport.h> /* request_mem_region */
-#include <asm/io.h> /* readw() writew() */
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-/* hardware addresses */
-# include <asm/hardware.h>
-#else
-# include <mach/hardware.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)
+#include <linux/slab.h> /* kmalloc */
#endif
+#include <asm/uaccess.h> /* copy_to_user function */
+#include <asm/io.h> /* readw() writew() */
+#include <mach/hardware.h>
+
/* for platform device */
#include <linux/platform_device.h>
@@ -54,7 +48,7 @@
#undef PDEBUG
#ifdef BUTTON_DEBUG
# ifdef __KERNEL__
-/* for kernel spage */
+/* for kernel space */
# define PDEBUG(fmt,args...) printk(KERN_DEBUG "BUTTON : " fmt, ##args)
# else
/* for user space */
@@ -171,9 +165,7 @@ static int button_probe(struct platform_device *pdev)
PDEBUG("Button probing\n");
PDEBUG("Register %s num %d\n",dev->name,dev->num);
- /**************************/
/* check if ID is correct */
- /**************************/
data = ioread16(dev->membase+BUTTON_ID_OFFSET);
if (data != dev->idnum) {
result = -1;
@@ -183,9 +175,7 @@ static int button_probe(struct platform_device *pdev)
goto error_id;
}
- /********************************************/
- /* allocate memory for sdev structure */
- /********************************************/
+ /* allocate memory for sdev structure */
sdev = kmalloc(sizeof(struct button_dev),GFP_KERNEL);
if (!sdev) {
result = -ENOMEM;
@@ -199,15 +189,12 @@ static int button_probe(struct platform_device *pdev)
printk("Kmalloc name space error\n");
goto error_name_alloc;
}
- if (strncpy(sdev->name,dev->name,1+strlen(dev->name)) < 0) {
+ if (strncpy(sdev->name, dev->name, 1+strlen(dev->name)) < 0) {
printk("copy error");
goto error_name_copy;
}
- /******************************************/
/* Get the major and minor device numbers */
- /******************************************/
-
button_major = 251;
button_minor = dev->num;
@@ -225,11 +212,9 @@ static int button_probe(struct platform_device *pdev)
/* initiate mutex locked */
sdev->read_in_wait = 0;
- init_MUTEX_LOCKED(&sdev->sem);
+ sema_init(&sdev->sem, 0);
- /****************************/
/* Init the cdev structure */
- /****************************/
PDEBUG("Init the cdev structure\n");
cdev_init(&sdev->cdev,&button_fops);
sdev->cdev.owner = THIS_MODULE;
@@ -273,7 +258,7 @@ request_irq_error:
error_cdev_add:
/* free major and minor number */
unregister_chrdev_region(sdev->devno, 1);
- printk(KERN_INFO "%s: Led deleted\n", dev->name);
+ printk(KERN_INFO "%s: button deleted\n", dev->name);
error_devno:
error_name_copy:
kfree(sdev->name);
@@ -292,22 +277,19 @@ static int __devexit button_remove(struct platform_device *pdev)
/* freeing irq */
free_irq(dev->interrupt_number, sdev);
-//request_irq_error:
+
/* delete the cdev structure */
cdev_del(&sdev->cdev);
PDEBUG("%s:cdev deleted\n",dev->name);
-//error_cdev_add:
+
/* free major and minor number */
unregister_chrdev_region(sdev->devno, 1);
- printk(KERN_INFO "%s: Led deleted\n", dev->name);
-//error_devno:
-//error_name_copy:
+ printk(KERN_INFO "%s: button deleted\n", dev->name);
+
kfree(sdev->name);
-//error_name_alloc:
kfree(sdev);
-//error_sdev_alloc:
printk(KERN_INFO "%s: deleted with success\n", dev->name);
-//error_id:
+
return 0;
}
diff --git a/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/main.c b/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/main.c
index 759ebbb..94c8f56 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/main.c
+++ b/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/main.c
@@ -32,29 +32,25 @@
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-# include <asm/hardware.h>
-# include <asm/arch/irqs.h>
-#else
-# include <mach/hardware.h>
-# include <mach/irqs.h>
-#endif
+
+#include <mach/hardware.h>
+#include <mach/irqs.h>
#include <asm/irq.h>
#include <asm/io.h> /* readb() & Co */
#include <asm/mach/irq.h>
#ifdef CONFIG_MACH_APF27
#include <mach/fpga.h> /* To remove when MX1 platform merged */
+#define VA_GPIO_BASE MX27_GPIO_BASE_ADDR
#else
#define VA_GPIO_BASE IO_ADDRESS(IMX_GPIO_BASE)
-#define MXC_ISR(x) (0x34 + ((x) << 8))
+#define MXC_ISR(x) (0x34 + ((x) << 8))
struct fpga_irq_mng_platform_data { /* To remove when MX1 platform merged */
int (*init)(struct platform_device*);
void (*exit)(struct platform_device*);
};
#endif
-
#define IRQ_MNGR_BASE (0x0)
#define ID (1)
#define ID_OFFSET (0x02 *(16/8))
@@ -116,7 +112,11 @@ imx_fpga_handler(unsigned int mask, unsigned int irq,
struct irq_desc *desc)
{
pr_debug("%s: mask:0x%04x\n", __FUNCTION__, mask);
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)
+ desc = irq_to_desc(irq);
+#else
desc = irq_desc + irq;
+#endif
while (mask) {
if (mask & 1) {
pr_debug("handling irq %d\n", irq);
diff --git a/target/linux/modules/fpga/wishbone_example/wb_led/board_leds.c b/target/linux/modules/fpga/wishbone_example/wb_led/board_leds.c
index 8fa40a8..b37b47e 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_led/board_leds.c
+++ b/target/linux/modules/fpga/wishbone_example/wb_led/board_leds.c
@@ -20,17 +20,14 @@
*/
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
-#include <linux/config.h>
-#endif
-
#include <linux/init.h>
#include <linux/module.h>
#include <linux/platform_device.h>
+
#ifdef CONFIG_MACH_APF27 /* to be removed when MX1 platform merged */
#include <mach/fpga.h>
#endif
-#include"led.h"
+#include "led.h"
static struct plat_led_port plat_led0_data = {
@@ -42,8 +39,9 @@ static struct plat_led_port plat_led0_data = {
};
-void plat_led_release(struct device *dev){
- PDEBUG("device %s .released\n",dev->bus_id);
+void plat_led_release(struct device *dev)
+{
+ dev_dbg(dev, "released\n");
}
static struct platform_device plat_led0_device = {
@@ -51,8 +49,8 @@ static struct platform_device plat_led0_device = {
.id = 0,
.dev = {
.release = plat_led_release,
- .platform_data=&plat_led0_data
- },
+ .platform_data = &plat_led0_data
+ },
};
@@ -71,6 +69,6 @@ module_init(sled_init);
module_exit(sled_exit);
MODULE_AUTHOR("Fabien Marteau <fab...@ar...>");
-MODULE_DESCRIPTION("Driver to blink blink some leds");
+MODULE_DESCRIPTION("Driver to blink some LEDs on FPGA");
MODULE_LICENSE("GPL");
diff --git a/target/linux/modules/fpga/wishbone_example/wb_led/g_led.c b/target/linux/modules/fpga/wishbone_example/wb_led/g_led.c
index 0bbdfd4..fcd83ca 100644
--- a/target/linux/modules/fpga/wishbone_example/wb_led/g_led.c
+++ b/target/linux/modules/fpga/wishbone_example/wb_led/g_led.c
@@ -22,37 +22,21 @@
*/
#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
-#include <linux/config.h>
-#endif
-
/* form module/drivers */
#include <linux/init.h>
#include <linux/module.h>
-
-/* for file operations */
+/* for file operations */
#include <linux/fs.h>
#include <linux/cdev.h>
-
-/* copy_to_user function */
-#include <asm/uaccess.h>
-
-/* request_mem_region */
-#include <linux/ioport.h>
-
-/* readw() writew() */
-#include <asm/io.h>
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-/* hardware addresses */
-# include <asm/hardware.h>
-#else
-# include <mach/hardware.h>
+#include <linux/ioport.h> /* request_mem_region */
+#include <linux/platform_device.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)
+#include <linux/slab.h> /* kmalloc */
#endif
-
-/* for platform device */
-#include <linux/platform_device.h>
+#include <asm/uaccess.h> /* copy_to_user function */
+#include <asm/io.h> /* readw() writew() */
+#include <mach/hardware.h>
/* led */
#include "led.h"
@@ -77,7 +61,7 @@
/*************************/
/* main device structure */
/*************************/
-struct led_dev{
+struct led_dev {
char *name; /* the name of the instance */
int loaded_led_num;/* number of the led, depends on load order*/
struct cdev cdev;/* Char device structure */
@@ -201,9 +185,7 @@ static int led_probe(struct platform_device *pdev)
PDEBUG("Led probing\n");
PDEBUG("Register %s num %d\n", dev->name, dev->num);
- /**************************/
/* check if ID is correct */
- /**************************/
data = ioread16(dev->membase+dev->idoffset);
if (data != dev->idnum) {
result = -1;
@@ -213,9 +195,7 @@ static int led_probe(struct platform_device *pdev)
goto error_id;
}
- /********************************************/
- /* allocate memory for sdev structure */
- /********************************************/
+ /* allocate memory for sdev structure */
sdev = kmalloc(sizeof(struct led_dev), GFP_KERNEL);
if (!sdev) {
result = -ENOMEM;
@@ -234,10 +214,7 @@ static int led_probe(struct platform_device *pdev)
goto error_name_copy;
}
- /******************************************/
/* Get the major and minor device numbers */
- /******************************************/
-
led_major = 252;
led_minor = dev->num ;/* num come from plat_led_port data structure */
@@ -252,9 +229,7 @@ static int led_probe(struct platform_device *pdev)
MAJOR(sdev->devno),
MINOR(sdev->devno));
- /****************************/
/* Init the cdev structure */
- /****************************/
PDEBUG("Init the cdev structure\n");
cdev_init(&sdev->cdev, &led_fops);
sdev->cdev.owner = THIS_MODULE;
@@ -278,9 +253,7 @@ static int led_probe(struct platform_device *pdev)
printk(KERN_INFO "Led module %s insered\n", dev->name);
return 0;
- /*********************/
/* Errors management */
- /*********************/
/* delete the cdev structure */
cdev_del(&sdev->cdev);
PDEBUG("%s:cdev deleted\n", dev->name);
hooks/post-receive
--
armadeus
|
|
From: Fabien M <fa...@us...> - 2011-04-18 13:36:34
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 70121b2381083d23194405e967fdf39e2018376f (commit)
via cb1525a874d4bb7d4e3f54c4a578abdbac462037 (commit)
from 601d11b96700d0af4fe86c3dda62a7e59a150bea (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 70121b2381083d23194405e967fdf39e2018376f
Author: Kevin JOLY <jol...@gm...>
Date: Mon Apr 18 11:08:21 2011 +0200
[BUILDROOT]Update makefile of socketcan in GENTARGET format
Signed-off-by: Kevin JOLY <jol...@gm...>
Signed-off-by: Fabien Marteau <fab...@ar...>
commit cb1525a874d4bb7d4e3f54c4a578abdbac462037
Author: Kevin JOLY <jol...@gm...>
Date: Mon Apr 18 10:39:28 2011 +0200
[BUILDROOT]IPROUTE2 selected by default in config
Signed-off-by: Kevin JOLY <jol...@gm...>
Signed-off-by: Fabien Marteau <fab...@ar...>
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf27_defconfig | 6 +-
patches/buildroot/2010.11/042-socketcan.patch | 58 ++++++++-----------------
2 files changed, 21 insertions(+), 43 deletions(-)
diff --git a/buildroot/configs/apf27_defconfig b/buildroot/configs/apf27_defconfig
index f9c9708..a9be4e6 100644
--- a/buildroot/configs/apf27_defconfig
+++ b/buildroot/configs/apf27_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Buildroot version: 2010.11-00004-ge0d9cff
-# Tue Mar 22 00:22:47 2011
+# Buildroot version: 2010.11-00056-g54a6154
+# Mon Apr 18 09:30:00 2011
#
BR2_HAVE_DOT_CONFIG=y
BR2_arm=y
@@ -667,7 +667,7 @@ BR2_PACKAGE_NCURSES_TARGET_MENU=y
# BR2_PACKAGE_HOSTAPD is not set
# BR2_PACKAGE_IFPLUGD is not set
# BR2_PACKAGE_IPERF is not set
-# BR2_PACKAGE_IPROUTE2 is not set
+BR2_PACKAGE_IPROUTE2=y
# BR2_PACKAGE_IPSEC_TOOLS is not set
# BR2_PACKAGE_IPTABLES is not set
# BR2_PACKAGE_IW is not set
diff --git a/patches/buildroot/2010.11/042-socketcan.patch b/patches/buildroot/2010.11/042-socketcan.patch
index 710825b..797688b 100644
--- a/patches/buildroot/2010.11/042-socketcan.patch
+++ b/patches/buildroot/2010.11/042-socketcan.patch
@@ -5,8 +5,8 @@ Signed-off-by: Kevin Joly <jol...@gm...>
Index: buildroot/package/Config.in
===================================================================
---- buildroot.orig/package/Config.in 2011-04-14 11:00:01.037201002 +0200
-+++ buildroot/package/Config.in 2011-04-14 11:01:48.489201004 +0200
+--- buildroot.orig/package/Config.in 2011-04-18 10:46:11.633201002 +0200
++++ buildroot/package/Config.in 2011-04-18 11:00:38.517201003 +0200
@@ -428,6 +428,7 @@
source "package/samba/Config.in"
source "package/ser2net/Config.in"
@@ -18,7 +18,7 @@ Index: buildroot/package/Config.in
Index: buildroot/package/socketcan/Config.in
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ buildroot/package/socketcan/Config.in 2011-04-14 11:00:01.061201003 +0200
++++ buildroot/package/socketcan/Config.in 2011-04-11 18:22:09.000000000 +0200
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_SOCKETCAN
+ bool "Socket CAN"
@@ -38,60 +38,38 @@ Index: buildroot/package/socketcan/Config.in
Index: buildroot/package/socketcan/socketcan.mk
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ buildroot/package/socketcan/socketcan.mk 2011-04-14 11:02:47.957201006 +0200
-@@ -0,0 +1,55 @@
++++ buildroot/package/socketcan/socketcan.mk 2011-04-18 10:58:51.061201002 +0200
+@@ -0,0 +1,33 @@
+#############################################################
+#
+# Socket CAN
+#
+#############################################################
-+SOCKETCAN_TRUNK:=http://svn.berlios.de/svnroot/repos/socketcan/trunk
-+SOCKETCAN_REVISION:=1235
-+SOCKETCAN_NAME:=socketcan-svn-rev$(SOCKETCAN_REVISION)
-+SOCKETCAN_DIR:=$(BUILD_DIR)/$(SOCKETCAN_NAME)
-+SOCKETCAN_SOURCE:=$(SOCKETCAN_NAME).tar.bz2
-+SOCKETCAN_CAT:=$(BZCAT)
+PROGRAMS_ISOTP = isotpdump,isotprecv,isotpsend,isotpsniffer,isotptun,isotpserver
+PROGRAMS_CANGW = cangw
+PROGRAMS_SLCAN = slcan_attach,slcand
+PROGRAMS_CAN_UTILS = can-calc-bit-timing,candump,cansniffer,cansend,canplayer,cangen,canbusload,log2long,log2asc,asc2log,canlogserver,bcmserver,slcanpty,canfdtest
+PROGRAMS = {$(PROGRAMS_ISOTP),$(PROGRAMS_CANGW),$(PROGRAMS_SLCAN),$(PROGRAMS_CAN_UTILS)}
++SOCKETCAN_VERSION = 1235
++SOCKETCAN_SOURCE = socketcan-svn-rev$(SOCKETCAN_VERSION).tar.gz
++SOCKETCAN_SITE = http://svn.berlios.de/svnroot/repos/socketcan/trunk/
++SOCKETCAN_SITE_METHOD = svn
+
-+$(DL_DIR)/$(SOCKETCAN_SOURCE):
-+ (cd $(BUILD_DIR); \
-+ svn co -r $(SOCKETCAN_REVISION) $(SOCKETCAN_TRUNK) $(SOCKETCAN_NAME); \
-+ tar -cjvf $(SOCKETCAN_SOURCE) --exclude=.svn $(SOCKETCAN_NAME); \
-+ rm -rf $(SOCKETCAN_DIR); \
-+ mv $(SOCKETCAN_SOURCE) $(DL_DIR)/$(SOCKETCAN_SOURCE); \
-+ )
-+
-+$(SOCKETCAN_DIR)/.unpacked: $(DL_DIR)/$(SOCKETCAN_SOURCE)
-+ $(SOCKETCAN_CAT) $(DL_DIR)/$(SOCKETCAN_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-+ toolchain/patch-kernel.sh $(SOCKETCAN_DIR) package/socketcan $(SOCKETCAN_NAME)\*.patch
-+ touch $@
-+
-+$(SOCKETCAN_DIR)/can-utils/$(PROGRAMS): $(SOCKETCAN_DIR)/.unpacked
++define SOCKETCAN_BUILD_CMDS
+ $(MAKE) -C $(SOCKETCAN_DIR)/can-utils CC="$(TARGET_CC)"
++endef
+
-+$(TARGET_DIR)/usr/local/bin/$(PROGRAMS): $(SOCKETCAN_DIR)/can-utils/$(PROGRAMS)
++define SOCKETCAN_INSTALL_TARGET_CMDS
+ $(MAKE) DESTDIR=$(TARGET_DIR) -C $(SOCKETCAN_DIR)/can-utils install
+ $(TARGET_STRIP) $(TARGET_DIR)/usr/local/bin/$(PROGRAMS)
++endef
+
-+SOCKETCAN socketcan: $(TARGET_DIR)/usr/local/bin/$(PROGRAMS)
-+
-+socketcan-source: $(DL_DIR)/$(SOCKETCAN_SOURCE)
-+
-+socketcan-clean:
++define SOCKETCAN_CLEAN_CMDS
+ $(MAKE) -C $(SOCKETCAN_DIR)/can-utils clean
++endef
+
-+socketcan-dirclean:
++define SOCKETCAN_UNINSTALL_TARGET_CMDS
+ rm -rf $(SOCKETCAN_DIR)
++endef
+
-+############################################################
-+#
-+# Toplevel Makefile options
-+#
-+############################################################
-+ifeq ($(strip $(BR2_PACKAGE_SOCKETCAN)),y)
-+TARGETS+=socketcan
-+endif
++$(eval $(call GENTARGETS,package,socketcan))
hooks/post-receive
--
armadeus
|
|
From: Julien B a. A. <ar...@us...> - 2011-04-18 09:57:20
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 601d11b96700d0af4fe86c3dda62a7e59a150bea (commit)
via e503df8a265493c63ea5b7f70eb655e98ebae610 (commit)
via 881675e7e889fcc8e1cb10c862a99e9f8bbc20d9 (commit)
from 1a5b39e850b105e42063df8371454cd263515745 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 601d11b96700d0af4fe86c3dda62a7e59a150bea
Merge: e503df8a265493c63ea5b7f70eb655e98ebae610 1a5b39e850b105e42063df8371454cd263515745
Author: Julien Boibessot <jul...@ar...>
Date: Mon Apr 18 11:55:43 2011 +0200
Merge branch 'master' of ssh://artemys@armadeus.git.sourceforge.net/gitroot/armadeus/armadeus
commit e503df8a265493c63ea5b7f70eb655e98ebae610
Author: Julien Boibessot <jul...@ar...>
Date: Mon Apr 18 10:49:28 2011 +0200
[LINUX] 2.6.38: Activates OTG again on APF51
commit 881675e7e889fcc8e1cb10c862a99e9f8bbc20d9
Author: Julien Boibessot <jul...@ar...>
Date: Mon Apr 18 09:36:39 2011 +0200
[LINUX] 2.6.38: Makes OTG port work again on APF51
-----------------------------------------------------------------------
Summary of changes:
.../2.6.38/400-armadeus-add_apf51_module.patch | 24 +++++++++----------
...ot_link_otg_phy_clock_directly_to_osc_ref.patch | 17 ++++++++++++++
2 files changed, 28 insertions(+), 13 deletions(-)
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/431-armadeus-clock-mx51-do_not_link_otg_phy_clock_directly_to_osc_ref.patch
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
index 48dcd3a..adf98fc 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.38.1/arch/arm/mach-mx5/Kconfig
===================================================================
---- linux-2.6.38.1.orig/arch/arm/mach-mx5/Kconfig 2011-03-30 18:01:18.000000000 +0200
-+++ linux-2.6.38.1/arch/arm/mach-mx5/Kconfig 2011-03-30 18:33:57.000000000 +0200
+--- linux-2.6.38.1.orig/arch/arm/mach-mx5/Kconfig 2011-04-18 09:39:16.000000000 +0200
++++ linux-2.6.38.1/arch/arm/mach-mx5/Kconfig 2011-04-18 10:47:45.000000000 +0200
@@ -162,4 +162,17 @@
Include support for MX50 reference design platform (RDP) board. This
includes specific configurations for the board and its peripherals.
@@ -23,7 +23,7 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/Kconfig
Index: linux-2.6.38.1/arch/arm/mach-mx5/Makefile
===================================================================
--- linux-2.6.38.1.orig/arch/arm/mach-mx5/Makefile 2011-03-23 21:04:47.000000000 +0100
-+++ linux-2.6.38.1/arch/arm/mach-mx5/Makefile 2011-03-30 18:33:57.000000000 +0200
++++ linux-2.6.38.1/arch/arm/mach-mx5/Makefile 2011-04-18 10:47:45.000000000 +0200
@@ -7,6 +7,7 @@
obj-$(CONFIG_SOC_IMX50) += mm-mx50.o
@@ -35,11 +35,11 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/Makefile
Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c 2011-03-30 18:33:36.000000000 +0200
-@@ -0,0 +1,443 @@
++++ linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c 2011-04-18 10:20:41.000000000 +0200
+@@ -0,0 +1,441 @@
+/*
+ * Support for APF51 System On Module
-+ * Copyright (C) 2010-2011 Armadeus Systems
++ * Copyright (C) 2010-2011 Armadeus Systems <su...@ar...>
+ *
+ * Based on code which is:
+ * Copyright 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved.
@@ -447,15 +447,13 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
+ apf51_usbh1_usbh2_active();
+ mxc_register_device(&mxc_usbh1_device, &usbh1_config);
+ mxc_register_device(&mxc_usbh2_device, &usbh2_config);
-+#if 0
-+ /* Currently system boot freezes when OTG is activated :-( */
++
+ if (otg_mode_host)
+ mxc_register_device(&mxc_usbdr_host_device, &apf51_usbdr_host_config);
+ else {
+ initialize_otg_port(NULL);
+ mxc_register_device(&mxc_usbdr_udc_device, &apf51_usbdr_device_pdata);
+ }
-+#endif
+
+#ifdef CONFIG_MACH_APF51_HAS_BASEBOARD
+ apf51_baseboard_init();
@@ -482,8 +480,8 @@ Index: linux-2.6.38.1/arch/arm/mach-mx5/board-apf51.c
+
Index: linux-2.6.38.1/arch/arm/plat-mxc/include/mach/uncompress.h
===================================================================
---- linux-2.6.38.1.orig/arch/arm/plat-mxc/include/mach/uncompress.h 2011-03-30 18:01:22.000000000 +0200
-+++ linux-2.6.38.1/arch/arm/plat-mxc/include/mach/uncompress.h 2011-03-30 18:01:24.000000000 +0200
+--- linux-2.6.38.1.orig/arch/arm/plat-mxc/include/mach/uncompress.h 2011-04-18 09:39:18.000000000 +0200
++++ linux-2.6.38.1/arch/arm/plat-mxc/include/mach/uncompress.h 2011-04-18 09:39:18.000000000 +0200
@@ -63,6 +63,7 @@
#define MX3X_UART1_BASE_ADDR 0x43F90000
#define MX3X_UART2_BASE_ADDR 0x43F94000
@@ -504,8 +502,8 @@ Index: linux-2.6.38.1/arch/arm/plat-mxc/include/mach/uncompress.h
}
Index: linux-2.6.38.1/arch/arm/plat-mxc/include/mach/irqs.h
===================================================================
---- linux-2.6.38.1.orig/arch/arm/plat-mxc/include/mach/irqs.h 2011-03-30 18:01:23.000000000 +0200
-+++ linux-2.6.38.1/arch/arm/plat-mxc/include/mach/irqs.h 2011-03-30 18:01:24.000000000 +0200
+--- linux-2.6.38.1.orig/arch/arm/plat-mxc/include/mach/irqs.h 2011-04-18 09:39:18.000000000 +0200
++++ linux-2.6.38.1/arch/arm/plat-mxc/include/mach/irqs.h 2011-04-18 09:39:18.000000000 +0200
@@ -53,6 +53,8 @@
#define MXC_BOARD_IRQS 80
#elif defined CONFIG_MACH_APF27
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/431-armadeus-clock-mx51-do_not_link_otg_phy_clock_directly_to_osc_ref.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/431-armadeus-clock-mx51-do_not_link_otg_phy_clock_directly_to_osc_ref.patch
new file mode 100644
index 0000000..98d6236
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/431-armadeus-clock-mx51-do_not_link_otg_phy_clock_directly_to_osc_ref.patch
@@ -0,0 +1,17 @@
+Otherwise OTG controller accesses freeze at startup on APF51.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-2.6.38.1/arch/arm/mach-mx5/clock-mx51-mx53.c
+===================================================================
+--- linux-2.6.38.1.orig/arch/arm/mach-mx5/clock-mx51-mx53.c 2011-04-18 09:26:04.000000000 +0200
++++ linux-2.6.38.1/arch/arm/mach-mx5/clock-mx51-mx53.c 2011-04-18 09:26:34.000000000 +0200
+@@ -1385,7 +1385,7 @@
+ clk_disable(&iim_clk);
+
+ /* move usb_phy_clk to 24MHz */
+- clk_set_parent(&usb_phy1_clk, &osc_clk);
++/* clk_set_parent(&usb_phy1_clk, &osc_clk); */
+
+ /* set the usboh3_clk parent to pll2_sw_clk */
+ clk_set_parent(&usboh3_clk, &pll2_sw_clk);
hooks/post-receive
--
armadeus
|
|
From: jscheer <js...@us...> - 2011-04-15 14:41:54
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 1a5b39e850b105e42063df8371454cd263515745 (commit)
via f20e31629c872d0560bf0ad4d635785e44231020 (commit)
via dbb8c15c6e35fb927d549d809caf1fc265eb699c (commit)
from 54a615476b3df9e8b0161ceb3d94f5e2a2d8a5c8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1a5b39e850b105e42063df8371454cd263515745
Author: Jeremie Scheer <jer...@ar...>
Date: Fri Apr 15 16:41:15 2011 +0200
[BUILDROOT] [AS_DEVICES] Add test executable for as_devices C and C++ wrappers in Buildroot options.
[TEST] [AS_DEVICES] Fix as_devices C test (test_c.h) and add a test for C++ wrappers (test_cpp.h).
commit f20e31629c872d0560bf0ad4d635785e44231020
Author: Jeremie Scheer <jer...@ar...>
Date: Fri Apr 15 16:35:02 2011 +0200
[BUILDROOT] [AS_DEVICES] Fix some bugs in as_devices C files.
commit dbb8c15c6e35fb927d549d809caf1fc265eb699c
Author: Jeremie Scheer <jer...@ar...>
Date: Fri Apr 15 16:29:17 2011 +0200
[BUILDROOT] [AS_DEVICES] Add as_devices C++ wrappers (as_devices/cpp).
-----------------------------------------------------------------------
Summary of changes:
buildroot/package/armadeus/as_devices/Config.in | 26 +-
.../package/armadeus/as_devices/as_devices.mk | 36 ++
target/packages/as_devices/Makefile | 10 +-
target/packages/as_devices/c/as_adc.c | 4 +-
target/packages/as_devices/c/as_dac.h | 1 +
target/packages/as_devices/c/as_spi.h | 11 +-
target/packages/as_devices/cpp/Makefile | 38 +-
target/packages/as_devices/cpp/as_ad5258.cpp | 98 ----
target/packages/as_devices/cpp/as_ad5258.hpp | 67 ---
target/packages/as_devices/cpp/as_adc.cpp | 114 +----
target/packages/as_devices/cpp/as_adc.hpp | 60 +--
target/packages/as_devices/cpp/as_apf27_gpio.cpp | 108 -----
target/packages/as_devices/cpp/as_apf27_gpio.hpp | 57 ---
target/packages/as_devices/cpp/as_apf27_pwm.cpp | 165 -------
target/packages/as_devices/cpp/as_apf27_pwm.hpp | 66 ---
target/packages/as_devices/cpp/as_dac.cpp | 110 +----
target/packages/as_devices/cpp/as_dac.hpp | 65 +--
target/packages/as_devices/cpp/as_ds1374.cpp | 88 ----
.../packages/as_devices/cpp/as_dynamic_table.hpp | 57 ---
target/packages/as_devices/cpp/as_gpio.cpp | 135 ++++++
.../as_devices/cpp/{as_ds1374.hpp => as_gpio.hpp} | 47 +-
target/packages/as_devices/cpp/as_i2c.cpp | 179 ++++----
target/packages/as_devices/cpp/as_i2c.hpp | 61 +--
target/packages/as_devices/cpp/as_max1027.cpp | 482 -------------------
target/packages/as_devices/cpp/as_max1027.hpp | 99 ----
target/packages/as_devices/cpp/as_max5821.cpp | 282 -----------
target/packages/as_devices/cpp/as_max5821.hpp | 125 -----
target/packages/as_devices/cpp/as_spi.cpp | 130 +++++
.../as_devices/cpp/{as_ds1374.hpp => as_spi.hpp} | 48 +-
target/packages/as_devices/cpp/main.cpp | 85 ----
target/packages/as_devices/main.c | 5 +-
target/packages/as_devices/test_c.h | 267 +++++------
target/packages/as_devices/test_cpp.h | 493 +++++++++++++++++---
33 files changed, 1151 insertions(+), 2468 deletions(-)
delete mode 100644 target/packages/as_devices/cpp/as_ad5258.cpp
delete mode 100644 target/packages/as_devices/cpp/as_ad5258.hpp
delete mode 100644 target/packages/as_devices/cpp/as_apf27_gpio.cpp
delete mode 100644 target/packages/as_devices/cpp/as_apf27_gpio.hpp
delete mode 100644 target/packages/as_devices/cpp/as_apf27_pwm.cpp
delete mode 100644 target/packages/as_devices/cpp/as_apf27_pwm.hpp
delete mode 100644 target/packages/as_devices/cpp/as_ds1374.cpp
delete mode 100644 target/packages/as_devices/cpp/as_dynamic_table.hpp
create mode 100644 target/packages/as_devices/cpp/as_gpio.cpp
copy target/packages/as_devices/cpp/{as_ds1374.hpp => as_gpio.hpp} (56%)
delete mode 100644 target/packages/as_devices/cpp/as_max1027.cpp
delete mode 100644 target/packages/as_devices/cpp/as_max1027.hpp
delete mode 100644 target/packages/as_devices/cpp/as_max5821.cpp
delete mode 100644 target/packages/as_devices/cpp/as_max5821.hpp
create mode 100644 target/packages/as_devices/cpp/as_spi.cpp
rename target/packages/as_devices/cpp/{as_ds1374.hpp => as_spi.hpp} (55%)
delete mode 100644 target/packages/as_devices/cpp/main.cpp
diff --git a/buildroot/package/armadeus/as_devices/Config.in b/buildroot/package/armadeus/as_devices/Config.in
index c1c1c6d..7791781 100644
--- a/buildroot/package/armadeus/as_devices/Config.in
+++ b/buildroot/package/armadeus/as_devices/Config.in
@@ -4,13 +4,25 @@ config BR2_PACKAGE_AS_DEVICES
help
Library that drives armadeus specific devices.
-#config BR2_PACKAGE_AS_DEVICES_CPP
-# depends on BR2_PACKAGE_AS_DEVICES
-# bool "wrapper C++"
-# default n
-# help
-# C++ wrapper for as_devices library
-#
+config BR2_PACKAGE_AS_DEVICES_TESTS
+ bool "as_device test"
+ depends on BR2_PACKAGE_AS_DEVICES
+ help
+ Executable that can test all as_devices
+
+config BR2_PACKAGE_AS_DEVICES_CPP
+ depends on BR2_PACKAGE_AS_DEVICES
+ bool "wrapper C++"
+ default n
+ help
+ C++ wrapper for as_devices library
+
+config BR2_PACKAGE_AS_DEVICES_TESTS_CPP
+ bool "as_device C++ wrappers test"
+ depends on BR2_PACKAGE_AS_DEVICES_CPP
+ help
+ Executable that can test as_devices C++ wrappers
+
config BR2_PACKAGE_AS_DEVICES_PYTHON
depends on BR2_PACKAGE_AS_DEVICES
depends on BR2_PACKAGE_PYTHON
diff --git a/buildroot/package/armadeus/as_devices/as_devices.mk b/buildroot/package/armadeus/as_devices/as_devices.mk
index 5cc203b..f609288 100644
--- a/buildroot/package/armadeus/as_devices/as_devices.mk
+++ b/buildroot/package/armadeus/as_devices/as_devices.mk
@@ -26,11 +26,26 @@ AS_DEVICES_PYTHON_MODULE:=AsDevices
AS_DEVICES_PYTHON_TARGET_DIR:=usr/lib/$(PYTHON)/
AS_DEVICES_PYTHON_TARGET_BINARY:=$(AS_DEVICES_PYTHON_TARGET_DIR)/$(AS_DEVICES_PYTHON_MODULE)
+AS_DEVICES_TEST_BINARY:=test_cdevices
+AS_DEVICES_TEST_TARGET_DIR:=/usr/bin
+AS_DEVICES_TEST_TARGET_BINARY:=$(AS_DEVICES_TEST_TARGET_DIR)/$(AS_DEVICES_TEST_BINARY)
+
+AS_DEVICES_TEST_CPP_BINARY:=test_cppdevices
+AS_DEVICES_TEST_CPP_TARGET_DIR:=/usr/bin
+AS_DEVICES_TEST_CPP_TARGET_BINARY:=$(AS_DEVICES_TEST_CPP_TARGET_DIR)/$(AS_DEVICES_TEST_CPP_BINARY)
+
AS_DEVICES_BINARIES=$(TARGET_DIR)/$(AS_DEVICES_TARGET_BINARY)
+ifeq ($(strip $(BR2_PACKAGE_AS_DEVICES_TESTS)),y)
+AS_DEVICES_BINARIES+= $(TARGET_DIR)/$(AS_DEVICES_TEST_TARGET_BINARY)
+endif
ifeq ($(strip $(BR2_PACKAGE_AS_DEVICES_CPP)),y)
AS_DEVICES_BINARIES+= $(TARGET_DIR)/$(AS_DEVICES_CPP_TARGET_BINARY)
+ifeq ($(strip $(BR2_PACKAGE_AS_DEVICES_TESTS_CPP)),y)
+AS_DEVICES_BINARIES+= $(TARGET_DIR)/$(AS_DEVICES_TEST_CPP_TARGET_BINARY)
+endif
endif
+
ifeq ($(strip $(BR2_PACKAGE_AS_DEVICES_PYTHON)),y)
AS_DEVICES_BINARIES+= $(TARGET_DIR)/$(AS_DEVICES_PYTHON_TARGET_BINARY)
endif
@@ -53,6 +68,16 @@ $(STAGING_DIR)/$(AS_DEVICES_TARGET_BINARY): $(AS_DEVICES_DIR)/c/$(AS_DEVICES_BIN
$(TARGET_DIR)/$(AS_DEVICES_TARGET_BINARY): $(STAGING_DIR)/$(AS_DEVICES_TARGET_BINARY)
$(MAKE) INSTALL_DIR=$(TARGET_DIR) STRIP="$(STRIPCMD) $(STRIP_STRIP_UNNEEDED)" -C $(AS_DEVICES_DIR) install-exe
+ifeq ($(strip $(BR2_PACKAGE_AS_DEVICES_TESTS)),y)
+
+$(TARGET_DIR)/$(AS_DEVICES_TEST_TARGET_BINARY): $(AS_DEVICES_DIR)/$(AS_DEVICES_TEST_BINARY)
+ cp -rf $(AS_DEVICES_DIR)/$(AS_DEVICES_TEST_BINARY) $(TARGET_DIR)/$(AS_DEVICES_TEST_TARGET_BINARY)
+ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/$(AS_DEVICES_TEST_TARGET_BINARY)
+
+$(AS_DEVICES_DIR)/$(AS_DEVICES_TEST_BINARY): $(AS_DEVICES_DIR)/Makefile
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" $(AS_DEVICES_TEST_BINARY) -C $(AS_DEVICES_DIR)
+endif
+
ifeq ($(strip $(BR2_PACKAGE_AS_DEVICES_CPP)),y)
$(TARGET_DIR)/$(AS_DEVICES_CPP_TARGET_BINARY): $(AS_DEVICES_DIR)/cpp/$(AS_DEVICES_CPP_BINARY)
install -D $< $@
@@ -60,6 +85,17 @@ $(TARGET_DIR)/$(AS_DEVICES_CPP_TARGET_BINARY): $(AS_DEVICES_DIR)/cpp/$(AS_DEVICE
$(AS_DEVICES_DIR)/cpp/$(AS_DEVICES_CPP_BINARY): $(AS_DEVICES_DIR)/Makefile
$(TARGET_CONFIGURE_OPTS) $(MAKE) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" -C $(AS_DEVICES_DIR)/cpp
+
+ifeq ($(strip $(BR2_PACKAGE_AS_DEVICES_TESTS_CPP)),y)
+
+$(TARGET_DIR)/$(AS_DEVICES_TEST_CPP_TARGET_BINARY): $(AS_DEVICES_DIR)/$(AS_DEVICES_TEST_CPP_BINARY)
+ cp -rf $(AS_DEVICES_DIR)/$(AS_DEVICES_TEST_CPP_BINARY) $(TARGET_DIR)/$(AS_DEVICES_TEST_CPP_TARGET_BINARY)
+ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/$(AS_DEVICES_TEST_CPP_TARGET_BINARY)
+
+$(AS_DEVICES_DIR)/$(AS_DEVICES_TEST_CPP_BINARY): $(AS_DEVICES_DIR)/Makefile
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" $(AS_DEVICES_TEST_CPP_BINARY) -C $(AS_DEVICES_DIR)
+endif
+
endif
ifeq ($(strip $(BR2_PACKAGE_AS_DEVICES_PYTHON)),y)
diff --git a/target/packages/as_devices/Makefile b/target/packages/as_devices/Makefile
index d052b39..94fd1a2 100644
--- a/target/packages/as_devices/Makefile
+++ b/target/packages/as_devices/Makefile
@@ -30,11 +30,11 @@ all: $(C_BINARY) $(P_WRAPPER)
$(C_BINARY): main.c test_c.h $(C_LIB)
$(CC) $(CFLAGS) main.c $(C_LIB) -o $(C_BINARY) -I$(C_INCLUDE) -lm
-#$(CPP_BINARY): main.c test_cpp.h $(CPP_LIB) $(C_LIB)
-# $(CXX) $(CFLAGS) main.c $(C_LIB) $(CPP_LIB) -I$(C_INCLUDE) -I$(CPP_INCLUDE) -o $(CPP_BINARY)
-#
-#$(CPP_LIB): $(C_LIB)
-# cd cpp; make CXX=$(CXX)
+$(CPP_BINARY): main.c test_cpp.h $(CPP_LIB) $(C_LIB)
+ $(CXX) $(CFLAGS) main.c $(C_LIB) $(CPP_LIB) -I$(C_INCLUDE) -I$(CPP_INCLUDE) -o $(CPP_BINARY) -D__cplusplus
+
+$(CPP_LIB): $(C_LIB)
+ cd cpp; make CXX=$(CXX)
$(C_LIB):
make -C c/
diff --git a/target/packages/as_devices/c/as_adc.c b/target/packages/as_devices/c/as_adc.c
index eb702f4..9232600 100644
--- a/target/packages/as_devices/c/as_adc.c
+++ b/target/packages/as_devices/c/as_adc.c
@@ -62,12 +62,12 @@ int32_t as_adc_get_value_in_millivolts(struct as_adc_device *aDev, int aChannel)
int32_t as_adc_close(struct as_adc_device *aDev) {
int ret;
if (strncmp(AS_MAX1027_NAME, aDev->device_type, strlen(AS_MAX1027_NAME)) == 0) {
- ret = as_adc_close(aDev);
+ ret = as_adc_close_max1027(aDev);
free(aDev);
return ret;
}
if (strncmp(AS_AS1531_NAME, aDev->device_type, strlen(AS_AS1531_NAME)) == 0) {
- ret = as_adc_close_max1027(aDev);
+ ret = as_adc_close_as1531(aDev);
free(aDev);
return ret;
}
diff --git a/target/packages/as_devices/c/as_dac.h b/target/packages/as_devices/c/as_dac.h
index 6b569a3..8ace82b 100644
--- a/target/packages/as_devices/c/as_dac.h
+++ b/target/packages/as_devices/c/as_dac.h
@@ -27,6 +27,7 @@ extern "C" {
#endif
#include "as_dac.h"
+#include <stdint.h>
#define AS_MAX5821_TYPE "max5821"
#define AS_MCP4912
diff --git a/target/packages/as_devices/c/as_spi.h b/target/packages/as_devices/c/as_spi.h
index 9fd2a51..99907ee 100644
--- a/target/packages/as_devices/c/as_spi.h
+++ b/target/packages/as_devices/c/as_spi.h
@@ -52,7 +52,7 @@ int as_spi_open(const unsigned char *aSpidev_name);
*/
int as_spi_set_lsb(int aFd, uint8_t aLsb);
-/** @brief Set bits order
+/** @brief Get bits order
*
* @param aFd spidev file handler
*
@@ -80,15 +80,6 @@ int as_spi_set_mode(int aFd, uint8_t aMode);
*/
int as_spi_get_mode(int aFd);
-/** @brief Get bits order
- *
- * @param aFd spidev file handler
- *
- * @return lsb first if positive, msb first if 0, negative value on error
- *
- */
-int as_spi_get_lsb(int aFd);
-
/** @brief Set clock bus speed
*
* @param aFd spidev file handler
diff --git a/target/packages/as_devices/cpp/Makefile b/target/packages/as_devices/cpp/Makefile
index 65e0c28..4f88be7 100644
--- a/target/packages/as_devices/cpp/Makefile
+++ b/target/packages/as_devices/cpp/Makefile
@@ -1,20 +1,18 @@
# to compile for arm :
-# make CXX=../../bsp/buildroot/build_armv5te/staging_dir/usr/bin/arm-linux-g++
-# make CXX=~/Projects/HMSDemo/software/bsp/buildroot/build_armv5te/staging_dir/usr/bin/arm-linux-g++
-# make CXX=~/Projects/virgin_HMS/software/bsp/buildroot/build_armv5te/staging_dir/usr/bin/arm-linux-g++
+# make CXX=../../../buildroot/build_armv5te/staging_dir/usr/bin/arm-linux-g++
#
+# Default values for local compiling:
+ARMADEUS_BASE_DIR=../../../../
+-include $(ARMADEUS_BASE_DIR)/Makefile.in
CXXFLAGS=-Wall -g -O0
LDFLAGS=
-OBJ=as_apf27_pwm.o
-OBJ+= as_i2c.o
-OBJ+= as_apf27_gpio.o
-#OBJ+= as_max1027.o
-#OBJ+= as_max5821.o
-#OBJ+= as_adc.o
-#OBJ+= as_dac.o
-#OBJ+= as_ad5258.o
-#OBJ+= as_ds1374.o
+OBJS = as_i2c.o
+OBJS += as_gpio.o
+OBJS += as_dac.o
+OBJS += as_adc.o
+
+OBJS += as_spi.o
LIBRARY=as_devices_cpp
LIB_VERS=1
@@ -23,20 +21,22 @@ SONAME=lib${LIBRARY}.so
LIBNAME=${SONAME}.${LIB_VERS}
ARCHIVE_CMD=ar
ARCHIVE_OPTS=-cvq
+
C_INCLUDE=../c/
C_LIB=../c/libas_devices.so.1
-${LIBNAME}: ${OBJ}
- ${CXX} -shared -Wl,-soname,${SONAME} -o ${SONAME} ${OBJ} ${C_LIB} -lc
+${LIBNAME}: ${OBJS}
+ ${CXX} -shared -Wl,-soname,${SONAME} -o ${SONAME} ${OBJS} ${C_LIB} -lc
ln -s ${SONAME} ${LIBNAME}
-${STAT_LIB}: ${OBJ}
- ${ARCHIVE_CMD} ${ARCHIVE_OPTS} ${STAT_LIB} ${OBJ}
+${STAT_LIB}: ${OBJS}
+ ${ARCHIVE_CMD} ${ARCHIVE_OPTS} ${STAT_LIB} ${OBJS}
%.o: %.cpp
- $(CXX) -fPIC -o $@ -c $< ${CXXFLAGS} -I${C_INCLUDE}
+ $(CXX) -fPIC -o $@ -c $< ${CXXFLAGS} -I${C_INCLUDE} -D__cplusplus
clean:
- -rm ${OBJ} ${BINARY}
- -rm ${LIBNAME} ${SONAME}
+ -rm ${OBJ} ${BINARY} ${STAT_LIB} ${LIBNAME}
+ -rm *.o
+ -rm *.so
diff --git a/target/packages/as_devices/cpp/as_ad5258.cpp b/target/packages/as_devices/cpp/as_ad5258.cpp
deleted file mode 100644
index f8d24b3..0000000
--- a/target/packages/as_devices/cpp/as_ad5258.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-** THE ARMadeus Systems
-**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License as published by the Free Software Foundation; either
-** version 2.1 of the License, or (at your option) any later version.
-**
-** This library 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
-** Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public
-** License along with this library; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#include "as_ad5258.hpp"
-
-AsAd5258::AsAd5258(int aI2cNumber)
-{
- mI2c = AsI2c::getInstance(aI2cNumber);
- mI2cAd5258Addr = I2C_AD5258_ADDR;
-}
-
-AsAd5258::~AsAd5258()
-{
-}
-
-/*------------------------------------------------------------------------------*/
-/** Set RDAC value
- * @param aValue int value between 0 and 63
- */
-void
-AsAd5258::setRdac(int aValue)
-{
- mI2c->writeByteData(mI2cAd5258Addr,0x00,aValue);
-}
-
-/*------------------------------------------------------------------------------*/
-/** Get RDAC value
- * @return int value between 0 and 63
- */
-int
-AsAd5258::getRdac(void)
-{
- unsigned char value;
- mI2c->readByteData(mI2cAd5258Addr,0x00,&value);
- return value;
-}
-
-/*------------------------------------------------------------------------------*/
-/** Set EEPROM value for RDAC
- * @param aValue int value
- */
-void
-AsAd5258::setEeprom(int aValue)
-{
- mI2c->writeByteData(mI2cAd5258Addr,0x20,aValue);
-}
-
-/*------------------------------------------------------------------------------*/
-/** Get EEPROM value
- * @return int value
- */
-int
-AsAd5258::getEeprom(void)
-{
- unsigned char value;
- mI2c->readByteData(mI2cAd5258Addr,0x20,&value);
- return value;
-}
-
-/*------------------------------------------------------------------------------*/
-/** Store RDAC value in EEPROM
- */
-void
-AsAd5258::store(void)
-{
- mI2c->writeByte(mI2cAd5258Addr,0xc0);
- /* wait for 26ms */
-}
-
-/*------------------------------------------------------------------------------*/
-/** Restore RDAC value from EEPROM
- */
-void
-AsAd5258::restore(void)
-{
- mI2c->writeByte(mI2cAd5258Addr,0xa0);
- /* wait for 300µs */
-}
-
-
diff --git a/target/packages/as_devices/cpp/as_ad5258.hpp b/target/packages/as_devices/cpp/as_ad5258.hpp
deleted file mode 100644
index c69c789..0000000
--- a/target/packages/as_devices/cpp/as_ad5258.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-** THE ARMadeus Systems
-**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License as published by the Free Software Foundation; either
-** version 2.1 of the License, or (at your option) any later version.
-**
-** This library 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
-** Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public
-** License along with this library; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-**
-** TODO: use kernel driver instead of i2c bus :
-** http://www.mail-archive.com/ucl...@bl.../msg02051.html
-*/
-
-#ifndef __ASAD5258_HPP__
-#define __ASAD5258_HPP__
-
-#include "as_i2c.hpp"
-
-#define I2C_AD5258_ADDR (0x18)
-#define I2C_DEV_PATH "/dev/i2c-"
-#define I2C_BUS_NUM (0)
-
-/** AsAd5258 description
- *
- */
-class AsAd5258 {
-public:
- AsAd5258(int aI2cNumber);
-
- virtual ~AsAd5258();
-
- void setRdac(int aValue);
- int getRdac(void);
- void setEeprom(int aValue);
- int getEeprom(void);
- void store(void);
- void restore(void);
-
-private:
- int mI2cNumber;
- unsigned char mI2cAd5258Addr;
-
- AsI2c * mI2c;
-
- /** XXX: i2c methods
- */
- int mFHandlerI2c;
- int i2c_init(void);
- int i2c_readByte (unsigned char reg, unsigned char *buf );
- int i2c_writeByte(unsigned char reg, unsigned char value);
-
-};
-
-#endif /* __ASAD5258_HPP__ */
-
-
diff --git a/target/packages/as_devices/cpp/as_adc.cpp b/target/packages/as_devices/cpp/as_adc.cpp
index 0a014ea..bc23adc 100644
--- a/target/packages/as_devices/cpp/as_adc.cpp
+++ b/target/packages/as_devices/cpp/as_adc.cpp
@@ -1,8 +1,8 @@
/*
** THE ARMadeus Systems
**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
+** Copyright (C) 2011 The armadeus systems team
+** Jérémie Scheer <jer...@ar...>
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
@@ -17,107 +17,41 @@
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+**
*/
-#include <stdlib.h>
-#include <stdio.h>
-#include "as_adc.hpp"
-
-AsAdc::AsAdc(int aNumberOfChannels)
-{
- mChannelNumber = aNumberOfChannels;
- mChannelHandlers = (int *)malloc(sizeof(int)*aNumberOfChannels);
- for(int i=0; i < aNumberOfChannels; i++)
- {
- mChannelHandlers[i] = -1;
- }
- mChannelObject = (void **)malloc(sizeof(void *)*aNumberOfChannels);
- for(int i=0; i < aNumberOfChannels; i++)
- {
- mChannelObject[i] = NULL;
- }
-}
-
-AsAdc::~AsAdc()
-{
- free(mChannelHandlers);
- free(mChannelObject);
-}
-/*------------------------------------------------------------------------------*/
+#include "as_adc.hpp"
+#include <iostream>
-/** Connect adc to an object
+/** @brief Constructor: Initialize port access
*
- * @param object to connect on adc
- * @param channel number
- * @return error
+ * @param aDeviceNum device number
+ * @param aAdcType ADC type 0:max1027 1:as1531
+ * @param aVRef reference tension in millivolts
*/
-AsAdc::AsAdc_errors
-AsAdc::connect(void * aObject, int aChannelNum)
+AsAdc::AsAdc(const char *aAdcType, int aDeviceNum, int aVRef)
{
- if( aChannelNum >= mChannelNumber || aChannelNum < 0)
- {
- return AS_ADC_WRONGCHAN;
- }
- if (mChannelObject[aChannelNum] != NULL)
- {
- return AS_ADC_ALREADY_CONNECTED;
- }
- mChannelObject[aChannelNum] = aObject;
- return AS_ADC_OK;
+ mDev = as_adc_open(aAdcType, aDeviceNum, aVRef);
}
-/*------------------------------------------------------------------------------*/
-
-/** Connect adc to an object
- *
- * @param channel number
- * @return error
- */
-AsAdc::AsAdc_errors
-AsAdc::disconnect(int aChannelNum)
+AsAdc::~AsAdc()
{
- if(aChannelNum >= mChannelNumber || aChannelNum < 0)
- {
- return AS_ADC_WRONGCHAN;
- }
- if(mChannelObject[aChannelNum] == NULL)
- {
- return AS_ADC_NOCONNECTION;
- }
- mChannelObject[aChannelNum] = NULL;
- return AS_ADC_OK;
-}
-/*------------------------------------------------------------------------------*/
+ int ret;
-/** Connect adc to an object
- *
- * @param channel number
- * @return error
- */
-AsAdc::AsAdc_errors
-AsAdc::disconnect(void * aObject)
-{
- return disconnect(getObjectChannel(aObject));
+ ret = as_adc_close(mDev);
+ if (ret < 0)
+ {
+ std::cout<<"AsAdc destruction error"<<std::endl;
+ }
}
-/*------------------------------------------------------------------------------*/
-
-/** Return channel number of an object
+/** @brief get value in millivolts
*
- * @param object pointer
- * @return channel number
+ * @param aChannel channel number
+ *
+ * @return value in millivolts ; error if negative millivolts
*/
-int
-AsAdc::getObjectChannel(void * aObject)
+long AsAdc::getValueInMillivolts(int aChannel) const
{
- for (int i=0; i< mChannelNumber;i++)
- {
- if(aObject == mChannelObject[i])
- {
- return i;
- }
- }
- printf("No connection for this object in adc\n");
- return (int)AS_ADC_NOCONNECTION;
+ return as_adc_get_value_in_millivolts(mDev, aChannel);
}
-
diff --git a/target/packages/as_devices/cpp/as_adc.hpp b/target/packages/as_devices/cpp/as_adc.hpp
index c576662..bda14d1 100644
--- a/target/packages/as_devices/cpp/as_adc.hpp
+++ b/target/packages/as_devices/cpp/as_adc.hpp
@@ -1,8 +1,8 @@
/*
** THE ARMadeus Systems
**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
+** Copyright (C) 2011 The armadeus systems team
+** Jérémie Scheer <jer...@ar...>
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
@@ -17,54 +17,24 @@
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+**
*/
-#ifndef __ASADC_HPP__
-#define __ASADC_HPP__
+#ifndef AS_ADC__HPP__
+#define AS_ADC__HPP__
-using namespace std;
+#include "as_adc.h"
-/** AsAdc description
- *
- */
-class AsAdc{
- public:
- enum AsAdc_errors
- {
- AS_ADC_NOCONNECTION = -7,
- AS_ADC_ALREADY_CONNECTED = -6,
- AS_ADC_WRONGCHAN = -5,
- AS_ADC_LSEEK = -4,
- AS_ADC_READFILE = -3,
- AS_ADC_WRITEFILE = -2,
- AS_ADC_OPENFILE = -1,
- AS_ADC_OK = 0
- };
-
- AsAdc(int aNumberOfChannels);
-
- virtual ~AsAdc();
+class AsAdc
+{
+public:
+ AsAdc(const char *aAdcType, int aDeviceNum, int aVRef);
+ virtual ~AsAdc();
- /* ADC connection */
- AsAdc_errors connect(void * aObject, int aChannelNum);
- AsAdc_errors disconnect(int aChannelNum);
- AsAdc_errors disconnect(void * aObject);
-
- /* ADC access */
- virtual AsAdc_errors readTemperature_mC(void)=0;
- virtual float readTemperature_C(void)=0;
-
- virtual AsAdc_errors getValueInMiliVolt(void * aObject)=0;
- virtual AsAdc_errors getValueInMiliVolt(int aChannelNumber)=0;
- virtual float getValueInVolt (void * aObject)=0;
-
- protected:
- int getObjectChannel(void * aObject);
- int * mChannelHandlers; /**< file handler for each channel */
- void ** mChannelObject; /**< object for each channel */
- int mChannelNumber;
+ long getValueInMillivolts(int aChannel) const;
+protected:
+ mutable struct as_adc_device *mDev;
};
-#endif /* __ASADC_HPP__ */
-
+#endif // AS_ADC__HPP__
diff --git a/target/packages/as_devices/cpp/as_apf27_gpio.cpp b/target/packages/as_devices/cpp/as_apf27_gpio.cpp
deleted file mode 100644
index f9b19e9..0000000
--- a/target/packages/as_devices/cpp/as_apf27_gpio.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
-** THE ARMadeus Systems
-**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License as published by the Free Software Foundation; either
-** version 2.1 of the License, or (at your option) any later version.
-**
-** This library 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
-** Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public
-** License along with this library; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-#include "as_apf27_gpio.hpp"
-
-AsDynamicTable * AsApf27Gpio::mInstances = new AsDynamicTable();
-
-/*------------------------------------------------------------------------------*/
-/** Singleton constructor
- * @param aPortLetter port letter in upper case
- * @return object
- */
-AsApf27Gpio *
-AsApf27Gpio::getInstance(char aPortLetter)
-{
- AsApf27Gpio * instance;
-
- instance = (AsApf27Gpio *)mInstances->getInstance(aPortLetter-'A');
- if(instance == NULL)
- {
- instance = new AsApf27Gpio(aPortLetter);
- mInstances->setInstance((void *)instance, aPortLetter-'A');
- }
-
- return instance;
-}
-
-/*------------------------------------------------------------------------------*/
-
-AsApf27Gpio::AsApf27Gpio(char aPortLetter)
-{
- mPortLetter = aPortLetter;
- as_apf27_gpio_init(aPortLetter);
-}
-/*------------------------------------------------------------------------------*/
-
-AsApf27Gpio::~AsApf27Gpio()
-{
- as_apf27_gpio_close(mPortLetter);
-}
-
-/*------------------------------------------------------------------------------*/
-
-/** Init Gpio
- * @return AsApf27GpioError
- */
-int
-AsApf27Gpio::init()
-{
- return as_apf27_gpio_init(mPortLetter);
-}
-
-/*------------------------------------------------------------------------------*/
-
-/** Set pin direction
- * @param aPinNum : pin number
- * @param aDirection : direction 0:input 1:output
- * @return AsApf27GpioError
- */
-int
-AsApf27Gpio::setPinDirection(int aPinNum, int aDirection)
-{
- return as_apf27_gpio_set_pin_value(mPortLetter, aPinNum, aDirection);
-}
-
-/*------------------------------------------------------------------------------*/
-
-/** Set pin value
- * @param aPinNum pin number
- * @param aValue value of pin (1 or 0)
- * @return AsApf27GpioError
- */
-int
-AsApf27Gpio::setPinValue(int aPinNum, int aValue)
-{
- return as_apf27_gpio_set_pin_value(mPortLetter, aPinNum, aValue);
-}
-
-/*------------------------------------------------------------------------------*/
-
-/** Set pin value
- * @param aPinNum pin number
- * @param aValue value of pin (1 or 0)
- * @return AsApf27GpioError
- */
-
-int
-AsApf27Gpio::getPinValue(int aPinNum)
-{
- return as_apf27_gpio_get_pin_value(mPortLetter, aPinNum);
-}
diff --git a/target/packages/as_devices/cpp/as_apf27_gpio.hpp b/target/packages/as_devices/cpp/as_apf27_gpio.hpp
deleted file mode 100644
index d303522..0000000
--- a/target/packages/as_devices/cpp/as_apf27_gpio.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-** THE ARMadeus Systems
-**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License as published by the Free Software Foundation; either
-** version 2.1 of the License, or (at your option) any later version.
-**
-** This library 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
-** Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public
-** License along with this library; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#ifndef __ASAPF27GPIO_HPP__
-#define __ASAPF27GPIO_HPP__
-
-#include "as_apf27_gpio.h"
-#define DYNAMIC_TABLE_SIZE NUMBER_OF_PORTS
-#include "as_dynamic_table.hpp"
-
-/** AsApf27Gpio description
- *
- */
-class AsApf27Gpio {
-
-public:
-
- static AsApf27Gpio * getInstance(char aPortLetter);
- virtual ~AsApf27Gpio();
-
- int setPinDirection(int aPinNum,int aDirection);
- int setPinValue(int aPinNum, int aValue);
- int getPinValue(int aPinNum);
-
-protected:
- static AsDynamicTable * mInstances;
-
- AsApf27Gpio(char aPortLetter);
-
- int init();
-
- char mPortLetter; /**> Port letter in upper case */
-
- int mFileHandlerGpioPort;
-};
-
-#endif /* __ASAPF27GPIO_HPP__ */
-
-
diff --git a/target/packages/as_devices/cpp/as_apf27_pwm.cpp b/target/packages/as_devices/cpp/as_apf27_pwm.cpp
deleted file mode 100644
index 28602d5..0000000
--- a/target/packages/as_devices/cpp/as_apf27_pwm.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
-** THE ARMadeus Systems
-**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License as published by the Free Software Foundation; either
-** version 2.1 of the License, or (at your option) any later version.
-**
-** This library 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
-** Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public
-** License along with this library; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-#include "as_apf27_pwm.hpp"
-#include <string.h>
-#include <fcntl.h> /* for open() */
-#include <errno.h> /* for perror() */
-#include <unistd.h> /* for write() */
-#include <iostream>
-
-AsDynamicTable * AsApf27Pwm::mInstances = new AsDynamicTable();
-
-/*------------------------------------------------------------------------------*/
-AsApf27Pwm *
-AsApf27Pwm::getInstance(int aPwmNumber)
-{
- void * instance;
-
- instance = mInstances->getInstance(aPwmNumber);
- if(instance == NULL)
- {
- instance =(void *)(new AsApf27Pwm(aPwmNumber));
- mInstances->setInstance(instance,aPwmNumber);
- }
- return (AsApf27Pwm *)instance;
-}
-
-/*------------------------------------------------------------------------------*/
-
-AsApf27Pwm::AsApf27Pwm(int aPwmNumber)
-{
- int ret;
- ret = as_apf27_pwm_init(aPwmNumber);
- if(ret < 0)
- {
- std::cout << "Pwm initialization error" << std::endl;
- }
-}
-
-/*------------------------------------------------------------------------------*/
-
-AsApf27Pwm::~AsApf27Pwm()
-{
- mInstances->setInstance(NULL,mPwmNumber);
-}
-
-/*------------------------------------------------------------------------------*/
-/** set Frequency
- *
- * @param aFrequency frequency
- */
-void
-AsApf27Pwm::setFrequency(int aFrequency)
-{
- as_apf27_pwm_setFrequency(mPwmNumber, aFrequency);
-}
-
-/*------------------------------------------------------------------------------*/
-/** get Frequency value
- *
- * @return int frequency
- */
-int
-AsApf27Pwm::getFrequency(void)
-{
- return as_apf27_pwm_getFrequency(mPwmNumber);
-}
-
-/*------------------------------------------------------------------------------*/
-/** set period
- *
- * @param aPeriod period
- */
-void
-AsApf27Pwm::setPeriod(int aPeriod)
-{
- as_apf27_pwm_setPeriod(mPwmNumber, aPeriod);
-}
-
-/*------------------------------------------------------------------------------*/
-/** get Period
- *
- * @return period int
- */
-int
-AsApf27Pwm::getPeriod(void)
-{
- return as_apf27_pwm_getPeriod(mPwmNumber);
-}
-
-/*------------------------------------------------------------------------------*/
-/** set duty
- * @param aDuty duty
- */
-void
-AsApf27Pwm::setDuty(int aDuty)
-{
- as_apf27_pwm_setDuty(mPwmNumber, aDuty);
-}
-
-/*------------------------------------------------------------------------------*/
-/** get duty
- *
- * @return duty
- */
-int
-AsApf27Pwm::getDuty(void)
-{
- return as_apf27_pwm_getDuty(mPwmNumber);
-}
-
-/*------------------------------------------------------------------------------*/
-/** activate pwm
- * @param aEnable
- */
-bool
-AsApf27Pwm::activate(bool aEnable)
-{
- int ret;
-
- if(aEnable)
- as_apf27_pwm_activate(mPwmNumber,1);
- else
- as_apf27_pwm_activate(mPwmNumber,0);
-
- if(ret)
- return true;
- else
- return false;
-}
-
-/*------------------------------------------------------------------------------*/
-/** get State of pwm (enable or not)
- * @return state
- */
-bool
-AsApf27Pwm::getState(void)
-{
- int ret;
- ret = as_apf27_pwm_getState(mPwmNumber);
-
- if(ret)
- return true;
- else
- return false;
-}
-
-
diff --git a/target/packages/as_devices/cpp/as_apf27_pwm.hpp b/target/packages/as_devices/cpp/as_apf27_pwm.hpp
deleted file mode 100644
index 28d9a6b..0000000
--- a/target/packages/as_devices/cpp/as_apf27_pwm.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-** THE ARMadeus Systems
-**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License as published by the Free Software Foundation; either
-** version 2.1 of the License, or (at your option) any later version.
-**
-** This library 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
-** Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public
-** License along with this library; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#ifndef __ASAPF27PWM_HPP__
-#define __ASAPF27PWM_HPP__
-
-#include "as_apf27_pwm.h"
-#include <stdio.h>
-#include <stdlib.h>
-
-#define PWM_NUMBER NUMBER_OF_PWM
-#define DYNAMIC_TABLE_SIZE PWM_NUMBER
-
-#include "as_dynamic_table.hpp"
-
-/** AsApf27Pwm description
- *
- */
-class AsApf27Pwm {
-public:
- static AsApf27Pwm * getInstance(int aPwmNumber);
-
- void setFrequency(int aFrequency);
- int getFrequency(void);
-
- void setPeriod(int aPeriod);
- int getPeriod(void);
-
- void setDuty(int aDuty);
- int getDuty(void);
-
- bool activate(bool aEnable);
- bool getState(void);
-
- virtual ~AsApf27Pwm();
-
-protected:
-
- static AsDynamicTable * mInstances;
-
- AsApf27Pwm(int aPwmNumber);
- int mPwmNumber;
-
-};
-
-#endif /* __ASAPF27PWM_HPP__ */
-
-
diff --git a/target/packages/as_devices/cpp/as_dac.cpp b/target/packages/as_devices/cpp/as_dac.cpp
index 00e4774..1bd5bab 100644
--- a/target/packages/as_devices/cpp/as_dac.cpp
+++ b/target/packages/as_devices/cpp/as_dac.cpp
@@ -1,8 +1,8 @@
/*
** THE ARMadeus Systems
**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
+** Copyright (C) 2011 The armadeus systems team
+** Jérémie Scheer <jer...@ar...>
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
@@ -17,102 +17,44 @@
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+**
*/
-#include <stdlib.h>
-#include <stdio.h>
#include "as_dac.hpp"
+#include <iostream>
-AsDac::AsDac()
-{
-
-}
-
-AsDac::~AsDac()
-{
-}
-
-/*------------------------------------------------------------------------------*/
-
-/** Connect dac to an object
+/** @brief Constructor: Open DAC
*
- * @param object to connect on dac
- * @param channel number
- * @return error
+ * @param aDacType type name of adc ("max5821" or "mcp4912")
+ * @param aBusNumber bus number used
+ * @param aAddress i2c address for i2c chip, and CS number for SPI chip
+ * @param aVRef voltage reference in milivolt
+ * @param aVDefault default voltage value at open
*/
-AsDac::AsDac_errors
-AsDac::connect(void * aObject, char aChannel)
+AsDac::AsDac(const char *aDacType, int aBusNumber, int aAddress, int aVRef)
{
- int channel;
-
- channel = aChannel - 'A';
- if( channel >= mChannelNumber || channel < 0)
- {
- return AS_DAC_WRONGCHAN;
- }
- if (mChannelObject[channel] != NULL)
- {
- return AS_DAC_ALREADY_CONNECTED;
- }
- mChannelObject[channel] = aObject;
- return AS_DAC_OK;
+ mDev = as_dac_open(aDacType, aBusNumber, aAddress, aVRef);
}
-/*------------------------------------------------------------------------------*/
-
-/** Connect adc to an object
- *
- * @param channel number
- * @return error
- */
-AsDac::AsDac_errors
-AsDac::disconnect(char aChannel)
+AsDac::~AsDac()
{
+ int ret;
- int channel;
-
- channel = aChannel - 'A';
- if(channel >= mChannelNumber || channel < 0)
- {
- return AS_DAC_WRONGCHAN;
- }
- if(mChannelObject[channel] == NULL)
- {
- return AS_DAC_NOCONNECTION;
- }
- mChannelObject[channel] = NULL;
- return AS_DAC_OK;
+ ret = as_dac_close(mDev);
+ if (ret < 0)
+ {
+ std::cout<<"AsDac destruction error"<<std::endl;
+ }
}
-/*------------------------------------------------------------------------------*/
-
-/** Connect adc to an object
+
+/** @brief set a channel value.
*
- * @param channel number
- * @return error
- */
-AsDac::AsDac_errors
-AsDac::disconnect(void * aObject)
-{
- return disconnect(getObjectChannel(aObject));
-}
-
-/*------------------------------------------------------------------------------*/
-
-/** Return channel number of an object
+ * @param aChannel channel number (A:0, B:1,...)
+ * @param aValue channel value in milivolt
*
- * @param object pointer
- * @return channel number
+ * @return negative value on error
*/
-char
-AsDac::getObjectChannel(void * aObject)
+long AsDac::setValueInMillivolts(int aChannel, int aValue)
{
- for (int i=0; i< mChannelNumber;i++)
- {
- if(aObject == mChannelObject[i])
- {
- return i+'A';
- }
- }
- return (int)AS_DAC_NOCONNECTION;
+ return as_dac_set_value_in_millivolts(mDev, aChannel, aValue);
}
-
diff --git a/target/packages/as_devices/cpp/as_dac.hpp b/target/packages/as_devices/cpp/as_dac.hpp
index 486a072..3c0a657 100644
--- a/target/packages/as_devices/cpp/as_dac.hpp
+++ b/target/packages/as_devices/cpp/as_dac.hpp
@@ -1,8 +1,8 @@
/*
** THE ARMadeus Systems
**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
+** Copyright (C) 2011 The armadeus systems team
+** Jérémie Scheer <jer...@ar...>
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
@@ -17,55 +17,24 @@
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+**
*/
-#ifndef __ASDAC_HPP__
-#define __ASDAC_HPP__
+#ifndef AS_DAC__HPP__
+#define AS_DAC__HPP__
-using namespace std;
+#include "as_dac.h"
-/** AsDac description
- *
- */
-class AsDac{
- public:
- enum AsDac_errors
- {
- AS_DAC_NOCONNECTION = -7,
- AS_DAC_ALREADY_CONNECTED = -6,
- AS_DAC_IOCTL = -6,
- AS_DAC_WRONGCHAN = -5,
- AS_DAC_LSEEK = -4,
- AS_DAC_READFILE = -3,
- AS_DAC_WRITEFILE = -2,
- AS_DAC_OPENFILE = -1,
- AS_DAC_OK = 0
- };
-
- AsDac();
-
- virtual ~AsDac();
-
- virtual AsDac_errors init(int aI2cNum)=0;
- virtual AsDac_errors setDac(void * aObject, int aValue)=0;
- virtual AsDac_errors setDacPercent(void * aObject, float aValueInPercent)=0;
-
- /* */
- virtual AsDac_errors powerDown(void * aObject)=0;
-
- /* DAC connections */
- AsDac_errors connect(void * aObject, char aChannel);
- AsDac_errors disconnect(char aChannel);
- AsDac_errors disconnect(void * aObject);
-
- protected:
- char getObjectChannel(void * aObject);
-
- void ** mChannelObject; /**< object for each channel 'A' -> channel 0,
- 'B' -> channel 1*/
- int mChannelNumber; /**< Channel number in component */
-};
-
-#endif /* __ASDAC_HPP__ */
+class AsDac
+{
+public:
+ AsDac(const char *aDacType, int aBusNumber, int aAddress, int aVRef);
+ virtual ~AsDac();
+
+ long setValueInMillivolts(int aChannel, int aValue);
+protected:
+ mutable struct as_dac_device *mDev;
+};
+#endif // AS_DAC__HPP__
diff --git a/target/packages/as_devices/cpp/as_ds1374.cpp b/target/packages/as_devices/cpp/as_ds1374.cpp
deleted file mode 100644
index 25ea7f8..0000000
--- a/target/packages/as_devices/cpp/as_ds1374.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-** THE ARMadeus Systems
-**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License as published by the Free Software Foundation; either
-** version 2.1 of the License, or (at your option) any later version.
-**
-** This library 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
-** Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public
-** License along with this library; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-#include "as_ds1374.hpp"
-/*------------------------------------------------------------------------------*/
-
-AsDs1374::AsDs1374(int aI2cBusNum,int aI2cChipAddr)
-{
- mAsI2c = AsI2c::getInstance(aI2cBusNum);
- mI2cChipAddr = aI2cChipAddr;
-}
-/*------------------------------------------------------------------------------*/
-
-AsDs1374::~AsDs1374()
-{
-}
-
-/*------------------------------------------------------------------------------*/
-/* Set counter value
- * @param aValue counter value
- * @return error code
- */
-int
-AsDs1374::setCounter(int aValue)
-{
- unsigned char buf[4];
-
-#ifdef DEBUG
- printf("-> 0x%08x\n", aValue);
-#endif
- // create an I2C write message
- buf[0] = DS1374_CNT_REG;
- buf[1] = aValue & 0xff;
- buf[2] = (aValue >> 8) & 0xff;
- buf[3] = (aValue >> 16) & 0xff;
-
- return mAsI2c->writeMultipleBytes(mI2cChipAddr,buf,4);
-}
-/*------------------------------------------------------------------------------*/
-
-/**
-* (De)Activate watchdog.(true/false)
-* Returns: 0 = success, 1 = failure
-*/
-int
-AsDs1374::activate(bool state)
-{
- if (state)
- { /* WACE + WD + WDSTR + AIE + RS = 10 */
- return mAsI2c->writeByteData(mI2cChipAddr,DS1374_CTRL_REG,0x6d);
- }
- else
- { /* reset value */
- return mAsI2c->writeByteData(mI2cChipAddr,DS1374_CTRL_REG,0x06);
- }
-}
-/*------------------------------------------------------------------------------*/
-/** Acknowledge
- * @return error code
- */
-int
-AsDs1374::ack(void)
-{
- unsigned char rbuffer[1];
-
- // create an I2C write message to set register @
- mAsI2c->readByteData(mI2cChipAddr,DS1374_CNT_REG,rbuffer);
- return 0;
-
-}
-
diff --git a/target/packages/as_devices/cpp/as_dynamic_table.hpp b/target/packages/as_devices/cpp/as_dynamic_table.hpp
deleted file mode 100644
index 024c00c..0000000
--- a/target/packages/as_devices/cpp/as_dynamic_table.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-** THE ARMadeus Systems
-**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
-**
-** This library is free software; you can redistribute it and/or
-** modify it under the terms of the GNU Lesser General Public
-** License as published by the Free Software Foundation; either
-** version 2.1 of the License, or (at your option) any later version.
-**
-** This library 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
-** Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public
-** License along with this library; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#ifndef __ASDYNAMICTABLE_HPP_
-#define __ASDYNAMICTABLE_HPP_
-
-#include <stdio.h>
-
-class AsDynamicTable {
- public:
- AsDynamicTable()
- {
- int i;
- for(i=0; i< DYNAMIC_TABLE_SIZE; i++)
- {
- mInst[i] = NULL;
- }
- }
-
- void * getInstance(int aInstanceNum)
- {
- return mInst[aInstanceNum];
- }
-
- void setInstance(void * aInstance, int aInstanceNum)
- {
- mInst[aInstanceNum] = aInstance;
- }
-
-
- virtual ~AsDynamicTable()
- {
- }
-
- private:
- void * mInst[DYNAMIC_TABLE_SIZE];
-};
-
-#endif // __ASDYNAMICTABLE_HPP_
diff --git a/target/packages/as_devices/cpp/as_gpio.cpp b/target/packages/as_devices/cpp/as_gpio.cpp
new file mode 100644
index 0000000..4ca4b3a
--- /dev/null
+++ b/target/packages/as_devices/cpp/as_gpio.cpp
@@ -0,0 +1,135 @@
+/*
+** THE ARMadeus Systems
+**
+** Copyright (C) 2011 The armadeus systems team
+** Jérémie Scheer <jer...@ar...>
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License as published by the Free Software Foundation; either
+** version 2.1 of the License, or (at your option) any later version.
+**
+** This library 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
+** Lesser General Public License for more details.
+**
+** You should have received a copy of the GNU Lesser General Public
+** License along with this library; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+**
+*/
+
+#include "as_gpio.hpp"
+#include <iostream>
+
+/** @brief Constructor: Initialize port access
+ *
+ * @param aPortChar character port in UPPER case
+ * @param aPinNum int pin number
+ */
+AsGpio::AsGpio(char aPortChar, int aPinNum)
+{
+ mDev = as_gpio_open(aPortChar, aPinNum);
+}
+
+AsGpio::~AsGpio()
+{
+ int ret;
+
+ ret = as_gpio_close(mDev);
+ if (ret < 0)
+ {
+ std::cout<<"AsGpio destruction error"<<std::endl;
+ }
+}
+
+/** @brief Set pin direction
+ *
+ * @param aDirection direction 0:input 1:output
+ *
+ * @return error if negative value
+ */
+long AsGpio::setPinDirection(int aDirection)
+{
+ return as_gpio_set_pin_direction(mDev, aDirection);
+}
+
+/** @brief Get pin direction
+ *
+ * @return pin direction if positive or null, error if negative
+ */
+long AsGpio::getPinDirection() const
+{
+ return as_gpio_get_pin_direction(mDev);
+}
+
+/** @brief Set pin value
+ *
+ * @param aValue value of pin (1 or 0)
+ *
+ * @return error if negative
+ */
+long AsGpio::setPinValue(int aValue)
+{
+ return as_gpio_set_pin_value(mDev, aValue);
+}
+
+/** @brief Get pin value
+ *
+ * @return pin value if positive or null, error if negative
+ */
+long AsGpio::getPinValue() const
+{
+ return as_gpio_get_pin_value(mDev);
+}
+
+/** @brief Get pin value, blocking until interrupt occur
+ *
+ * @param aDelay_s waiting delay in seconds
+ * @param aDelay_us waiting delay in useconds (plus delay in seconds)
+ *
+ * @return pin value if positive or null, read error if -1, timeout if -10
+ */
+long AsGpio::blockingGetPinValue(int aDelay_s, int aDelay_us) const
+{
+ return as_gpio_blocking_get_pin_value(mDev, aDelay_s, aDelay_us);
+}
+
+/** @brief Set pin irq mode
+ *
+ * @param aMode irq mode
+ *
+ * @return error if negative
+ */
+long AsGpio::setIrqMode(int aMode)
+{
+ return as_gpio_set_irq_mode(mDev, aMode);
+}
+
+/** @brief Get pin irq mode value
+ *
+ * @return pin mode value if positive or null, error if negative
+ */
+long AsGpio::getIrqMode() const
+{
+ return as_gpio_get_irq_mode(mDev);
+}
+
+/** @brief Get pin number value
+ *
+ * @return pin number, error if negative
+ */
+long AsGpio::getPinNum() const
+{
+ return as_gpio_get_pin_num(mDev);
+}
+
+/** @brief Get port letter
+ *
+ * @return port letter, error if negative
+ */
+long AsGpio::getPortLetter() const
+{
+ return as_gpio_get_port_letter(mDev);
+}
diff --git a/target/packages/as_devices/cpp/as_ds1374.hpp b/target/packages/as_devices/cpp/as_gpio.hpp
similarity index 56%
copy from target/packages/as_devices/cpp/as_ds1374.hpp
copy to target/packages/as_devices/cpp/as_gpio.hpp
index fc3c3ff..017957f 100644
--- a/target/packages/as_devices/cpp/as_ds1374.hpp
+++ b/target/packages/as_devices/cpp/as_gpio.hpp
@@ -1,8 +1,8 @@
/*
** THE ARMadeus Systems
**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
+** Copyright (C) 2011 The armadeus systems team
+** Jérémie Scheer <jer...@ar...>
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
@@ -17,37 +17,36 @@
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+**
*/
-#ifndef __ASDS1374_HPP__
-#define __ASDS1374_HPP__
+#ifndef AS_GPIO__HPP__
+#define AS_GPIO__HPP__
-#include "as_i2c.hpp"
+#include "as_gpio.h"
-#define DS1374_I2C_SLAVE_ADDR 0x68
-#define DS1374_CNT_REG 0x04
-#define DS1374_CTRL_REG 0x07
-
-/** AsDs1374 description
- *
- */
-class AsDs1374 {
+class AsGpio
+{
public:
- AsDs1374(int aI2cBusNum,int aI2cChipAddr);
+ AsGpio(char aPortChar, int aPinNum);
+ virtual ~AsGpio();
- virtual ~AsDs1374();
+ long setPinDirection(int aDirection);
+ long getPinDirection() const;
- int setCounter(int aValue);
- int activate(bool state);
+ long setPinValue(int aValue);
+ long getPinValue() const;
+ long blockingGetPinValue(int aDelay_s, int aDelay_us) const;
+
+ long setIrqMode(int aMode);
+ long getIrqMode() const;
- int ack(void);
+ long getPinNum() const;
-private:
- AsI2c * mAsI2c;
- int mI2cChipAddr;
+ long getPortLetter() const;
+protected:
+ mutable struct as_gpio_device *mDev;
};
-#endif /* __ASDS1374_HPP__ */
-
-
+#endif // AS_GPIO__HPP__
diff --git a/target/packages/as_devices/cpp/as_i2c.cpp b/target/packages/as_devices/cpp/as_i2c.cpp
index cadad77..af273c4 100644
--- a/target/packages/as_devices/cpp/as_i2c.cpp
+++ b/target/packages/as_devices/cpp/as_i2c.cpp
@@ -1,8 +1,8 @@
/*
** THE ARMadeus Systems
**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
+** Copyright (C) 2011 The armadeus systems team
+** Jérémie Scheer <jer...@ar...>
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
@@ -19,119 +19,134 @@
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
**
*/
+
#include "as_i2c.hpp"
#include <iostream>
-AsDynamicTable * AsI2c::mInstances = new AsDynamicTable();
-
-/** Singleton constructor
- * @param aBusNumber bus number
+/** @brief Constructor: Open an I2C bus.
+ *
+ * @param aBusNumber bus to open
*/
-AsI2c *
-AsI2c::getInstance(int aBusNumber)
+AsI2c::AsI2c(int aBusNumber)
{
- AsI2c * instance;
- instance = (AsI2c *)mInstances->getInstance(aBusNumber);
- if(instance == NULL)
- {
- instance = new AsI2c(aBusNumber);
- mInstances->setInstance(instance,aBusNumber);
- }
- return instance;
+ mDev = as_i2c_open(aBusNumber);
}
-/*------------------------------------------------------------------------------*/
-
-AsI2c::AsI2c(int aBusNumber)
+AsI2c::~AsI2c()
{
- int ret;
+ int ret;
- mI2cBusNumber = aBusNumber;
+ ret = as_i2c_close(mDev);
+ if (ret < 0)
+ {
+ std::cout<<"AsI2c destruction error"<<std::endl;
+ }
+}
- ret = as_i2c_init(aBusNumber);
- if (ret < 0)
- {
- std::cout << "AsI2C initialization error" << std::endl;
- }
+/** @brief Set chip's I2C slave address
+ *
+ * @param aAddr slave's address
+ *
+ * @return error if negative
+ */
+long AsI2c::setSlaveAddr(unsigned char aAddr)
+{
+ return as_i2c_set_slave_addr(mDev, aAddr);
}
-/*------------------------------------------------------------------------------*/
-AsI2c::~AsI2c()
+/** @brief Get chip's I2C slave address
+ *
+ * @return slave's address
+ */
+long AsI2c::getSlaveAddr() const
{
- mInstances->setInstance(NULL,mI2cBusNumber);
+ return as_i2c_get_slave_addr(mDev);
}
-/*------------------------------------------------------------------------------*/
-/** read byte on i2c bus
- * @param aChipAddr chip address
- * @param aReg Register number
- * @param *aBuf char buffer
- * @return error return
+/** @brief Read several bytes (ioctl() method) from given chip.
+ *
+ * @param aData read data
+ * @param aSize data size
+ *
+ * @return error if negative
*/
-int
-AsI2c::readByteData(unsigned char aChipAddr,
- unsigned char aReg,
- unsigned char *aBuf )
+long AsI2c::read(unsigned char *aData, size_t aSize) const
{
- return as_read_byte_data(mI2cBusNumber, aChipAddr, aReg, aBuf);
+ return as_i2c_read(mDev, aData, aSize);
}
-/*------------------------------------------------------------------------------*/
-/** write byte on i2c bus
- * @param aChipAddr chip address
- * @param aReg Register number
- * @param aBuf char value to write
- * @return error return
+/** @brief Write several bytes (ioctl() method) to given chip.
+ *
+ * @param aData data to write
+ * @param aSize data size
+ *
+ * @return error if negative
*/
-int
-AsI2c::writeByteData(unsigned char aChipAddr,
- unsigned char aReg,
- unsigned char aValue)
+long AsI2c::write(unsigned char *aData, size_t aSize)
{
- return as_write_byte_data(mI2cBusNumber, aChipAddr, aReg, aValue);
+ return as_i2c_write(mDev, aData, aSize);
}
-/*------------------------------------------------------------------------------*/
-/** write byte on i2c bus
- * @param aChipAddr chip address
- * @param aBuf char value to write
- * @return error return
+/** @brief Read from given chip at a given register address (ioctl() method).
+ *
+ * @param aReg register address
+ * @param aData read data
+ * @param aSize data size
+ *
+ * @return error if negative
*/
-int
-AsI2c::writeByte(unsigned char aChipAddr,
- unsigned char aValue)
+long AsI2c::readReg(unsigned char aReg, unsigned char *aData, size_t aSize) const
{
- return as_write_byte(mI2cBusNumber, aChipAddr, aValue);
+ return as_i2c_read_reg(mDev, aReg, aData, aSize);
}
-/*------------------------------------------------------------------------------*/
-/** Write several byte on I2C
- * @param aChipAddr Chip address
- * @param aBuff message
- * @param aSize size of message
- * @return error code
+/** @brief Write to given chip at a given register address (ioctl() method).
+ *
+ * @param aReg register address
+ * @param aData data to write
+ * @param aSize data size
+ *
+ * @return error if negative
*/
-int
-AsI2c::writeMultipleBytes(unsigned char aChipAddr,
- unsigned char *aBuff,
- int aSize)
+long AsI2c::writeReg(unsigned char aReg, unsigned char *aData, size_t aSize)
{
- return as_write_multiple_bytes(mI2cBusNumber, aChipAddr, aBuff, aSize);
+ return as_i2c_write_reg(mDev, aReg, aData, aSize);
}
-/*------------------------------------------------------------------------------*/
-/** read several bytes on I2C
- * @param aChipAddr Chip address
- * @param aBuff message
- * @param aSize size of message
- * @return error code
+/** @brief forge a read message like this:
+ * S Addr[W] wdata0 [A] wdata1 [A] ... RS Addr R [rdata0] A [rdata1] A ... P
+ *
+ * @param aWData data to write
+ * @param aSize written data size
+ * @param aRData read data
+ * @param aReadSize read data size
+ *
+ * @return error if negative
*/
-int
-AsI2c::readMultipleBytes(unsigned char aChipAddr,
- unsigned char *aBuff,
- int aSize)
+long AsI2c::readMsg(unsigned char *aWData, unsigned char aWriteSize, unsigned char *aRData, size_t aReadSize)
{
- return as_read_multiple_bytes(mI2cBusNumber, aChipAddr, aBuff, aSize);
+ return as_i2c_read_msg(mDev, aWData, aWriteSize, aRData, aReadSize);
}
+/** @brief Read a byte from the given register.
+ *
+ * @param aReg register address
+ *
+ * @return read byte
+ */
+long AsI2c::readRegByte(unsigned char aReg) const
+{
+ return as_i2c_read_reg_byte(mDev, aReg);
+}
+/** @brief Write a byte to the given register.
+ *
+ * @param aReg register address
+ * @param aVal byte to write
+ *
+ * @return error if negative
+ */
+long AsI2c::writeRegByte(unsigned char aReg, unsigned char aVal)
+{
+ return as_i2c_write_reg_byte(mDev, aReg, aVal);
+}
diff --git a/target/packages/as_devices/cpp/as_i2c.hpp b/target/packages/as_devices/cpp/as_i2c.hpp
index b72282b..84ea901 100644
--- a/target/packages/as_devices/cpp/as_i2c.hpp
+++ b/target/packages/as_devices/cpp/as_i2c.hpp
@@ -1,8 +1,8 @@
/*
** THE ARMadeus Systems
**
-** Copyright (C) 2009 The armadeus systems team
-** Fabien Marteau <fab...@ar...>
+** Copyright (C) 2011 The arm...
[truncated message content] |