Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
00e4acb1
Commit
00e4acb1
authored
Jan 27, 2010
by
Russell King
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-rmk' of
git://git.marvell.com/orion
parents
b04da8bf
cf11052a
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
118 additions
and
6 deletions
+118
-6
arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
+6
-0
arch/arm/mach-orion5x/dns323-setup.c
arch/arm/mach-orion5x/dns323-setup.c
+27
-6
arch/arm/mach-orion5x/wrt350n-v2-setup.c
arch/arm/mach-orion5x/wrt350n-v2-setup.c
+79
-0
arch/arm/plat-orion/pcie.c
arch/arm/plat-orion/pcie.c
+6
-0
No files found.
arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
View file @
00e4acb1
...
...
@@ -13,6 +13,7 @@
#include <linux/platform_device.h>
#include <linux/ata_platform.h>
#include <linux/mv643xx_eth.h>
#include <linux/gpio.h>
#include <linux/spi/flash.h>
#include <linux/spi/spi.h>
#include <linux/spi/orion_spi.h>
...
...
@@ -53,6 +54,11 @@ static void __init rd88f6192_init(void)
*/
kirkwood_init
();
orion_gpio_set_valid
(
RD88F6192_GPIO_USB_VBUS
,
1
);
if
(
gpio_request
(
RD88F6192_GPIO_USB_VBUS
,
"USB VBUS"
)
!=
0
||
gpio_direction_output
(
RD88F6192_GPIO_USB_VBUS
,
1
)
!=
0
)
pr_err
(
"RD-88F6192-NAS: failed to setup USB VBUS GPIO
\n
"
);
kirkwood_ehci_init
();
kirkwood_ge00_init
(
&
rd88f6192_ge00_data
);
kirkwood_sata_init
(
&
rd88f6192_sata_data
);
...
...
arch/arm/mach-orion5x/dns323-setup.c
View file @
00e4acb1
...
...
@@ -12,6 +12,7 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/pci.h>
#include <linux/irq.h>
...
...
@@ -32,6 +33,7 @@
#define DNS323_GPIO_LED_RIGHT_AMBER 1
#define DNS323_GPIO_LED_LEFT_AMBER 2
#define DNS323_GPIO_SYSTEM_UP 3
#define DNS323_GPIO_LED_POWER 5
#define DNS323_GPIO_OVERTEMP 6
#define DNS323_GPIO_RTC 7
...
...
@@ -239,7 +241,7 @@ static struct gpio_led dns323_leds[] = {
{
.
name
=
"power:blue"
,
.
gpio
=
DNS323_GPIO_LED_POWER
,
.
active_low
=
1
,
.
default_state
=
LEDS_GPIO_DEFSTATE_ON
,
},
{
.
name
=
"right:amber"
,
.
gpio
=
DNS323_GPIO_LED_RIGHT_AMBER
,
...
...
@@ -334,7 +336,7 @@ static struct orion5x_mpp_mode dns323_mv88f5182_mpp_modes[] __initdata = {
{
0
,
MPP_UNUSED
},
{
1
,
MPP_GPIO
},
/* right amber LED (sata ch0) */
{
2
,
MPP_GPIO
},
/* left amber LED (sata ch1) */
{
3
,
MPP_
UNUSED
},
{
3
,
MPP_
GPIO
},
/* system up flag */
{
4
,
MPP_GPIO
},
/* power button LED */
{
5
,
MPP_GPIO
},
/* power button LED */
{
6
,
MPP_GPIO
},
/* GMT G751-2f overtemp */
...
...
@@ -372,13 +374,23 @@ static struct i2c_board_info __initdata dns323_i2c_devices[] = {
},
};
/* DNS-323 specific power off method */
static
void
dns323_power_off
(
void
)
/* DNS-323
rev. A
specific power off method */
static
void
dns323
a
_power_off
(
void
)
{
pr_info
(
"%s: triggering power-off...
\n
"
,
__func__
);
gpio_set_value
(
DNS323_GPIO_POWER_OFF
,
1
);
}
/* DNS-323 rev B specific power off method */
static
void
dns323b_power_off
(
void
)
{
pr_info
(
"%s: triggering power-off...
\n
"
,
__func__
);
/* Pin has to be changed to 1 and back to 0 to do actual power off. */
gpio_set_value
(
DNS323_GPIO_POWER_OFF
,
1
);
mdelay
(
100
);
gpio_set_value
(
DNS323_GPIO_POWER_OFF
,
0
);
}
static
void
__init
dns323_init
(
void
)
{
/* Setup basic Orion functions. Need to be called early. */
...
...
@@ -424,11 +436,20 @@ static void __init dns323_init(void)
if
(
dns323_dev_id
()
==
MV88F5182_DEV_ID
)
orion5x_sata_init
(
&
dns323_sata_data
);
/* register dns323 specific power-off method */
/* The 5182 has flag to indicate the system is up. Without this flag
* set, power LED will flash and cannot be controlled via leds-gpio.
*/
if
(
dns323_dev_id
()
==
MV88F5182_DEV_ID
)
gpio_set_value
(
DNS323_GPIO_SYSTEM_UP
,
1
);
/* Register dns323 specific power-off method */
if
(
gpio_request
(
DNS323_GPIO_POWER_OFF
,
"POWEROFF"
)
!=
0
||
gpio_direction_output
(
DNS323_GPIO_POWER_OFF
,
0
)
!=
0
)
pr_err
(
"DNS323: failed to setup power-off GPIO
\n
"
);
pm_power_off
=
dns323_power_off
;
if
(
dns323_dev_id
()
==
MV88F5182_DEV_ID
)
pm_power_off
=
dns323b_power_off
;
else
pm_power_off
=
dns323a_power_off
;
}
/* Warning: D-Link uses a wrong mach-type (=526) in their bootloader */
...
...
arch/arm/mach-orion5x/wrt350n-v2-setup.c
View file @
00e4acb1
...
...
@@ -15,6 +15,9 @@
#include <linux/mtd/physmap.h>
#include <linux/mv643xx_eth.h>
#include <linux/ethtool.h>
#include <linux/leds.h>
#include <linux/gpio_keys.h>
#include <linux/input.h>
#include <net/dsa.h>
#include <asm/mach-types.h>
#include <asm/gpio.h>
...
...
@@ -24,6 +27,80 @@
#include "common.h"
#include "mpp.h"
/*
* LEDs attached to GPIO
*/
static
struct
gpio_led
wrt350n_v2_led_pins
[]
=
{
{
.
name
=
"wrt350nv2:green:power"
,
.
gpio
=
0
,
.
active_low
=
1
,
},
{
.
name
=
"wrt350nv2:green:security"
,
.
gpio
=
1
,
.
active_low
=
1
,
},
{
.
name
=
"wrt350nv2:orange:power"
,
.
gpio
=
5
,
.
active_low
=
1
,
},
{
.
name
=
"wrt350nv2:green:usb"
,
.
gpio
=
6
,
.
active_low
=
1
,
},
{
.
name
=
"wrt350nv2:green:wireless"
,
.
gpio
=
7
,
.
active_low
=
1
,
},
};
static
struct
gpio_led_platform_data
wrt350n_v2_led_data
=
{
.
leds
=
wrt350n_v2_led_pins
,
.
num_leds
=
ARRAY_SIZE
(
wrt350n_v2_led_pins
),
};
static
struct
platform_device
wrt350n_v2_leds
=
{
.
name
=
"leds-gpio"
,
.
id
=
-
1
,
.
dev
=
{
.
platform_data
=
&
wrt350n_v2_led_data
,
},
};
/*
* Buttons attached to GPIO
*/
static
struct
gpio_keys_button
wrt350n_v2_buttons
[]
=
{
{
.
code
=
KEY_RESTART
,
.
gpio
=
3
,
.
desc
=
"Reset Button"
,
.
active_low
=
1
,
},
{
.
code
=
KEY_WLAN
,
.
gpio
=
2
,
.
desc
=
"WPS Button"
,
.
active_low
=
1
,
},
};
static
struct
gpio_keys_platform_data
wrt350n_v2_button_data
=
{
.
buttons
=
wrt350n_v2_buttons
,
.
nbuttons
=
ARRAY_SIZE
(
wrt350n_v2_buttons
),
};
static
struct
platform_device
wrt350n_v2_button_device
=
{
.
name
=
"gpio-keys"
,
.
id
=
-
1
,
.
num_resources
=
0
,
.
dev
=
{
.
platform_data
=
&
wrt350n_v2_button_data
,
},
};
/*
* General setup
*/
static
struct
orion5x_mpp_mode
wrt350n_v2_mpp_modes
[]
__initdata
=
{
{
0
,
MPP_GPIO
},
/* Power LED green (0=on) */
{
1
,
MPP_GPIO
},
/* Security LED (0=on) */
...
...
@@ -140,6 +217,8 @@ static void __init wrt350n_v2_init(void)
orion5x_setup_dev_boot_win
(
WRT350N_V2_NOR_BOOT_BASE
,
WRT350N_V2_NOR_BOOT_SIZE
);
platform_device_register
(
&
wrt350n_v2_nor_flash
);
platform_device_register
(
&
wrt350n_v2_leds
);
platform_device_register
(
&
wrt350n_v2_button_device
);
}
static
int
__init
wrt350n_v2_pci_map_irq
(
struct
pci_dev
*
dev
,
u8
slot
,
u8
pin
)
...
...
arch/arm/plat-orion/pcie.c
View file @
00e4acb1
...
...
@@ -132,6 +132,12 @@ static void __init orion_pcie_setup_wins(void __iomem *base,
size
+=
cs
->
size
;
}
/*
* Round up 'size' to the nearest power of two.
*/
if
((
size
&
(
size
-
1
))
!=
0
)
size
=
1
<<
fls
(
size
);
/*
* Setup BAR[1] to all DRAM banks.
*/
...
...
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