Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
50165d8b
Commit
50165d8b
authored
Oct 04, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/home/rmk/linux-2.6-arm
parents
944d2647
c2f48086
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
54 additions
and
29 deletions
+54
-29
arch/arm/kernel/sys_arm.c
arch/arm/kernel/sys_arm.c
+1
-1
arch/arm/kernel/traps.c
arch/arm/kernel/traps.c
+1
-1
arch/arm/mach-imx/generic.c
arch/arm/mach-imx/generic.c
+12
-11
arch/arm/mach-imx/mx1ads.c
arch/arm/mach-imx/mx1ads.c
+1
-1
include/asm-arm/arch-h720x/system.h
include/asm-arm/arch-h720x/system.h
+5
-3
include/asm-arm/arch-imx/imx-regs.h
include/asm-arm/arch-imx/imx-regs.h
+34
-12
No files found.
arch/arm/kernel/sys_arm.c
View file @
50165d8b
...
@@ -305,7 +305,7 @@ long execve(const char *filename, char **argv, char **envp)
...
@@ -305,7 +305,7 @@ long execve(const char *filename, char **argv, char **envp)
"Ir"
(
THREAD_START_SP
-
sizeof
(
regs
)),
"Ir"
(
THREAD_START_SP
-
sizeof
(
regs
)),
"r"
(
&
regs
),
"r"
(
&
regs
),
"Ir"
(
sizeof
(
regs
))
"Ir"
(
sizeof
(
regs
))
:
"r0"
,
"r1"
,
"r2"
,
"r3"
,
"ip"
,
"memory"
);
:
"r0"
,
"r1"
,
"r2"
,
"r3"
,
"ip"
,
"
lr"
,
"
memory"
);
out:
out:
return
ret
;
return
ret
;
...
...
arch/arm/kernel/traps.c
View file @
50165d8b
...
@@ -504,7 +504,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
...
@@ -504,7 +504,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
bad_access:
bad_access:
spin_unlock
(
&
mm
->
page_table_lock
);
spin_unlock
(
&
mm
->
page_table_lock
);
/* simulate a
read
access fault */
/* simulate a
write
access fault */
do_DataAbort
(
addr
,
15
+
(
1
<<
11
),
regs
);
do_DataAbort
(
addr
,
15
+
(
1
<<
11
),
regs
);
return
-
1
;
return
-
1
;
}
}
...
...
arch/arm/mach-imx/generic.c
View file @
50165d8b
...
@@ -28,14 +28,15 @@
...
@@ -28,14 +28,15 @@
#include <linux/module.h>
#include <linux/module.h>
#include <asm/arch/imxfb.h>
#include <asm/arch/imxfb.h>
#include <asm/hardware.h>
#include <asm/hardware.h>
#include <asm/arch/imx-regs.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
void
imx_gpio_mode
(
int
gpio_mode
)
void
imx_gpio_mode
(
int
gpio_mode
)
{
{
unsigned
int
pin
=
gpio_mode
&
GPIO_PIN_MASK
;
unsigned
int
pin
=
gpio_mode
&
GPIO_PIN_MASK
;
unsigned
int
port
=
(
gpio_mode
&
GPIO_PORT_MASK
)
>>
5
;
unsigned
int
port
=
(
gpio_mode
&
GPIO_PORT_MASK
)
>>
GPIO_PORT_SHIFT
;
unsigned
int
ocr
=
(
gpio_mode
&
GPIO_OCR_MASK
)
>>
10
;
unsigned
int
ocr
=
(
gpio_mode
&
GPIO_OCR_MASK
)
>>
GPIO_OCR_SHIFT
;
unsigned
int
tmp
;
unsigned
int
tmp
;
/* Pullup enable */
/* Pullup enable */
...
@@ -57,7 +58,7 @@ void imx_gpio_mode(int gpio_mode)
...
@@ -57,7 +58,7 @@ void imx_gpio_mode(int gpio_mode)
GPR
(
port
)
&=
~
(
1
<<
pin
);
GPR
(
port
)
&=
~
(
1
<<
pin
);
/* use as gpio? */
/* use as gpio? */
if
(
ocr
==
3
)
if
(
gpio_mode
&
GPIO_GIUS
)
GIUS
(
port
)
|=
(
1
<<
pin
);
GIUS
(
port
)
|=
(
1
<<
pin
);
else
else
GIUS
(
port
)
&=
~
(
1
<<
pin
);
GIUS
(
port
)
&=
~
(
1
<<
pin
);
...
@@ -72,20 +73,20 @@ void imx_gpio_mode(int gpio_mode)
...
@@ -72,20 +73,20 @@ void imx_gpio_mode(int gpio_mode)
tmp
|=
(
ocr
<<
(
pin
*
2
));
tmp
|=
(
ocr
<<
(
pin
*
2
));
OCR1
(
port
)
=
tmp
;
OCR1
(
port
)
=
tmp
;
if
(
gpio_mode
&
GPIO_AOUT
)
ICONFA1
(
port
)
&=
~
(
3
<<
(
pin
*
2
));
ICONFA1
(
port
)
&=
~
(
3
<<
(
pin
*
2
)
);
ICONFA1
(
port
)
|=
((
gpio_mode
>>
GPIO_AOUT_SHIFT
)
&
3
)
<<
(
pin
*
2
);
if
(
gpio_mode
&
GPIO_BOUT
)
ICONFB1
(
port
)
&=
~
(
3
<<
(
pin
*
2
));
ICONFB1
(
port
)
&=
~
(
3
<<
(
pin
*
2
)
);
ICONFB1
(
port
)
|=
((
gpio_mode
>>
GPIO_BOUT_SHIFT
)
&
3
)
<<
(
pin
*
2
);
}
else
{
}
else
{
tmp
=
OCR2
(
port
);
tmp
=
OCR2
(
port
);
tmp
&=
~
(
3
<<
((
pin
-
16
)
*
2
));
tmp
&=
~
(
3
<<
((
pin
-
16
)
*
2
));
tmp
|=
(
ocr
<<
((
pin
-
16
)
*
2
));
tmp
|=
(
ocr
<<
((
pin
-
16
)
*
2
));
OCR2
(
port
)
=
tmp
;
OCR2
(
port
)
=
tmp
;
if
(
gpio_mode
&
GPIO_AOUT
)
ICONFA2
(
port
)
&=
~
(
3
<<
((
pin
-
16
)
*
2
));
ICONFA2
(
port
)
&=
~
(
3
<<
((
pin
-
16
)
*
2
)
);
ICONFA2
(
port
)
|=
((
gpio_mode
>>
GPIO_AOUT_SHIFT
)
&
3
)
<<
((
pin
-
16
)
*
2
);
if
(
gpio_mode
&
GPIO_BOUT
)
ICONFB2
(
port
)
&=
~
(
3
<<
((
pin
-
16
)
*
2
));
ICONFB2
(
port
)
&=
~
(
3
<<
((
pin
-
16
)
*
2
)
);
ICONFB2
(
port
)
|=
((
gpio_mode
>>
GPIO_BOUT_SHIFT
)
&
3
)
<<
((
pin
-
16
)
*
2
);
}
}
}
}
...
...
arch/arm/mach-imx/mx1ads.c
View file @
50165d8b
...
@@ -55,7 +55,7 @@ static void __init
...
@@ -55,7 +55,7 @@ static void __init
mx1ads_init
(
void
)
mx1ads_init
(
void
)
{
{
#ifdef CONFIG_LEDS
#ifdef CONFIG_LEDS
imx_gpio_mode
(
GPIO_PORTA
|
GPIO_OUT
|
GPIO_GPIO
|
2
);
imx_gpio_mode
(
GPIO_PORTA
|
GPIO_OUT
|
2
);
#endif
#endif
platform_add_devices
(
devices
,
ARRAY_SIZE
(
devices
));
platform_add_devices
(
devices
,
ARRAY_SIZE
(
devices
));
}
}
...
...
include/asm-arm/arch-h720x/system.h
View file @
50165d8b
...
@@ -17,9 +17,11 @@
...
@@ -17,9 +17,11 @@
static
void
arch_idle
(
void
)
static
void
arch_idle
(
void
)
{
{
CPU_REG
(
PMU_BASE
,
PMU_MODE
)
=
PMU_MODE_IDLE
;
CPU_REG
(
PMU_BASE
,
PMU_MODE
)
=
PMU_MODE_IDLE
;
__asm__
__volatile__
(
nop
();
"mov r0, r0
\n\t
"
nop
();
"mov r0, r0"
);
CPU_REG
(
PMU_BASE
,
PMU_MODE
)
=
PMU_MODE_RUN
;
nop
();
nop
();
}
}
...
...
include/asm-arm/arch-imx/imx-regs.h
View file @
50165d8b
...
@@ -76,6 +76,7 @@
...
@@ -76,6 +76,7 @@
#define GPIO_PIN_MASK 0x1f
#define GPIO_PIN_MASK 0x1f
#define GPIO_PORT_MASK (0x3 << 5)
#define GPIO_PORT_MASK (0x3 << 5)
#define GPIO_PORT_SHIFT 5
#define GPIO_PORTA (0<<5)
#define GPIO_PORTA (0<<5)
#define GPIO_PORTB (1<<5)
#define GPIO_PORTB (1<<5)
#define GPIO_PORTC (2<<5)
#define GPIO_PORTC (2<<5)
...
@@ -88,24 +89,37 @@
...
@@ -88,24 +89,37 @@
#define GPIO_PF (0<<9)
#define GPIO_PF (0<<9)
#define GPIO_AF (1<<9)
#define GPIO_AF (1<<9)
#define GPIO_OCR_SHIFT 10
#define GPIO_OCR_MASK (3<<10)
#define GPIO_OCR_MASK (3<<10)
#define GPIO_AIN (0<<10)
#define GPIO_AIN (0<<10)
#define GPIO_BIN (1<<10)
#define GPIO_BIN (1<<10)
#define GPIO_CIN (2<<10)
#define GPIO_CIN (2<<10)
#define GPIO_
GPIO
(3<<10)
#define GPIO_
DR
(3<<10)
#define GPIO_AOUT (1<<12)
#define GPIO_AOUT_SHIFT 12
#define GPIO_BOUT (1<<13)
#define GPIO_AOUT_MASK (3<<12)
#define GPIO_AOUT (0<<12)
#define GPIO_AOUT_ISR (1<<12)
#define GPIO_AOUT_0 (2<<12)
#define GPIO_AOUT_1 (3<<12)
#define GPIO_BOUT_SHIFT 14
#define GPIO_BOUT_MASK (3<<14)
#define GPIO_BOUT (0<<14)
#define GPIO_BOUT_ISR (1<<14)
#define GPIO_BOUT_0 (2<<14)
#define GPIO_BOUT_1 (3<<14)
#define GPIO_GIUS (1<<16)
/* assignements for GPIO alternate/primary functions */
/* assignements for GPIO alternate/primary functions */
/* FIXME: This list is not completed. The correct directions are
/* FIXME: This list is not completed. The correct directions are
* missing on some (many) pins
* missing on some (many) pins
*/
*/
#define PA0_PF_A24 ( GPIO_PORTA | GPIO_PF | 0 )
#define PA0_AIN_SPI2_CLK ( GPIO_GIUS | GPIO_PORTA | GPIO_OUT | 0 )
#define PA0_AIN_SPI2_CLK ( GPIO_PORTA | GPIO_OUT | GPIO_AIN | 0 )
#define PA0_AF_ETMTRACESYNC ( GPIO_PORTA | GPIO_AF | 0 )
#define PA0_AF_ETMTRACESYNC ( GPIO_PORTA | GPIO_AF | 0 )
#define PA1_AOUT_SPI2_RXD ( GPIO_
PORTA | GPIO_IN | GPIO_AOUT
| 1 )
#define PA1_AOUT_SPI2_RXD ( GPIO_
GIUS | GPIO_PORTA | GPIO_IN
| 1 )
#define PA1_PF_TIN ( GPIO_PORTA | GPIO_PF | 1 )
#define PA1_PF_TIN ( GPIO_PORTA | GPIO_PF | 1 )
#define PA2_PF_PWM0 ( GPIO_PORTA | GPIO_OUT | GPIO_PF | 2 )
#define PA2_PF_PWM0 ( GPIO_PORTA | GPIO_OUT | GPIO_PF | 2 )
#define PA3_PF_CSI_MCLK ( GPIO_PORTA | GPIO_PF | 3 )
#define PA3_PF_CSI_MCLK ( GPIO_PORTA | GPIO_PF | 3 )
...
@@ -123,7 +137,7 @@
...
@@ -123,7 +137,7 @@
#define PA15_PF_I2C_SDA ( GPIO_PORTA | GPIO_OUT | GPIO_PF | 15 )
#define PA15_PF_I2C_SDA ( GPIO_PORTA | GPIO_OUT | GPIO_PF | 15 )
#define PA16_PF_I2C_SCL ( GPIO_PORTA | GPIO_OUT | GPIO_PF | 16 )
#define PA16_PF_I2C_SCL ( GPIO_PORTA | GPIO_OUT | GPIO_PF | 16 )
#define PA17_AF_ETMTRACEPKT4 ( GPIO_PORTA | GPIO_AF | 17 )
#define PA17_AF_ETMTRACEPKT4 ( GPIO_PORTA | GPIO_AF | 17 )
#define PA17_AIN_SPI2_SS ( GPIO_
PORTA | GPIO_AIN
| 17 )
#define PA17_AIN_SPI2_SS ( GPIO_
GIUS | GPIO_PORTA | GPIO_OUT
| 17 )
#define PA18_AF_ETMTRACEPKT5 ( GPIO_PORTA | GPIO_AF | 18 )
#define PA18_AF_ETMTRACEPKT5 ( GPIO_PORTA | GPIO_AF | 18 )
#define PA19_AF_ETMTRACEPKT6 ( GPIO_PORTA | GPIO_AF | 19 )
#define PA19_AF_ETMTRACEPKT6 ( GPIO_PORTA | GPIO_AF | 19 )
#define PA20_AF_ETMTRACEPKT7 ( GPIO_PORTA | GPIO_AF | 20 )
#define PA20_AF_ETMTRACEPKT7 ( GPIO_PORTA | GPIO_AF | 20 )
...
@@ -191,19 +205,27 @@
...
@@ -191,19 +205,27 @@
#define PC15_PF_SPI1_SS ( GPIO_PORTC | GPIO_PF | 15 )
#define PC15_PF_SPI1_SS ( GPIO_PORTC | GPIO_PF | 15 )
#define PC16_PF_SPI1_MISO ( GPIO_PORTC | GPIO_PF | 16 )
#define PC16_PF_SPI1_MISO ( GPIO_PORTC | GPIO_PF | 16 )
#define PC17_PF_SPI1_MOSI ( GPIO_PORTC | GPIO_PF | 17 )
#define PC17_PF_SPI1_MOSI ( GPIO_PORTC | GPIO_PF | 17 )
#define PC24_BIN_UART3_RI ( GPIO_GIUS | GPIO_PORTC | GPIO_OUT | GPIO_BIN | 24 )
#define PC25_BIN_UART3_DSR ( GPIO_GIUS | GPIO_PORTC | GPIO_OUT | GPIO_BIN | 25 )
#define PC26_AOUT_UART3_DTR ( GPIO_GIUS | GPIO_PORTC | GPIO_IN | 26 )
#define PC27_BIN_UART3_DCD ( GPIO_GIUS | GPIO_PORTC | GPIO_OUT | GPIO_BIN | 27 )
#define PC28_BIN_UART3_CTS ( GPIO_GIUS | GPIO_PORTC | GPIO_OUT | GPIO_BIN | 28 )
#define PC29_AOUT_UART3_RTS ( GPIO_GIUS | GPIO_PORTC | GPIO_IN | 29 )
#define PC30_BIN_UART3_TX ( GPIO_GIUS | GPIO_PORTC | GPIO_BIN | 30 )
#define PC31_AOUT_UART3_RX ( GPIO_GIUS | GPIO_PORTC | GPIO_IN | 31)
#define PD6_PF_LSCLK ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 6 )
#define PD6_PF_LSCLK ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 6 )
#define PD7_PF_REV ( GPIO_PORTD | GPIO_PF | 7 )
#define PD7_PF_REV ( GPIO_PORTD | GPIO_PF | 7 )
#define PD7_AF_UART2_DTR ( GPIO_PORTD | GPIO_IN | GPIO_AF | 7 )
#define PD7_AF_UART2_DTR ( GPIO_PORTD | GPIO_IN | GPIO_AF | 7 )
#define PD7_AIN_SPI2_SCLK ( GPIO_PORTD | GPIO_AIN | 7 )
#define PD7_AIN_SPI2_SCLK ( GPIO_
GIUS | GPIO_
PORTD | GPIO_AIN | 7 )
#define PD8_PF_CLS ( GPIO_PORTD | GPIO_PF | 8 )
#define PD8_PF_CLS ( GPIO_PORTD | GPIO_PF | 8 )
#define PD8_AF_UART2_DCD ( GPIO_PORTD | GPIO_OUT | GPIO_AF | 8 )
#define PD8_AF_UART2_DCD ( GPIO_PORTD | GPIO_OUT | GPIO_AF | 8 )
#define PD8_AIN_SPI2_SS ( GPIO_PORTD | GPIO_AIN | 8 )
#define PD8_AIN_SPI2_SS ( GPIO_
GIUS | GPIO_
PORTD | GPIO_AIN | 8 )
#define PD9_PF_PS ( GPIO_PORTD | GPIO_PF | 9 )
#define PD9_PF_PS ( GPIO_PORTD | GPIO_PF | 9 )
#define PD9_AF_UART2_RI ( GPIO_PORTD | GPIO_OUT | GPIO_AF | 9 )
#define PD9_AF_UART2_RI ( GPIO_PORTD | GPIO_OUT | GPIO_AF | 9 )
#define PD9_AOUT_SPI2_RXD ( GPIO_
PORTD | GPIO_IN | GPIO_AOUT
| 9 )
#define PD9_AOUT_SPI2_RXD ( GPIO_
GIUS | GPIO_PORTD | GPIO_IN
| 9 )
#define PD10_PF_SPL_SPR ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 10 )
#define PD10_PF_SPL_SPR ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 10 )
#define PD10_AF_UART2_DSR ( GPIO_PORTD | GPIO_OUT | GPIO_AF | 10 )
#define PD10_AF_UART2_DSR ( GPIO_PORTD | GPIO_OUT | GPIO_AF | 10 )
#define PD10_AIN_SPI2_TXD ( GPIO_
PORTD | GPIO_OUT | GPIO_AIN
| 10 )
#define PD10_AIN_SPI2_TXD ( GPIO_
GIUS | GPIO_PORTD | GPIO_OUT
| 10 )
#define PD11_PF_CONTRAST ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 11 )
#define PD11_PF_CONTRAST ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 11 )
#define PD12_PF_ACD_OE ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 12 )
#define PD12_PF_ACD_OE ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 12 )
#define PD13_PF_LP_HSYNC ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 13 )
#define PD13_PF_LP_HSYNC ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 13 )
...
@@ -225,7 +247,7 @@
...
@@ -225,7 +247,7 @@
#define PD29_PF_LD14 ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 29 )
#define PD29_PF_LD14 ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 29 )
#define PD30_PF_LD15 ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 30 )
#define PD30_PF_LD15 ( GPIO_PORTD | GPIO_OUT | GPIO_PF | 30 )
#define PD31_PF_TMR2OUT ( GPIO_PORTD | GPIO_PF | 31 )
#define PD31_PF_TMR2OUT ( GPIO_PORTD | GPIO_PF | 31 )
#define PD31_BIN_SPI2_TXD ( GPIO_PORTD | GPIO_BIN | 31 )
#define PD31_BIN_SPI2_TXD ( GPIO_
GIUS | GPIO_
PORTD | GPIO_BIN | 31 )
/*
/*
* PWM controller
* PWM controller
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment