blackfin updates for Linux 4.1
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJVObp7AAoJEJommM3PjknHqFgP/istOuzjAx1bB1DA5nqDnlw/ mNpcJh4yuF7A5uLGs5KtjQHAp1SGikNTdKKENWLYYwtBz/wvGq2/w9Rwd5zfV6b7 IjIzWcriUn2CHuDPPhedwQ0dSMOaR6SRPMyGR6MTDOJFN5cyQLZyTK4CNleO3znL qfvHGIahfhFN/XRmbCOJ00SkLIRZYTgXT4eKJjdxBqW/fh78epyTERLdaZ4pd5IK dD6wQmG5DgUWxmFpYCUUBPtnMCrcEdw7o9wMhqzZWJj7nYL6ZYJ9GVfr6Q8vk7YX pvVIEVvUPuiz6sRTcUY2eSshgdB+cdcBTqwlLYHKw3QC7iG4SczmXiM5mxlAFb0u g0Td/KPOIWmf1AfMBqe4K9uZhA2T0JcgfkSGL5xUvDeCwrO91xtujUVSWWOJcudJ K+9hROsiYQWBsla1yv36XyXWLJP1LxOJyuC3gNKM0rGQUMTrlDn5GaYTw99kgdZk s3V8xuURacCzqxr8ch1adqSI/amgWTT7x29XaOMAl7xatxBh4deb2/2nNupNTwMD mAqTrYud7fQ2cx9BWvgeJ/GU0ohM7fuv+mQT3R/dHor1x1r9XTVc5qHH91o8DtgA GCAK+YkyDKYFHdWGoQIVsHHnUl5CBes3t+qZ4tlnBRHFQUrnJAPM9K1/r3M59txV sspFcOjihg2vS5vYnqXO =nong -----END PGP SIGNATURE----- Merge tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux Pull blackfin updates from Steven Miao. * tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux: eth: bf609 eth clock: add pclk clock for stmmac driver probe blackfin: Wire up missing syscalls arch: blackfin: kernel: kgdb: Remove unused function dma: fix build error after update to v3.19 blackfin: io: define __raw_readx/writex with bfin_readx/writex bf609: add resources for lcd nl8048 pm: sometimes wake up from suspend to RAM would fail debug-mmrs: Eliminate all traces of the USB_PHY_TEST MMR bf609: remove softswitch i2c configuration from adv7842 and adv7511 platform data bf609: add platform data for soft switch devices on the video extenders bf609: enable soft switch gpio driver by default bf609: add gpio soft switch platform data for mcp23017 i2c devices bf609: use new SND_BF6XX_PCM to choose audio pcm driver bug[220] kgdb: change the smp cross core function entry arch: blackfin: kernel: setup.c: Cleaning up missing null-terminate in conjunction with strncpy blackfin: defconfigs: cleanup unused CONFIG_MTD_CHAR, add MTD_SPI_NOR for BF537-STAMP
This commit is contained in:
Коммит
668b54a1c2
|
@ -48,7 +48,6 @@ CONFIG_IP_PNP=y
|
|||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_JEDECPROBE=m
|
||||
CONFIG_MTD_RAM=y
|
||||
|
|
|
@ -67,7 +67,6 @@ CONFIG_BFIN_SIR0=y
|
|||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
|
|
|
@ -50,7 +50,6 @@ CONFIG_IRTTY_SIR=m
|
|||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CHAR=m
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_JEDECPROBE=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
|
|
|
@ -50,7 +50,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=m
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=m
|
||||
CONFIG_MTD_CFI_AMDSTD=m
|
||||
|
|
|
@ -55,13 +55,14 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=m
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=m
|
||||
CONFIG_MTD_CFI_AMDSTD=m
|
||||
CONFIG_MTD_RAM=y
|
||||
CONFIG_MTD_ROM=m
|
||||
CONFIG_MTD_PHYSMAP=m
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_BFIN=y
|
||||
|
|
|
@ -60,7 +60,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=m
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=m
|
||||
CONFIG_MTD_CFI_AMDSTD=m
|
||||
|
|
|
@ -50,7 +50,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_PLATRAM=y
|
||||
CONFIG_MTD_PHRAM=y
|
||||
|
|
|
@ -52,7 +52,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
|
|
|
@ -54,7 +54,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
|
|
|
@ -105,6 +105,7 @@ CONFIG_SPI=y
|
|||
CONFIG_SPI_ADI_V3=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_MCP23S08=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_BFIN_WDT=y
|
||||
|
|
|
@ -55,7 +55,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
|
|
|
@ -37,7 +37,6 @@ CONFIG_UNIX=y
|
|||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
|
|
|
@ -52,7 +52,6 @@ CONFIG_IP_PNP=y
|
|||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
|
|
|
@ -48,7 +48,6 @@ CONFIG_INET=y
|
|||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
|
|
|
@ -54,7 +54,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
|
|
|
@ -52,7 +52,6 @@ CONFIG_INET=y
|
|||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
|
|
|
@ -36,7 +36,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|||
CONFIG_MTD=y
|
||||
CONFIG_MTD_DEBUG=y
|
||||
CONFIG_MTD_DEBUG_VERBOSE=1
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_NFTL=y
|
||||
CONFIG_NFTL_RW=y
|
||||
|
|
|
@ -43,7 +43,6 @@ CONFIG_IP_NF_TARGET_REJECT=y
|
|||
CONFIG_IP_NF_MANGLE=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
|
|
|
@ -46,7 +46,6 @@ CONFIG_IP_PNP=y
|
|||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CHAR=m
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_RAM=y
|
||||
CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
|
|
|
@ -38,7 +38,6 @@ CONFIG_IRTTY_SIR=m
|
|||
# CONFIG_WIRELESS is not set
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CHAR=m
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_JEDECPROBE=m
|
||||
CONFIG_MTD_RAM=y
|
||||
|
|
|
@ -55,7 +55,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_ADV_OPTIONS=y
|
||||
|
|
|
@ -44,7 +44,6 @@ CONFIG_INET=y
|
|||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
|
|
|
@ -11,27 +11,12 @@
|
|||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#define DECLARE_BFIN_RAW_READX(size, type, asm, asm_sign) \
|
||||
static inline type __raw_read##size(const volatile void __iomem *addr) \
|
||||
{ \
|
||||
unsigned int val; \
|
||||
int tmp; \
|
||||
__asm__ __volatile__ ( \
|
||||
"cli %1;" \
|
||||
"NOP; NOP; SSYNC;" \
|
||||
"%0 = "#asm" [%2] "#asm_sign";" \
|
||||
"sti %1;" \
|
||||
: "=d"(val), "=d"(tmp) \
|
||||
: "a"(addr) \
|
||||
); \
|
||||
return (type) val; \
|
||||
}
|
||||
DECLARE_BFIN_RAW_READX(b, u8, b, (z))
|
||||
#define __raw_readb __raw_readb
|
||||
DECLARE_BFIN_RAW_READX(w, u16, w, (z))
|
||||
#define __raw_readw __raw_readw
|
||||
DECLARE_BFIN_RAW_READX(l, u32, , )
|
||||
#define __raw_readl __raw_readl
|
||||
#define __raw_readb bfin_read8
|
||||
#define __raw_readw bfin_read16
|
||||
#define __raw_readl bfin_read32
|
||||
#define __raw_writeb(val, addr) bfin_write8(addr, val)
|
||||
#define __raw_writew(val, addr) bfin_write16(addr, val)
|
||||
#define __raw_writel(val, addr) bfin_write32(addr, val)
|
||||
|
||||
extern void outsb(unsigned long port, const void *addr, unsigned long count);
|
||||
extern void outsw(unsigned long port, const void *addr, unsigned long count);
|
||||
|
@ -50,14 +35,6 @@ extern void insl_16(unsigned long port, void *addr, unsigned long count);
|
|||
#define insw insw
|
||||
#define insl insl
|
||||
|
||||
extern void dma_outsb(unsigned long port, const void *addr, unsigned short count);
|
||||
extern void dma_outsw(unsigned long port, const void *addr, unsigned short count);
|
||||
extern void dma_outsl(unsigned long port, const void *addr, unsigned short count);
|
||||
|
||||
extern void dma_insb(unsigned long port, void *addr, unsigned short count);
|
||||
extern void dma_insw(unsigned long port, void *addr, unsigned short count);
|
||||
extern void dma_insl(unsigned long port, void *addr, unsigned short count);
|
||||
|
||||
/**
|
||||
* I/O write barrier
|
||||
*
|
||||
|
|
|
@ -401,8 +401,18 @@
|
|||
#define __NR_sendmmsg 380
|
||||
#define __NR_process_vm_readv 381
|
||||
#define __NR_process_vm_writev 382
|
||||
#define __NR_kcmp 383
|
||||
#define __NR_finit_module 384
|
||||
#define __NR_sched_setattr 385
|
||||
#define __NR_sched_getattr 386
|
||||
#define __NR_renameat2 387
|
||||
#define __NR_seccomp 388
|
||||
#define __NR_getrandom 389
|
||||
#define __NR_memfd_create 390
|
||||
#define __NR_bpf 391
|
||||
#define __NR_execveat 392
|
||||
|
||||
#define __NR_syscall 383
|
||||
#define __NR_syscall 393 /* For internal using, not implemented */
|
||||
#define NR_syscalls __NR_syscall
|
||||
|
||||
/* Old optional stuff no one actually uses */
|
||||
|
|
|
@ -1620,7 +1620,6 @@ static int __init bfin_debug_mmrs_init(void)
|
|||
D16(USB_APHY_CNTRL);
|
||||
D16(USB_APHY_CALIB);
|
||||
D16(USB_APHY_CNTRL2);
|
||||
D16(USB_PHY_TEST);
|
||||
D16(USB_PLLOSC_CTRL);
|
||||
D16(USB_SRP_CLKDIV);
|
||||
D16(USB_EP_NI0_TXMAXP);
|
||||
|
|
|
@ -330,9 +330,6 @@ static void bfin_disable_hw_debug(struct pt_regs *regs)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
extern void generic_exec_single(int cpu, struct call_single_data *data, int wait);
|
||||
static struct call_single_data kgdb_smp_ipi_data[NR_CPUS];
|
||||
|
||||
void kgdb_passive_cpu_callback(void *info)
|
||||
{
|
||||
kgdb_nmicallback(raw_smp_processor_id(), get_irq_regs());
|
||||
|
@ -343,15 +340,14 @@ void kgdb_roundup_cpus(unsigned long flags)
|
|||
unsigned int cpu;
|
||||
|
||||
for (cpu = cpumask_first(cpu_online_mask); cpu < nr_cpu_ids;
|
||||
cpu = cpumask_next(cpu, cpu_online_mask)) {
|
||||
kgdb_smp_ipi_data[cpu].func = kgdb_passive_cpu_callback;
|
||||
generic_exec_single(cpu, &kgdb_smp_ipi_data[cpu], 0);
|
||||
}
|
||||
cpu = cpumask_next(cpu, cpu_online_mask))
|
||||
smp_call_function_single(cpu, kgdb_passive_cpu_callback,
|
||||
NULL, 0);
|
||||
}
|
||||
|
||||
void kgdb_roundup_cpu(int cpu, unsigned long flags)
|
||||
{
|
||||
generic_exec_single(cpu, &kgdb_smp_ipi_data[cpu], 0);
|
||||
smp_call_function_single(cpu, kgdb_passive_cpu_callback, NULL, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -359,19 +355,6 @@ void kgdb_roundup_cpu(int cpu, unsigned long flags)
|
|||
static unsigned long kgdb_arch_imask;
|
||||
#endif
|
||||
|
||||
void kgdb_post_primary_code(struct pt_regs *regs, int e_vector, int err_code)
|
||||
{
|
||||
if (kgdb_single_step)
|
||||
preempt_enable();
|
||||
|
||||
#ifdef CONFIG_IPIPE
|
||||
if (kgdb_arch_imask) {
|
||||
cpu_pda[raw_smp_processor_id()].ex_imask = kgdb_arch_imask;
|
||||
kgdb_arch_imask = 0;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
int kgdb_arch_handle_exception(int vector, int signo,
|
||||
int err_code, char *remcom_in_buffer,
|
||||
char *remcom_out_buffer,
|
||||
|
|
|
@ -1464,5 +1464,5 @@ void __init cmdline_init(const char *r0)
|
|||
{
|
||||
early_shadow_stamp();
|
||||
if (r0)
|
||||
strncpy(command_line, r0, COMMAND_LINE_SIZE);
|
||||
strlcpy(command_line, r0, COMMAND_LINE_SIZE);
|
||||
}
|
||||
|
|
|
@ -122,11 +122,6 @@
|
|||
#define bfin_read_USB_APHY_CNTRL2() bfin_read16(USB_APHY_CNTRL2)
|
||||
#define bfin_write_USB_APHY_CNTRL2(val) bfin_write16(USB_APHY_CNTRL2, val)
|
||||
|
||||
/* (PHY_TEST is for ADI usage only) */
|
||||
|
||||
#define bfin_read_USB_PHY_TEST() bfin_read16(USB_PHY_TEST)
|
||||
#define bfin_write_USB_PHY_TEST(val) bfin_write16(USB_PHY_TEST, val)
|
||||
|
||||
#define bfin_read_USB_PLLOSC_CTRL() bfin_read16(USB_PLLOSC_CTRL)
|
||||
#define bfin_write_USB_PLLOSC_CTRL(val) bfin_write16(USB_PLLOSC_CTRL, val)
|
||||
#define bfin_read_USB_SRP_CLKDIV() bfin_read16(USB_SRP_CLKDIV)
|
||||
|
|
|
@ -77,10 +77,6 @@
|
|||
|
||||
#define USB_APHY_CNTRL2 0xffc039e8 /* Register used to prevent re-enumeration once Moab goes into hibernate mode */
|
||||
|
||||
/* (PHY_TEST is for ADI usage only) */
|
||||
|
||||
#define USB_PHY_TEST 0xffc039ec /* Used for reducing simulation time and simplifies FIFO testability */
|
||||
|
||||
#define USB_PLLOSC_CTRL 0xffc039f0 /* Used to program different parameters for USB PLL and Oscillator */
|
||||
#define USB_SRP_CLKDIV 0xffc039f4 /* Used to program clock divide value for the clock fed to the SRP detection logic */
|
||||
|
||||
|
|
|
@ -241,10 +241,6 @@
|
|||
#define bfin_read_USB_APHY_CNTRL2() bfin_read16(USB_APHY_CNTRL2)
|
||||
#define bfin_write_USB_APHY_CNTRL2(val) bfin_write16(USB_APHY_CNTRL2, val)
|
||||
|
||||
/* (PHY_TEST is for ADI usage only) */
|
||||
|
||||
#define bfin_read_USB_PHY_TEST() bfin_read16(USB_PHY_TEST)
|
||||
#define bfin_write_USB_PHY_TEST(val) bfin_write16(USB_PHY_TEST, val)
|
||||
#define bfin_read_USB_PLLOSC_CTRL() bfin_read16(USB_PLLOSC_CTRL)
|
||||
#define bfin_write_USB_PLLOSC_CTRL(val) bfin_write16(USB_PLLOSC_CTRL, val)
|
||||
#define bfin_read_USB_SRP_CLKDIV() bfin_read16(USB_SRP_CLKDIV)
|
||||
|
|
|
@ -408,10 +408,6 @@
|
|||
#define bfin_read_USB_APHY_CNTRL2() bfin_read16(USB_APHY_CNTRL2)
|
||||
#define bfin_write_USB_APHY_CNTRL2(val) bfin_write16(USB_APHY_CNTRL2, val)
|
||||
|
||||
/* (PHY_TEST is for ADI usage only) */
|
||||
|
||||
#define bfin_read_USB_PHY_TEST() bfin_read16(USB_PHY_TEST)
|
||||
#define bfin_write_USB_PHY_TEST(val) bfin_write16(USB_PHY_TEST, val)
|
||||
#define bfin_read_USB_PLLOSC_CTRL() bfin_read16(USB_PLLOSC_CTRL)
|
||||
#define bfin_write_USB_PLLOSC_CTRL(val) bfin_write16(USB_PLLOSC_CTRL, val)
|
||||
#define bfin_read_USB_SRP_CLKDIV() bfin_read16(USB_SRP_CLKDIV)
|
||||
|
|
|
@ -140,9 +140,6 @@
|
|||
#define USB_APHY_CALIB 0xffc03de4 /* Register used to set some calibration values */
|
||||
#define USB_APHY_CNTRL2 0xffc03de8 /* Register used to prevent re-enumeration once Moab goes into hibernate mode */
|
||||
|
||||
/* (PHY_TEST is for ADI usage only) */
|
||||
|
||||
#define USB_PHY_TEST 0xffc03dec /* Used for reducing simulation time and simplifies FIFO testability */
|
||||
#define USB_PLLOSC_CTRL 0xffc03df0 /* Used to program different parameters for USB PLL and Oscillator */
|
||||
#define USB_SRP_CLKDIV 0xffc03df4 /* Used to program clock divide value for the clock fed to the SRP detection logic */
|
||||
|
||||
|
|
|
@ -254,9 +254,6 @@
|
|||
#define USB_APHY_CALIB 0xffc03de4 /* Register used to set some calibration values */
|
||||
#define USB_APHY_CNTRL2 0xffc03de8 /* Register used to prevent re-enumeration once Moab goes into hibernate mode */
|
||||
|
||||
/* (PHY_TEST is for ADI usage only) */
|
||||
|
||||
#define USB_PHY_TEST 0xffc03dec /* Used for reducing simulation time and simplifies FIFO testability */
|
||||
#define USB_PLLOSC_CTRL 0xffc03df0 /* Used to program different parameters for USB PLL and Oscillator */
|
||||
#define USB_SRP_CLKDIV 0xffc03df4 /* Used to program clock divide value for the clock fed to the SRP detection logic */
|
||||
|
||||
|
|
|
@ -780,8 +780,8 @@ static struct adi_spi3_chip spidev_chip_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if IS_ENABLED(CONFIG_SND_BF5XX_I2S)
|
||||
static struct platform_device bfin_i2s_pcm = {
|
||||
#if IS_ENABLED(CONFIG_SND_BF6XX_PCM)
|
||||
static struct platform_device bfin_pcm = {
|
||||
.name = "bfin-i2s-pcm-audio",
|
||||
.id = -1,
|
||||
};
|
||||
|
@ -1034,7 +1034,6 @@ static struct adv7842_platform_data adv7842_data = {
|
|||
.i2c_infoframe = 0x48,
|
||||
.i2c_cec = 0x49,
|
||||
.i2c_avlink = 0x4a,
|
||||
.i2c_ex = 0x26,
|
||||
};
|
||||
|
||||
static struct bfin_capture_config bfin_capture_data = {
|
||||
|
@ -1104,7 +1103,6 @@ static struct disp_route adv7511_routes[] = {
|
|||
|
||||
static struct adv7511_platform_data adv7511_data = {
|
||||
.edid_addr = 0x7e,
|
||||
.i2c_ex = 0x25,
|
||||
};
|
||||
|
||||
static struct bfin_display_config bfin_display_data = {
|
||||
|
@ -1209,6 +1207,35 @@ static struct platform_device bfin_display_device = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FB_BF609_NL8048) \
|
||||
|| defined(CONFIG_FB_BF609_NL8048_MODULE)
|
||||
static struct resource nl8048_resources[] = {
|
||||
{
|
||||
.start = EPPI2_STAT,
|
||||
.end = EPPI2_STAT,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
{
|
||||
.start = CH_EPPI2_CH0,
|
||||
.end = CH_EPPI2_CH0,
|
||||
.flags = IORESOURCE_DMA,
|
||||
},
|
||||
{
|
||||
.start = IRQ_EPPI2_STAT,
|
||||
.end = IRQ_EPPI2_STAT,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
static struct platform_device bfin_fb_device = {
|
||||
.name = "bf609_nl8048",
|
||||
.num_resources = ARRAY_SIZE(nl8048_resources),
|
||||
.resource = nl8048_resources,
|
||||
.dev = {
|
||||
.platform_data = (void *)GPIO_PC15,
|
||||
},
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_BFIN_CRC)
|
||||
#define BFIN_CRC_NAME "bfin-crc"
|
||||
|
||||
|
@ -1862,6 +1889,29 @@ static struct platform_device i2c_bfin_twi1_device = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if IS_ENABLED(CONFIG_GPIO_MCP23S08)
|
||||
#include <linux/spi/mcp23s08.h>
|
||||
static const struct mcp23s08_platform_data bfin_mcp23s08_soft_switch0 = {
|
||||
.base = 120,
|
||||
};
|
||||
static const struct mcp23s08_platform_data bfin_mcp23s08_soft_switch1 = {
|
||||
.base = 130,
|
||||
};
|
||||
static const struct mcp23s08_platform_data bfin_mcp23s08_soft_switch2 = {
|
||||
.base = 140,
|
||||
};
|
||||
# if IS_ENABLED(CONFIG_VIDEO_ADV7842)
|
||||
static const struct mcp23s08_platform_data bfin_adv7842_soft_switch = {
|
||||
.base = 150,
|
||||
};
|
||||
# endif
|
||||
# if IS_ENABLED(CONFIG_VIDEO_ADV7511) || IS_ENABLED(CONFIG_VIDEO_ADV7343)
|
||||
static const struct mcp23s08_platform_data bfin_adv7511_soft_switch = {
|
||||
.base = 160,
|
||||
};
|
||||
# endif
|
||||
#endif
|
||||
|
||||
static struct i2c_board_info __initdata bfin_i2c_board_info0[] = {
|
||||
#if IS_ENABLED(CONFIG_INPUT_ADXL34X_I2C)
|
||||
{
|
||||
|
@ -1881,6 +1931,32 @@ static struct i2c_board_info __initdata bfin_i2c_board_info0[] = {
|
|||
I2C_BOARD_INFO("ssm2602", 0x1b),
|
||||
},
|
||||
#endif
|
||||
#if IS_ENABLED(CONFIG_GPIO_MCP23S08)
|
||||
{
|
||||
I2C_BOARD_INFO("mcp23017", 0x21),
|
||||
.platform_data = (void *)&bfin_mcp23s08_soft_switch0
|
||||
},
|
||||
{
|
||||
I2C_BOARD_INFO("mcp23017", 0x22),
|
||||
.platform_data = (void *)&bfin_mcp23s08_soft_switch1
|
||||
},
|
||||
{
|
||||
I2C_BOARD_INFO("mcp23017", 0x23),
|
||||
.platform_data = (void *)&bfin_mcp23s08_soft_switch2
|
||||
},
|
||||
# if IS_ENABLED(CONFIG_VIDEO_ADV7842)
|
||||
{
|
||||
I2C_BOARD_INFO("mcp23017", 0x26),
|
||||
.platform_data = (void *)&bfin_adv7842_soft_switch
|
||||
},
|
||||
# endif
|
||||
# if IS_ENABLED(CONFIG_VIDEO_ADV7511) || IS_ENABLED(CONFIG_VIDEO_ADV7343)
|
||||
{
|
||||
I2C_BOARD_INFO("mcp23017", 0x25),
|
||||
.platform_data = (void *)&bfin_adv7511_soft_switch
|
||||
},
|
||||
# endif
|
||||
#endif
|
||||
};
|
||||
|
||||
static struct i2c_board_info __initdata bfin_i2c_board_info1[] = {
|
||||
|
@ -2023,8 +2099,8 @@ static struct platform_device *ezkit_devices[] __initdata = {
|
|||
#if IS_ENABLED(CONFIG_MTD_PHYSMAP)
|
||||
&ezkit_flash_device,
|
||||
#endif
|
||||
#if IS_ENABLED(CONFIG_SND_BF5XX_I2S)
|
||||
&bfin_i2s_pcm,
|
||||
#if IS_ENABLED(CONFIG_SND_BF6XX_PCM)
|
||||
&bfin_pcm,
|
||||
#endif
|
||||
#if IS_ENABLED(CONFIG_SND_BF6XX_SOC_I2S)
|
||||
&bfin_i2s,
|
||||
|
@ -2060,7 +2136,7 @@ static struct pinctrl_map __initdata bfin_pinmux_map[] = {
|
|||
PIN_MAP_MUX_GROUP_DEFAULT("bfin-rotary", "pinctrl-adi2.0", NULL, "rotary"),
|
||||
PIN_MAP_MUX_GROUP_DEFAULT("bfin_can.0", "pinctrl-adi2.0", NULL, "can0"),
|
||||
PIN_MAP_MUX_GROUP_DEFAULT("physmap-flash.0", "pinctrl-adi2.0", NULL, "smc0"),
|
||||
PIN_MAP_MUX_GROUP_DEFAULT("bf609_nl8048.2", "pinctrl-adi2.0", "ppi2_16bgrp", "ppi2"),
|
||||
PIN_MAP_MUX_GROUP_DEFAULT("bf609_nl8048.0", "pinctrl-adi2.0", "ppi2_16bgrp", "ppi2"),
|
||||
PIN_MAP_MUX_GROUP("bfin_display.0", "8bit", "pinctrl-adi2.0", "ppi2_8bgrp", "ppi2"),
|
||||
PIN_MAP_MUX_GROUP_DEFAULT("bfin_display.0", "pinctrl-adi2.0", "ppi2_16bgrp", "ppi2"),
|
||||
PIN_MAP_MUX_GROUP("bfin_display.0", "16bit", "pinctrl-adi2.0", "ppi2_16bgrp", "ppi2"),
|
||||
|
|
|
@ -363,6 +363,12 @@ static struct clk ethclk = {
|
|||
.ops = &dummy_clk_ops,
|
||||
};
|
||||
|
||||
static struct clk ethpclk = {
|
||||
.name = "pclk",
|
||||
.parent = &sclk0,
|
||||
.ops = &dummy_clk_ops,
|
||||
};
|
||||
|
||||
static struct clk spiclk = {
|
||||
.name = "spi",
|
||||
.parent = &sclk1,
|
||||
|
@ -381,6 +387,7 @@ static struct clk_lookup bf609_clks[] = {
|
|||
CLK(dclk, NULL, "DCLK"),
|
||||
CLK(oclk, NULL, "OCLK"),
|
||||
CLK(ethclk, NULL, "stmmaceth"),
|
||||
CLK(ethpclk, NULL, "pclk"),
|
||||
CLK(spiclk, NULL, "spi"),
|
||||
};
|
||||
|
||||
|
|
|
@ -1694,6 +1694,16 @@ ENTRY(_sys_call_table)
|
|||
.long _sys_sendmmsg /* 380 */
|
||||
.long _sys_process_vm_readv
|
||||
.long _sys_process_vm_writev
|
||||
.long _sys_kcmp
|
||||
.long _sys_finit_module
|
||||
.long _sys_sched_setattr /* 385 */
|
||||
.long _sys_sched_getattr
|
||||
.long _sys_renameat2
|
||||
.long _sys_seccomp
|
||||
.long _sys_getrandom
|
||||
.long _sys_memfd_create /* 390 */
|
||||
.long _sys_bpf
|
||||
.long _sys_execveat
|
||||
|
||||
.rept NR_syscalls-(.-_sys_call_table)/4
|
||||
.long _sys_ni_syscall
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <linux/slab.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include <asm/cplb.h>
|
||||
#include <asm/gpio.h>
|
||||
|
@ -180,6 +181,7 @@ int bfin_pm_suspend_mem_enter(void)
|
|||
|
||||
#if defined(CONFIG_BFIN_EXTMEM_WRITEBACK) || defined(CONFIG_BFIN_L2_WRITEBACK)
|
||||
flushinv_all_dcache();
|
||||
udelay(1);
|
||||
#endif
|
||||
_disable_dcplb();
|
||||
_disable_icplb();
|
||||
|
|
Загрузка…
Ссылка в новой задаче