mirror of
https://github.com/ukui/kernel.git
synced 2026-03-09 10:07:04 -07:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (43 commits)
Blackfin: spi-docs: further clarify GPIO CS behavior with various modes
Blackfin: boards: fix pcm device name
Blackfin: SMP: punt unused atomic_test_mask helper
Blackfin: irqs: do not trace arch_local_{*,irq_*} functions
Blackfin: bf526: restrict reboot workaround to 0.0 silicon
Blackfin: bf51x: fix alternative portmux options
Blackfin: bf54x: fix GPIO resume code
Blackfin: dpmc: optimize SDRAM programming slightly
Blackfin: dpmc: don't save/restore scratch registers
Blackfin: bf538: pull gpio/port logic out of core hibernate paths
Blackfin: dpmc: optimize hibernate/resume path
Blackfin: dpmc: do not save/restore EVT0/EVT1/EVT4 when hibernating
Blackfin: dpmc: relocate hibernate helper macros
Blackfin: dpmc: omit RETE/RETN when hibernating
Blackfin: dpmc: optimize SIC_IWR programming a little
Blackfin: gpio/ints: generalize pint logic
Blackfin: dpmc: bind to MMR names and not CPUs
Blackfin: debug-mmrs: generalize pint logic
Blackfin: bf54x: switch to common pint MMR struct
Blackfin: bf54x: tweak MMR pint names
...
This commit is contained in:
@@ -9,6 +9,8 @@ the entire SPI transfer. - And not just bits_per_word duration.
|
||||
In most cases you can utilize SPI MODE_3 instead of MODE_0 to work-around this
|
||||
behavior. If your SPI slave device in question requires SPI MODE_0 or MODE_2
|
||||
timing, you can utilize the GPIO controlled SPI Slave Select option instead.
|
||||
In this case, you should use GPIO based CS for all of your slaves and not just
|
||||
the ones using mode 0 or 2 in order to guarantee correct CS toggling behavior.
|
||||
|
||||
You can even use the same pin whose peripheral role is a SSEL,
|
||||
but use it as a GPIO instead.
|
||||
|
||||
@@ -953,6 +953,16 @@ config BFIN_GPTIMERS
|
||||
To compile this driver as a module, choose M here: the module
|
||||
will be called gptimers.
|
||||
|
||||
config HAVE_PWM
|
||||
tristate "Enable PWM API support"
|
||||
depends on BFIN_GPTIMERS
|
||||
help
|
||||
Enable support for the Pulse Width Modulation framework (as
|
||||
found in linux/pwm.h).
|
||||
|
||||
To compile this driver as a module, choose M here: the module
|
||||
will be called pwm.
|
||||
|
||||
choice
|
||||
prompt "Uncached DMA region"
|
||||
default DMA_UNCACHED_1M
|
||||
|
||||
@@ -58,13 +58,13 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=m
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=m
|
||||
CONFIG_MTD_CFI_AMDSTD=m
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_RAM=y
|
||||
CONFIG_MTD_ROM=m
|
||||
CONFIG_MTD_PHYSMAP=m
|
||||
CONFIG_MTD_PHYSMAP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
|
||||
@@ -1,5 +1,48 @@
|
||||
include include/asm-generic/Kbuild.asm
|
||||
|
||||
generic-y += auxvec.h
|
||||
generic-y += bitsperlong.h
|
||||
generic-y += bugs.h
|
||||
generic-y += cputime.h
|
||||
generic-y += current.h
|
||||
generic-y += device.h
|
||||
generic-y += div64.h
|
||||
generic-y += emergency-restart.h
|
||||
generic-y += errno.h
|
||||
generic-y += fb.h
|
||||
generic-y += futex.h
|
||||
generic-y += hw_irq.h
|
||||
generic-y += ioctl.h
|
||||
generic-y += ipcbuf.h
|
||||
generic-y += irq_regs.h
|
||||
generic-y += kdebug.h
|
||||
generic-y += kmap_types.h
|
||||
generic-y += local64.h
|
||||
generic-y += local.h
|
||||
generic-y += mman.h
|
||||
generic-y += msgbuf.h
|
||||
generic-y += param.h
|
||||
generic-y += percpu.h
|
||||
generic-y += pgalloc.h
|
||||
generic-y += resource.h
|
||||
generic-y += scatterlist.h
|
||||
generic-y += sembuf.h
|
||||
generic-y += serial.h
|
||||
generic-y += setup.h
|
||||
generic-y += shmbuf.h
|
||||
generic-y += shmparam.h
|
||||
generic-y += socket.h
|
||||
generic-y += sockios.h
|
||||
generic-y += statfs.h
|
||||
generic-y += termbits.h
|
||||
generic-y += termios.h
|
||||
generic-y += topology.h
|
||||
generic-y += types.h
|
||||
generic-y += ucontext.h
|
||||
generic-y += unaligned.h
|
||||
generic-y += user.h
|
||||
generic-y += xor.h
|
||||
|
||||
header-y += bfin_sport.h
|
||||
header-y += cachectl.h
|
||||
header-y += fixed_code.h
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_BLACKFIN_ATOMIC__
|
||||
#define __ARCH_BLACKFIN_ATOMIC__
|
||||
@@ -76,11 +76,6 @@ static inline void atomic_set_mask(int mask, atomic_t *v)
|
||||
__raw_atomic_set_asm(&v->counter, mask);
|
||||
}
|
||||
|
||||
static inline int atomic_test_mask(int mask, atomic_t *v)
|
||||
{
|
||||
return __raw_atomic_test_asm(&v->counter, mask);
|
||||
}
|
||||
|
||||
/* Atomic operations are already serializing */
|
||||
#define smp_mb__before_atomic_dec() barrier()
|
||||
#define smp_mb__after_atomic_dec() barrier()
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/auxvec.h>
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/bitsperlong.h>
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* Common header file for Blackfin family of processors.
|
||||
*
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
* Copyright 2004-2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _BLACKFIN_H_
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/bugs.h>
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/cputime.h>
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/current.h>
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/device.h>
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/div64.h>
|
||||
@@ -117,7 +117,6 @@
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
void sleep_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
|
||||
void hibernate_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
|
||||
void sleep_deeper(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
|
||||
void do_hibernate(int wakeup);
|
||||
void set_dram_srfs(void);
|
||||
@@ -134,32 +133,6 @@ struct bfin_dpmc_platform_data {
|
||||
unsigned short vr_settling_time; /* in us */
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
#define PM_PUSH(x) \
|
||||
R0 = [P0 + (x - SRAM_BASE_ADDRESS)];\
|
||||
[--SP] = R0;\
|
||||
|
||||
#define PM_POP(x) \
|
||||
R0 = [SP++];\
|
||||
[P0 + (x - SRAM_BASE_ADDRESS)] = R0;\
|
||||
|
||||
#define PM_SYS_PUSH(x) \
|
||||
R0 = [P0 + (x - PLL_CTL)];\
|
||||
[--SP] = R0;\
|
||||
|
||||
#define PM_SYS_POP(x) \
|
||||
R0 = [SP++];\
|
||||
[P0 + (x - PLL_CTL)] = R0;\
|
||||
|
||||
#define PM_SYS_PUSH16(x) \
|
||||
R0 = w[P0 + (x - PLL_CTL)];\
|
||||
[--SP] = R0;\
|
||||
|
||||
#define PM_SYS_POP16(x) \
|
||||
R0 = [SP++];\
|
||||
w[P0 + (x - PLL_CTL)] = R0;\
|
||||
|
||||
#endif
|
||||
|
||||
#endif /*_BLACKFIN_DPMC_H_*/
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/emergency-restart.h>
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/errno.h>
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/fb.h>
|
||||
@@ -1 +0,0 @@
|
||||
#include <asm-generic/futex.h>
|
||||
@@ -16,58 +16,13 @@
|
||||
|
||||
#include <mach/gpio.h>
|
||||
|
||||
#define GPIO_0 0
|
||||
#define GPIO_1 1
|
||||
#define GPIO_2 2
|
||||
#define GPIO_3 3
|
||||
#define GPIO_4 4
|
||||
#define GPIO_5 5
|
||||
#define GPIO_6 6
|
||||
#define GPIO_7 7
|
||||
#define GPIO_8 8
|
||||
#define GPIO_9 9
|
||||
#define GPIO_10 10
|
||||
#define GPIO_11 11
|
||||
#define GPIO_12 12
|
||||
#define GPIO_13 13
|
||||
#define GPIO_14 14
|
||||
#define GPIO_15 15
|
||||
#define GPIO_16 16
|
||||
#define GPIO_17 17
|
||||
#define GPIO_18 18
|
||||
#define GPIO_19 19
|
||||
#define GPIO_20 20
|
||||
#define GPIO_21 21
|
||||
#define GPIO_22 22
|
||||
#define GPIO_23 23
|
||||
#define GPIO_24 24
|
||||
#define GPIO_25 25
|
||||
#define GPIO_26 26
|
||||
#define GPIO_27 27
|
||||
#define GPIO_28 28
|
||||
#define GPIO_29 29
|
||||
#define GPIO_30 30
|
||||
#define GPIO_31 31
|
||||
#define GPIO_32 32
|
||||
#define GPIO_33 33
|
||||
#define GPIO_34 34
|
||||
#define GPIO_35 35
|
||||
#define GPIO_36 36
|
||||
#define GPIO_37 37
|
||||
#define GPIO_38 38
|
||||
#define GPIO_39 39
|
||||
#define GPIO_40 40
|
||||
#define GPIO_41 41
|
||||
#define GPIO_42 42
|
||||
#define GPIO_43 43
|
||||
#define GPIO_44 44
|
||||
#define GPIO_45 45
|
||||
#define GPIO_46 46
|
||||
#define GPIO_47 47
|
||||
|
||||
#define PERIPHERAL_USAGE 1
|
||||
#define GPIO_USAGE 0
|
||||
|
||||
#ifndef BFIN_GPIO_PINT
|
||||
# define BFIN_GPIO_PINT 0
|
||||
#endif
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#include <linux/compiler.h>
|
||||
@@ -89,7 +44,7 @@
|
||||
* MODIFICATION HISTORY :
|
||||
**************************************************************/
|
||||
|
||||
#ifndef CONFIG_BF54x
|
||||
#if !BFIN_GPIO_PINT
|
||||
void set_gpio_dir(unsigned, unsigned short);
|
||||
void set_gpio_inen(unsigned, unsigned short);
|
||||
void set_gpio_polar(unsigned, unsigned short);
|
||||
@@ -164,6 +119,10 @@ struct gpio_port_t {
|
||||
#ifdef BFIN_SPECIAL_GPIO_BANKS
|
||||
void bfin_special_gpio_free(unsigned gpio);
|
||||
int bfin_special_gpio_request(unsigned gpio, const char *label);
|
||||
# ifdef CONFIG_PM
|
||||
void bfin_special_gpio_pm_hibernate_restore(void);
|
||||
void bfin_special_gpio_pm_hibernate_suspend(void);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
@@ -182,7 +141,7 @@ static inline void bfin_pm_standby_restore(void)
|
||||
void bfin_gpio_pm_hibernate_restore(void);
|
||||
void bfin_gpio_pm_hibernate_suspend(void);
|
||||
|
||||
#ifndef CONFIG_BF54x
|
||||
# if !BFIN_GPIO_PINT
|
||||
int gpio_pm_wakeup_ctrl(unsigned gpio, unsigned ctrl);
|
||||
|
||||
struct gpio_port_s {
|
||||
@@ -199,8 +158,9 @@ struct gpio_port_s {
|
||||
unsigned short reserved;
|
||||
unsigned short mux;
|
||||
};
|
||||
#endif /*CONFIG_BF54x*/
|
||||
# endif
|
||||
#endif /*CONFIG_PM*/
|
||||
|
||||
/***********************************************************
|
||||
*
|
||||
* FUNCTIONS: Blackfin GPIO Driver
|
||||
|
||||
@@ -193,6 +193,16 @@ uint16_t get_enabled_gptimers(void);
|
||||
uint32_t get_gptimer_status(unsigned int group);
|
||||
void set_gptimer_status(unsigned int group, uint32_t value);
|
||||
|
||||
static inline void enable_gptimer(unsigned int timer_id)
|
||||
{
|
||||
enable_gptimers(1 << timer_id);
|
||||
}
|
||||
|
||||
static inline void disable_gptimer(unsigned int timer_id)
|
||||
{
|
||||
disable_gptimers(1 << timer_id);
|
||||
}
|
||||
|
||||
/*
|
||||
* All Blackfin system MMRs are padded to 32bits even if the register
|
||||
* itself is only 16bits. So use a helper macro to streamline this.
|
||||
@@ -209,6 +219,15 @@ struct bfin_gptimer_regs {
|
||||
u32 width;
|
||||
};
|
||||
|
||||
/*
|
||||
* bfin group timer registers layout
|
||||
*/
|
||||
struct bfin_gptimer_group_regs {
|
||||
__BFP(enable);
|
||||
__BFP(disable);
|
||||
u32 status;
|
||||
};
|
||||
|
||||
#undef __BFP
|
||||
|
||||
#endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user