Skip to content

Commit

Permalink
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/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
  ...
  • Loading branch information
Linus Torvalds committed Jul 23, 2011
2 parents f5fc879 + 1061734 commit 6d6be43
Show file tree
Hide file tree
Showing 115 changed files with 1,735 additions and 2,138 deletions.
2 changes: 2 additions & 0 deletions Documentation/blackfin/bfin-spi-notes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.
10 changes: 10 additions & 0 deletions arch/blackfin/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions arch/blackfin/configs/BF561-EZKIT_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
43 changes: 43 additions & 0 deletions arch/blackfin/include/asm/Kbuild
Original file line number Diff line number Diff line change
@@ -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
13 changes: 4 additions & 9 deletions arch/blackfin/include/asm/atomic.h
Original file line number Diff line number Diff line change
@@ -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__
Expand Down Expand Up @@ -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()
Expand Down
1 change: 0 additions & 1 deletion arch/blackfin/include/asm/auxvec.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/bitsperlong.h

This file was deleted.

6 changes: 3 additions & 3 deletions arch/blackfin/include/asm/blackfin.h
Original file line number Diff line number Diff line change
@@ -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_
Expand Down
1 change: 0 additions & 1 deletion arch/blackfin/include/asm/bugs.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/cputime.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/current.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/device.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/div64.h

This file was deleted.

27 changes: 0 additions & 27 deletions arch/blackfin/include/asm/dpmc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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 change: 0 additions & 1 deletion arch/blackfin/include/asm/emergency-restart.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/errno.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/fb.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/futex.h

This file was deleted.

64 changes: 12 additions & 52 deletions arch/blackfin/include/asm/gpio.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand All @@ -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);
Expand Down Expand Up @@ -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
Expand All @@ -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 {
Expand All @@ -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
Expand Down
19 changes: 19 additions & 0 deletions arch/blackfin/include/asm/gptimers.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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
1 change: 0 additions & 1 deletion arch/blackfin/include/asm/hw_irq.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/ioctl.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/ipcbuf.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/blackfin/include/asm/irq_regs.h

This file was deleted.

Loading

0 comments on commit 6d6be43

Please sign in to comment.