Skip to content

Commit 76be78d

Browse files
dlechProject516
authored andcommitted
fixup! ev3dev: cumulative ev3dev changes to arm arch code
1 parent 55e0223 commit 76be78d

File tree

8 files changed

+45
-63
lines changed

8 files changed

+45
-63
lines changed

arch/arm/boot/dts/ti/davinci/da850-lego-ev3.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -780,7 +780,7 @@
780780
#size-cells = <1>;
781781

782782
/* Hardware ID + Bluetooth MAC address */
783-
hw_id: hw-id@0x3F00 {
783+
hw_id: hw-id@3F00 {
784784
reg = <0x3F00 12>;
785785
};
786786

arch/arm/configs/ev3dev_defconfig

Lines changed: 16 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,37 @@ CONFIG_LOCALVERSION="-ev3"
22
# CONFIG_LOCALVERSION_AUTO is not set
33
CONFIG_SYSVIPC=y
44
CONFIG_POSIX_MQUEUE=y
5-
CONFIG_NO_HZ=y
5+
CONFIG_NO_HZ_IDLE=y
66
CONFIG_HIGH_RES_TIMERS=y
77
CONFIG_PREEMPT=y
88
CONFIG_IKCONFIG=y
99
CONFIG_IKCONFIG_PROC=y
1010
CONFIG_LOG_BUF_SHIFT=15
1111
CONFIG_CGROUPS=y
12-
CONFIG_NAMESPACES=y
1312
CONFIG_BLK_DEV_INITRD=y
1413
# CONFIG_RD_BZIP2 is not set
1514
# CONFIG_RD_LZMA is not set
1615
# CONFIG_RD_XZ is not set
1716
# CONFIG_RD_LZO is not set
1817
# CONFIG_RD_LZ4 is not set
1918
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
20-
CONFIG_SYSCTL_SYSCALL=y
21-
CONFIG_KALLSYMS_ALL=y
22-
CONFIG_EMBEDDED=y
19+
# CONFIG_ARCH_MULTI_V7 is not set
2320
CONFIG_ARCH_DAVINCI=y
2421
CONFIG_ARCH_DAVINCI_DA850=y
25-
# CONFIG_MACH_DAVINCI_DA850_EVM is not set
2622
CONFIG_MACH_DAVINCI_LEGOEV3=y
2723
CONFIG_LEGOEV3_FIQ=y
2824
CONFIG_AEABI=y
29-
CONFIG_ZBOOT_ROM_TEXT=0x0
30-
CONFIG_ZBOOT_ROM_BSS=0x0
3125
CONFIG_CPU_IDLE=y
3226
# CONFIG_SUSPEND is not set
3327
CONFIG_PM=y
28+
CONFIG_STRICT_KERNEL_RWX=y
29+
CONFIG_STRICT_MODULE_RWX=y
3430
CONFIG_MODULES=y
3531
CONFIG_MODULE_UNLOAD=y
3632
CONFIG_MODULE_FORCE_UNLOAD=y
3733
CONFIG_MODVERSIONS=y
38-
# CONFIG_BLK_DEV_BSG is not set
3934
CONFIG_PARTITION_ADVANCED=y
4035
# CONFIG_EFI_PARTITION is not set
41-
# CONFIG_IOSCHED_DEADLINE is not set
42-
# CONFIG_IOSCHED_CFQ is not set
43-
CONFIG_ZSMALLOC=y
44-
CONFIG_PGTABLE_MAPPING=y
4536
CONFIG_NET=y
4637
CONFIG_PACKET=y
4738
CONFIG_UNIX=y
@@ -75,26 +66,23 @@ CONFIG_CFG80211=m
7566
CONFIG_MAC80211=m
7667
CONFIG_MAC80211_DEBUG_MENU=y
7768
CONFIG_RFKILL=y
78-
# CONFIG_UEVENT_HELPER is not set
7969
CONFIG_DEVTMPFS=y
8070
CONFIG_DEVTMPFS_MOUNT=y
8171
# CONFIG_STANDALONE is not set
8272
CONFIG_EXTRA_FIRMWARE="PRU_SUART.bin ev3-pru1.fw"
8373
CONFIG_EXTRA_FIRMWARE_DIR="drivers/lego/ev3/firmware"
8474
CONFIG_LEGO_DRIVERS=y
8575
CONFIG_LEGOEV3_I2C=y
76+
# CONFIG_LEGOEV3_PRU is not set
8677
CONFIG_LEGOEV3_SOUND=y
8778
CONFIG_NXT_ANALOG_SENSORS=m
8879
CONFIG_EV3_ANALOG_SENSORS=m
8980
CONFIG_NXT_I2C_SENSORS=m
9081
CONFIG_EV3_UART_SENSORS=m
9182
CONFIG_LEGO_SERVO_MOTORS=m
92-
CONFIG_LMS2012_COMPAT=m
83+
# CONFIG_LMS2012_COMPAT is not set
9384
CONFIG_WEDO=m
94-
CONFIG_BRICKPI=m
9585
CONFIG_BOARD_INFO=y
96-
CONFIG_SERIAL_SUART_OMAPL_PRU=y
97-
CONFIG_TI_PRU_RPROC_EV3DEV=y
9886
CONFIG_MTD=y
9987
CONFIG_MTD_CMDLINE_PARTS=y
10088
CONFIG_MTD_BLOCK=y
@@ -107,6 +95,7 @@ CONFIG_SCSI=y
10795
CONFIG_BLK_DEV_SD=y
10896
CONFIG_BLK_DEV_SR=m
10997
CONFIG_CHR_DEV_SG=y
98+
# CONFIG_BLK_DEV_BSG is not set
11099
CONFIG_NETDEVICES=y
111100
CONFIG_TUN=m
112101
# CONFIG_ETHERNET is not set
@@ -122,13 +111,6 @@ CONFIG_PPP_SYNC_TTY=m
122111
CONFIG_USB_PEGASUS=m
123112
CONFIG_USB_RTL8150=m
124113
CONFIG_USB_RTL8152=m
125-
CONFIG_USB_NET_CDC_EEM=m
126-
CONFIG_USB_NET_CDC_MBIM=m
127-
CONFIG_USB_NET_DM9601=m
128-
CONFIG_USB_NET_SR9700=m
129-
CONFIG_USB_NET_SR9800=m
130-
# CONFIG_USB_NET_NET1080 is not set
131-
CONFIG_USB_NET_QMI_WWAN=m
132114
CONFIG_USB_IPHETH=m
133115
CONFIG_ATH9K_HTC=m
134116
CONFIG_AR5523=m
@@ -143,11 +125,8 @@ CONFIG_RT2800USB_RT55XX=y
143125
CONFIG_RT2800USB_UNKNOWN=y
144126
CONFIG_RTL8187=m
145127
# CONFIG_RTL_CARDS is not set
146-
CONFIG_RTL8192CU=m
147128
CONFIG_RTL8XXXU=m
148-
CONFIG_USB_ZD1201=m
149129
CONFIG_ZD1211RW=m
150-
CONFIG_USB_NET_RNDIS_WLAN=m
151130
CONFIG_INPUT_EVDEV=y
152131
CONFIG_KEYBOARD_GPIO=y
153132
CONFIG_KEYBOARD_GPIO_POLLED=y
@@ -167,17 +146,13 @@ CONFIG_SERIAL_8250_NR_UARTS=3
167146
CONFIG_SERIAL_8250_RUNTIME_UARTS=3
168147
CONFIG_SERIAL_OF_PLATFORM=y
169148
CONFIG_SERIAL_DEV_BUS=y
170-
CONFIG_TTY_PRINTK=y
171149
CONFIG_HW_RANDOM=y
172150
CONFIG_I2C_CHARDEV=y
173151
CONFIG_I2C_DAVINCI=y
174152
CONFIG_SPI=y
175153
CONFIG_SPI_DAVINCI=y
176154
CONFIG_PINCTRL_DA850_PUPD=y
177-
CONFIG_PINCTRL_SINGLE=y
178-
CONFIG_GPIO_SYSFS=y
179-
CONFIG_GPIO_PCA953X=y
180-
CONFIG_GPIO_PCF857X=m
155+
CONFIG_GPIOLIB=y
181156
CONFIG_POWER_RESET=y
182157
CONFIG_POWER_RESET_GPIO=y
183158
CONFIG_BATTERY_LEGO_EV3=y
@@ -186,8 +161,6 @@ CONFIG_SENSORS_LM75=m
186161
CONFIG_SENSORS_PCF8591=m
187162
CONFIG_WATCHDOG=y
188163
CONFIG_DAVINCI_WATCHDOG=y
189-
CONFIG_SSB=m
190-
CONFIG_TPS6507X=m
191164
CONFIG_REGULATOR=y
192165
CONFIG_REGULATOR_FIXED_VOLTAGE=y
193166
CONFIG_REGULATOR_GPIO=y
@@ -196,15 +169,11 @@ CONFIG_MEDIA_SUPPORT=m
196169
CONFIG_MEDIA_CAMERA_SUPPORT=y
197170
CONFIG_MEDIA_USB_SUPPORT=y
198171
CONFIG_USB_VIDEO_CLASS=m
199-
CONFIG_USB_STV06XX=m
200-
CONFIG_USB_GSPCA_SPCA561=m
201-
CONFIG_USB_GSPCA_ZC3XX=m
202172
CONFIG_DRM=y
203-
CONFIG_DRM_TINYDRM=y
204173
CONFIG_TINYDRM_ST7586=y
205174
CONFIG_TINYDRM_ST7735R=y
175+
CONFIG_FB=y
206176
CONFIG_BACKLIGHT_GPIO=y
207-
CONFIG_FRAMEBUFFER_CONSOLE=y
208177
CONFIG_LOGO=y
209178
# CONFIG_LOGO_LINUX_MONO is not set
210179
# CONFIG_LOGO_LINUX_VGA16 is not set
@@ -271,7 +240,6 @@ CONFIG_USB_MIDI_GADGET=m
271240
CONFIG_USB_CDC_COMPOSITE=m
272241
CONFIG_MMC=y
273242
CONFIG_MMC_DAVINCI=y
274-
CONFIG_LEDS_CLASS=y
275243
CONFIG_LEDS_GPIO=y
276244
CONFIG_LEDS_PWM=y
277245
CONFIG_LEDS_TRIGGER_TIMER=y
@@ -282,17 +250,17 @@ CONFIG_RTC_CLASS=y
282250
# CONFIG_RTC_HCTOSYS is not set
283251
CONFIG_RTC_DRV_DS1307=m
284252
CONFIG_DMADEVICES=y
285-
CONFIG_STAGING=y
286-
CONFIG_R8712U=y
287-
CONFIG_FB_TFT=y
288-
CONFIG_FB_TFT_ST7735R=y
289253
CONFIG_COMMON_CLK_PWM=y
254+
CONFIG_REMOTEPROC=y
290255
CONFIG_RPMSG_CHAR=m
256+
CONFIG_RPMSG_VIRTIO=y
291257
CONFIG_IIO=y
292258
CONFIG_IIO_BUFFER_CB=y
293259
CONFIG_IIO_SW_DEVICE=m
260+
CONFIG_IIO_SW_TRIGGER=y
294261
CONFIG_TI_ADS7950=y
295262
CONFIG_TCS3472=m
263+
CONFIG_IIO_HRTIMER_TRIGGER=y
296264
CONFIG_IIO_INTERRUPT_TRIGGER=m
297265
CONFIG_IIO_SYSFS_TRIGGER=m
298266
CONFIG_PWM=y
@@ -305,7 +273,6 @@ CONFIG_BTRFS_FS=m
305273
CONFIG_BTRFS_FS_POSIX_ACL=y
306274
CONFIG_F2FS_FS=m
307275
CONFIG_FANOTIFY=y
308-
CONFIG_AUTOFS4_FS=y
309276
CONFIG_FUSE_FS=m
310277
CONFIG_MSDOS_FS=y
311278
CONFIG_VFAT_FS=y
@@ -323,12 +290,11 @@ CONFIG_NLS_CODEPAGE_437=y
323290
CONFIG_NLS_ASCII=m
324291
CONFIG_NLS_ISO8859_1=y
325292
CONFIG_NLS_UTF8=y
326-
CONFIG_CRYPTO_CCM=y
293+
CONFIG_CRYPTO_DES=y
327294
CONFIG_CRYPTO_CBC=y
295+
CONFIG_CRYPTO_CCM=y
328296
CONFIG_CRYPTO_MD5=y
329297
CONFIG_CRYPTO_MICHAEL_MIC=m
330-
CONFIG_CRYPTO_ARC4=y
331-
CONFIG_CRYPTO_DES=y
332298
CONFIG_CRYPTO_LZ4=y
333299
# CONFIG_CRYPTO_HW is not set
334300
CONFIG_CRC_CCITT=y
@@ -340,7 +306,4 @@ CONFIG_FONT_8x8=y
340306
CONFIG_FONT_6x11=y
341307
CONFIG_FONT_MINI_4x6=y
342308
CONFIG_DEBUG_FS=y
343-
# CONFIG_SCHED_DEBUG is not set
344-
# CONFIG_DEBUG_PREEMPT is not set
345-
# CONFIG_FTRACE is not set
346-
# CONFIG_ARM_UNWIND is not set
309+
CONFIG_UNWINDER_FRAME_POINTER=y

arch/arm/mach-davinci/legoev3-dt.c

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,32 @@
1515
#include "da8xx.h"
1616

1717
#include "legoev3-fiq.h"
18-
#include "board-legoev3.h"
19-
#include "cp_intc.h"
18+
#include "irqs.h"
2019

2120
#define LEGOEV3_DT 1
2221
#include <../../../drivers/lego/ev3/legoev3_i2c.h>
2322

2423

2524
#define DA8XX_EHRPWM0_BASE 0x01F00000
2625

26+
/* Convert GPIO signal to GPIO pin number */
27+
#define GPIO_TO_PIN(bank, gpio) (16 * (bank) + (gpio))
28+
29+
/*
30+
* Used by FIQ handler routine to notify the OS when status has changed. See
31+
* arch/arm/mach-davinci/legoev3-fiq.c. This pin is TP4 in the lms2012 source
32+
* code, so it should be safe to use.
33+
*/
34+
#define EV3_FIQ_STAT_PIN GPIO_TO_PIN(2, 7)
35+
#define EV3_IN1_PIN6_PIN GPIO_TO_PIN(0, 15)
36+
#define EV3_IN1_I2C_CLK_PIN GPIO_TO_PIN(1, 0)
37+
#define EV3_IN2_PIN6_PIN GPIO_TO_PIN(0, 13)
38+
#define EV3_IN2_I2C_CLK_PIN GPIO_TO_PIN(8, 3)
39+
#define EV3_IN3_PIN6_PIN GPIO_TO_PIN(1, 14)
40+
#define EV3_IN3_I2C_CLK_PIN GPIO_TO_PIN(1, 12)
41+
#define EV3_IN4_PIN6_PIN GPIO_TO_PIN(1, 15)
42+
#define EV3_IN4_I2C_CLK_PIN GPIO_TO_PIN(1, 11)
43+
2744
static struct legoev3_fiq_platform_data legoev3_in_port_i2c_platform_data = {
2845
.intc_mem_base = DA8XX_CP_INTC_BASE,
2946
.intc_mem_size = 0x608,

arch/arm/mach-davinci/legoev3-fiq.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@
2727

2828
#include <asm/io.h>
2929
#include <asm/fiq.h>
30-
#include <mach/legoev3-fiq.h>
3130

32-
#include "cp_intc.h"
31+
#include "legoev3-fiq.h"
3332

3433
enum transfer_states {
3534
TRANSFER_IDLE,
@@ -284,14 +283,14 @@ legoev3_fiq_timer_callback(struct legoev3_fiq_port_i2c_data *data)
284283
if (msg->flags & I2C_M_RD)
285284
data->data_byte |= 1;
286285
data->buf_offset = 0;
287-
/* no break */
286+
fallthrough;
288287

289288
case TRANSFER_WRITE:
290289
if (data->transfer_state == TRANSFER_WRITE)
291290
data->data_byte = msg->buf[data->buf_offset++];
292291
data->transfer_state = TRANSFER_WBIT;
293292
data->bit_mask = 0x80;
294-
/* no break */
293+
fallthrough;
295294

296295
case TRANSFER_WBIT:
297296
if (!data->clock_state) {
@@ -310,7 +309,7 @@ legoev3_fiq_timer_callback(struct legoev3_fiq_port_i2c_data *data)
310309
data->transfer_state = TRANSFER_RBIT;
311310
data->bit_mask = 0x80;
312311
data->data_byte = 0;
313-
/* no break */
312+
fallthrough;
314313

315314
case TRANSFER_RBIT:
316315
if (data->clock_state) {
@@ -421,7 +420,7 @@ legoev3_fiq_timer_callback(struct legoev3_fiq_port_i2c_data *data)
421420
*/
422421
fiq_gpio_dir_in(&data->gpio[FIQ_I2C_PIN_SDA]);
423422
data->transfer_state = TRANSFER_COMPLETE;
424-
/* no break */
423+
fallthrough;
425424

426425
case TRANSFER_COMPLETE:
427426
/*
@@ -480,7 +479,7 @@ static void legoev3_fiq_ehrpwm_callback(struct legoev3_fiq_ehrpwm_data *data)
480479
!fiq_gpio_get_value(&legoev3_fiq_data->status_gpio));
481480
}
482481

483-
void legoev3_fiq_handler(void)
482+
static void legoev3_fiq_handler(void)
484483
{
485484
int irq = legoev3_fiq_get_irq();
486485

arch/arm/mach-davinci/legoev3-fiq.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,7 @@ extern int legoev3_fiq_ehrpwm_int_enable(void);
6666
extern int legoev3_fiq_ehrpwm_int_disable(void);
6767
extern bool legoev3_fiq_ehrpwm_int_is_enabled(void);
6868

69+
void cp_intc_fiq_enable(void);
70+
void cp_intc_fiq_disble(void);
71+
6972
#endif /* __MACH_LEGOEV3_FIQ_H */

0 commit comments

Comments
 (0)