Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0372c1ab authored by Chris Zankel's avatar Chris Zankel
Browse files

Merge tag 'xtensa-for-next-20150304' of git://github.com/jcmvbkbc/linux-xtensa into for_next

Xtensa fixes for 4.0:

- make xtfpgs LCD driver functional and configurable. This fixes hardware
  lockup on KC705/ML605 boot;
- wire bpf and execveat syscalls;
- provide __NR_sync_file_range2 instead of __NR_sync_file_range, as that's
  what xtensa uses.
parents 40aad098 01e84c70
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -428,6 +428,36 @@ config DEFAULT_MEM_SIZE

	  If unsure, leave the default value here.

config XTFPGA_LCD
	bool "Enable XTFPGA LCD driver"
	depends on XTENSA_PLATFORM_XTFPGA
	default n
	help
	  There's a 2x16 LCD on most of XTFPGA boards, kernel may output
	  progress messages there during bootup/shutdown. It may be useful
	  during board bringup.

	  If unsure, say N.

config XTFPGA_LCD_BASE_ADDR
	hex "XTFPGA LCD base address"
	depends on XTFPGA_LCD
	default "0x0d0c0000"
	help
	  Base address of the LCD controller inside KIO region.
	  Different boards from XTFPGA family have LCD controller at different
	  addresses. Please consult prototyping user guide for your board for
	  the correct address. Wrong address here may lead to hardware lockup.

config XTFPGA_LCD_8BIT_ACCESS
	bool "Use 8-bit access to XTFPGA LCD"
	depends on XTFPGA_LCD
	default n
	help
	  LCD may be connected with 4- or 8-bit interface, 8-bit access may
	  only be used with 8-bit interface. Please consult prototyping user
	  guide for your board for the correct interface width.

endmenu

menu "Executable file formats"
+6 −2
Original line number Diff line number Diff line
@@ -715,7 +715,7 @@ __SYSCALL(323, sys_process_vm_writev, 6)
__SYSCALL(324, sys_name_to_handle_at, 5)
#define __NR_open_by_handle_at			325
__SYSCALL(325, sys_open_by_handle_at, 3)
#define __NR_sync_file_range			326
#define __NR_sync_file_range2			326
__SYSCALL(326, sys_sync_file_range2, 6)
#define __NR_perf_event_open			327
__SYSCALL(327, sys_perf_event_open, 5)
@@ -749,8 +749,12 @@ __SYSCALL(337, sys_seccomp, 3)
__SYSCALL(338, sys_getrandom, 3)
#define __NR_memfd_create			339
__SYSCALL(339, sys_memfd_create, 2)
#define __NR_bpf				340
__SYSCALL(340, sys_bpf, 3)
#define __NR_execveat				341
__SYSCALL(341, sys_execveat, 5)

#define __NR_syscall_count			340
#define __NR_syscall_count			342

/*
 * sysxtensa syscall handler
+2 −1
Original line number Diff line number Diff line
@@ -6,4 +6,5 @@
#
# Note 2! The CFLAGS definitions are in the main makefile...

obj-y			= setup.o lcd.o
obj-y			+= setup.o
obj-$(CONFIG_XTFPGA_LCD) += lcd.o
+0 −3
Original line number Diff line number Diff line
@@ -40,9 +40,6 @@

/* UART */
#define DUART16552_PADDR	(XCHAL_KIO_PADDR + 0x0D050020)
/* LCD instruction and data addresses. */
#define LCD_INSTR_ADDR		((char *)IOADDR(0x0D040000))
#define LCD_DATA_ADDR		((char *)IOADDR(0x0D040004))

/* Misc. */
#define XTFPGA_FPGAREGS_VADDR	IOADDR(0x0D020000)
+15 −0
Original line number Diff line number Diff line
@@ -11,10 +11,25 @@
#ifndef __XTENSA_XTAVNET_LCD_H
#define __XTENSA_XTAVNET_LCD_H

#ifdef CONFIG_XTFPGA_LCD
/* Display string STR at position POS on the LCD. */
void lcd_disp_at_pos(char *str, unsigned char pos);

/* Shift the contents of the LCD display left or right. */
void lcd_shiftleft(void);
void lcd_shiftright(void);
#else
static inline void lcd_disp_at_pos(char *str, unsigned char pos)
{
}

static inline void lcd_shiftleft(void)
{
}

static inline void lcd_shiftright(void)
{
}
#endif

#endif
Loading