mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-26 15:28:50 +00:00
arm: Remove strongarm support
There are no platforms using this architecture anymore, remove it. Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
38d091ac1d
commit
95cc3efcc1
11 changed files with 1 additions and 3246 deletions
|
@ -330,11 +330,6 @@ config CPU_V7R
|
||||||
select SYS_ARM_MPU
|
select SYS_ARM_MPU
|
||||||
select SYS_CACHE_SHIFT_6
|
select SYS_CACHE_SHIFT_6
|
||||||
|
|
||||||
config CPU_SA1100
|
|
||||||
bool
|
|
||||||
select SYS_CACHE_SHIFT_5
|
|
||||||
imply SYS_ARM_MMU
|
|
||||||
|
|
||||||
config SYS_CPU
|
config SYS_CPU
|
||||||
default "arm720t" if CPU_ARM720T
|
default "arm720t" if CPU_ARM720T
|
||||||
default "arm920t" if CPU_ARM920T
|
default "arm920t" if CPU_ARM920T
|
||||||
|
@ -345,7 +340,6 @@ config SYS_CPU
|
||||||
default "armv7" if CPU_V7A
|
default "armv7" if CPU_V7A
|
||||||
default "armv7" if CPU_V7R
|
default "armv7" if CPU_V7R
|
||||||
default "armv7m" if CPU_V7M
|
default "armv7m" if CPU_V7M
|
||||||
default "sa1100" if CPU_SA1100
|
|
||||||
default "armv8" if ARM64
|
default "armv8" if ARM64
|
||||||
|
|
||||||
config SYS_ARM_ARCH
|
config SYS_ARM_ARCH
|
||||||
|
@ -359,7 +353,6 @@ config SYS_ARM_ARCH
|
||||||
default 7 if CPU_V7A
|
default 7 if CPU_V7A
|
||||||
default 7 if CPU_V7M
|
default 7 if CPU_V7M
|
||||||
default 7 if CPU_V7R
|
default 7 if CPU_V7R
|
||||||
default 4 if CPU_SA1100
|
|
||||||
default 8 if ARM64
|
default 8 if ARM64
|
||||||
|
|
||||||
choice
|
choice
|
||||||
|
|
|
@ -10,7 +10,6 @@ arch-$(CONFIG_CPU_ARM720T) =-march=armv4
|
||||||
arch-$(CONFIG_CPU_ARM920T) =-march=armv4t
|
arch-$(CONFIG_CPU_ARM920T) =-march=armv4t
|
||||||
arch-$(CONFIG_CPU_ARM926EJS) =-march=armv5te
|
arch-$(CONFIG_CPU_ARM926EJS) =-march=armv5te
|
||||||
arch-$(CONFIG_CPU_ARM946ES) =-march=armv5te
|
arch-$(CONFIG_CPU_ARM946ES) =-march=armv5te
|
||||||
arch-$(CONFIG_CPU_SA1100) =-march=armv4
|
|
||||||
arch-$(CONFIG_CPU_ARM1136) =-march=armv5t
|
arch-$(CONFIG_CPU_ARM1136) =-march=armv5t
|
||||||
arch-$(CONFIG_CPU_ARM1176) =-march=armv5t
|
arch-$(CONFIG_CPU_ARM1176) =-march=armv5t
|
||||||
arch-$(CONFIG_CPU_V7A) =$(call cc-option, -march=armv7-a, \
|
arch-$(CONFIG_CPU_V7A) =$(call cc-option, -march=armv7-a, \
|
||||||
|
@ -39,7 +38,6 @@ tune-$(CONFIG_CPU_ARM720T) =-mtune=arm7tdmi
|
||||||
tune-$(CONFIG_CPU_ARM920T) =
|
tune-$(CONFIG_CPU_ARM920T) =
|
||||||
tune-$(CONFIG_CPU_ARM926EJS) =
|
tune-$(CONFIG_CPU_ARM926EJS) =
|
||||||
tune-$(CONFIG_CPU_ARM946ES) =
|
tune-$(CONFIG_CPU_ARM946ES) =
|
||||||
tune-$(CONFIG_CPU_SA1100) =-mtune=strongarm1100
|
|
||||||
tune-$(CONFIG_CPU_ARM1136) =
|
tune-$(CONFIG_CPU_ARM1136) =
|
||||||
tune-$(CONFIG_CPU_ARM1176) =
|
tune-$(CONFIG_CPU_ARM1176) =
|
||||||
tune-$(CONFIG_CPU_V7A) =-mtune=generic-armv7-a
|
tune-$(CONFIG_CPU_V7A) =-mtune=generic-armv7-a
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0+
|
|
||||||
#
|
|
||||||
# (C) Copyright 2000-2006
|
|
||||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
||||||
|
|
||||||
extra-y = start.o
|
|
||||||
|
|
||||||
obj-y += cpu.o
|
|
||||||
obj-y += timer.o
|
|
|
@ -1,65 +0,0 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0+
|
|
||||||
/*
|
|
||||||
* (C) Copyright 2002
|
|
||||||
* Sysgo Real-Time Solutions, GmbH <www.elinos.com>
|
|
||||||
* Marius Groeger <mgroeger@sysgo.de>
|
|
||||||
*
|
|
||||||
* (C) Copyright 2002
|
|
||||||
* Sysgo Real-Time Solutions, GmbH <www.elinos.com>
|
|
||||||
* Alex Zuepke <azu@sysgo.de>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* CPU specific code
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <common.h>
|
|
||||||
#include <command.h>
|
|
||||||
#include <cpu_func.h>
|
|
||||||
#include <irq_func.h>
|
|
||||||
#include <asm/system.h>
|
|
||||||
#include <asm/io.h>
|
|
||||||
|
|
||||||
static void cache_flush(void);
|
|
||||||
|
|
||||||
int cleanup_before_linux (void)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* this function is called just before we call linux
|
|
||||||
* it prepares the processor for linux
|
|
||||||
*
|
|
||||||
* just disable everything that can disturb booting linux
|
|
||||||
*/
|
|
||||||
|
|
||||||
disable_interrupts();
|
|
||||||
|
|
||||||
/* turn off I-cache */
|
|
||||||
icache_disable();
|
|
||||||
dcache_disable();
|
|
||||||
|
|
||||||
/* flush I-cache */
|
|
||||||
cache_flush();
|
|
||||||
|
|
||||||
return (0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* flush I/D-cache */
|
|
||||||
static void cache_flush (void)
|
|
||||||
{
|
|
||||||
unsigned long i = 0;
|
|
||||||
|
|
||||||
asm ("mcr p15, 0, %0, c7, c5, 0": :"r" (i));
|
|
||||||
}
|
|
||||||
|
|
||||||
#define RST_BASE 0x90030000
|
|
||||||
#define RSRR 0x00
|
|
||||||
#define RCSR 0x04
|
|
||||||
|
|
||||||
__attribute__((noreturn)) void reset_cpu(void)
|
|
||||||
{
|
|
||||||
/* repeat endlessly */
|
|
||||||
while (1) {
|
|
||||||
writel(0, RST_BASE + RCSR);
|
|
||||||
writel(1, RST_BASE + RSRR);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,126 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
||||||
/*
|
|
||||||
* armboot - Startup Code for SA1100 CPU
|
|
||||||
*
|
|
||||||
* Copyright (C) 1998 Dan Malek <dmalek@jlc.net>
|
|
||||||
* Copyright (C) 1999 Magnus Damm <kieraypc01.p.y.kie.era.ericsson.se>
|
|
||||||
* Copyright (C) 2000 Wolfgang Denk <wd@denx.de>
|
|
||||||
* Copyright (c) 2001 Alex Züpke <azu@sysgo.de>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <asm-offsets.h>
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
/*
|
|
||||||
*************************************************************************
|
|
||||||
*
|
|
||||||
* Startup Code (reset vector)
|
|
||||||
*
|
|
||||||
* do important init only if we don't start from memory!
|
|
||||||
* relocate armboot to ram
|
|
||||||
* setup stack
|
|
||||||
* jump to second stage
|
|
||||||
*
|
|
||||||
*************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
.globl reset
|
|
||||||
|
|
||||||
reset:
|
|
||||||
/*
|
|
||||||
* set the cpu to SVC32 mode
|
|
||||||
*/
|
|
||||||
mrs r0,cpsr
|
|
||||||
bic r0,r0,#0x1f
|
|
||||||
orr r0,r0,#0xd3
|
|
||||||
msr cpsr,r0
|
|
||||||
|
|
||||||
/*
|
|
||||||
* we do sys-critical inits only at reboot,
|
|
||||||
* not when booting from ram!
|
|
||||||
*/
|
|
||||||
#if !CONFIG_IS_ENABLED(SKIP_LOWLEVEL_INIT)
|
|
||||||
bl cpu_init_crit
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bl _main
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
.globl c_runtime_cpu_setup
|
|
||||||
c_runtime_cpu_setup:
|
|
||||||
|
|
||||||
mov pc, lr
|
|
||||||
|
|
||||||
/*
|
|
||||||
*************************************************************************
|
|
||||||
*
|
|
||||||
* CPU_init_critical registers
|
|
||||||
*
|
|
||||||
* setup important registers
|
|
||||||
* setup memory timing
|
|
||||||
*
|
|
||||||
*************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/* Interrupt-Controller base address */
|
|
||||||
IC_BASE: .word 0x90050000
|
|
||||||
#define ICMR 0x04
|
|
||||||
|
|
||||||
|
|
||||||
/* Reset-Controller */
|
|
||||||
RST_BASE: .word 0x90030000
|
|
||||||
#define RSRR 0x00
|
|
||||||
#define RCSR 0x04
|
|
||||||
|
|
||||||
|
|
||||||
/* PWR */
|
|
||||||
PWR_BASE: .word 0x90020000
|
|
||||||
#define PSPR 0x08
|
|
||||||
#define PPCR 0x14
|
|
||||||
cpuspeed: .word CONFIG_SYS_CPUSPEED
|
|
||||||
|
|
||||||
|
|
||||||
cpu_init_crit:
|
|
||||||
/*
|
|
||||||
* mask all IRQs
|
|
||||||
*/
|
|
||||||
ldr r0, IC_BASE
|
|
||||||
mov r1, #0x00
|
|
||||||
str r1, [r0, #ICMR]
|
|
||||||
|
|
||||||
/* set clock speed */
|
|
||||||
ldr r0, PWR_BASE
|
|
||||||
ldr r1, cpuspeed
|
|
||||||
str r1, [r0, #PPCR]
|
|
||||||
|
|
||||||
#if !CONFIG_IS_ENABLED(SKIP_LOWLEVEL_INIT_ONLY)
|
|
||||||
/*
|
|
||||||
* before relocating, we have to setup RAM timing
|
|
||||||
* because memory timing is board-dependend, you will
|
|
||||||
* find a lowlevel_init.S in your board directory.
|
|
||||||
*/
|
|
||||||
mov ip, lr
|
|
||||||
bl lowlevel_init
|
|
||||||
mov lr, ip
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* disable MMU stuff and enable I-cache
|
|
||||||
*/
|
|
||||||
mrc p15,0,r0,c1,c0
|
|
||||||
bic r0, r0, #0x00002000 @ clear bit 13 (X)
|
|
||||||
bic r0, r0, #0x0000000f @ clear bits 3-0 (WCAM)
|
|
||||||
orr r0, r0, #0x00001000 @ set bit 12 (I) Icache
|
|
||||||
orr r0, r0, #0x00000002 @ set bit 1 (A) Align
|
|
||||||
mcr p15,0,r0,c1,c0
|
|
||||||
|
|
||||||
/*
|
|
||||||
* flush v4 I/D caches
|
|
||||||
*/
|
|
||||||
mov r0, #0
|
|
||||||
mcr p15, 0, r0, c7, c7, 0 /* flush v3/v4 cache */
|
|
||||||
mcr p15, 0, r0, c8, c7, 0 /* flush v4 TLB */
|
|
||||||
|
|
||||||
mov pc, lr
|
|
|
@ -1,66 +0,0 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0+
|
|
||||||
/*
|
|
||||||
* (C) Copyright 2002
|
|
||||||
* Sysgo Real-Time Solutions, GmbH <www.elinos.com>
|
|
||||||
* Marius Groeger <mgroeger@sysgo.de>
|
|
||||||
*
|
|
||||||
* (C) Copyright 2002
|
|
||||||
* Sysgo Real-Time Solutions, GmbH <www.elinos.com>
|
|
||||||
* Alex Zuepke <azu@sysgo.de>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <common.h>
|
|
||||||
#include <SA-1100.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <linux/delay.h>
|
|
||||||
|
|
||||||
static ulong get_timer_masked (void)
|
|
||||||
{
|
|
||||||
return OSCR;
|
|
||||||
}
|
|
||||||
|
|
||||||
ulong get_timer (ulong base)
|
|
||||||
{
|
|
||||||
return get_timer_masked ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void __udelay(unsigned long usec)
|
|
||||||
{
|
|
||||||
ulong tmo;
|
|
||||||
ulong endtime;
|
|
||||||
signed long diff;
|
|
||||||
|
|
||||||
if (usec >= 1000) {
|
|
||||||
tmo = usec / 1000;
|
|
||||||
tmo *= CONFIG_SYS_HZ;
|
|
||||||
tmo /= 1000;
|
|
||||||
} else {
|
|
||||||
tmo = usec * CONFIG_SYS_HZ;
|
|
||||||
tmo /= (1000*1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
endtime = get_timer_masked () + tmo;
|
|
||||||
|
|
||||||
do {
|
|
||||||
ulong now = get_timer_masked ();
|
|
||||||
diff = endtime - now;
|
|
||||||
} while (diff >= 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This function is derived from PowerPC code (read timebase as long long).
|
|
||||||
* On ARM it just returns the timer value.
|
|
||||||
*/
|
|
||||||
unsigned long long get_ticks(void)
|
|
||||||
{
|
|
||||||
return get_timer(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This function is derived from PowerPC code (timebase clock frequency).
|
|
||||||
* On ARM it returns the number of timer ticks per second.
|
|
||||||
*/
|
|
||||||
ulong get_tbclk(void)
|
|
||||||
{
|
|
||||||
return CONFIG_SYS_HZ;
|
|
||||||
}
|
|
|
@ -1,112 +0,0 @@
|
||||||
/*
|
|
||||||
* FILE bitfield.h
|
|
||||||
*
|
|
||||||
* Version 1.1
|
|
||||||
* Author Copyright (c) Marc A. Viredaz, 1998
|
|
||||||
* DEC Western Research Laboratory, Palo Alto, CA
|
|
||||||
* Date April 1998 (April 1997)
|
|
||||||
* System Advanced RISC Machine (ARM)
|
|
||||||
* Language C or ARM Assembly
|
|
||||||
* Purpose Definition of macros to operate on bit fields.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef __BITFIELD_H
|
|
||||||
#define __BITFIELD_H
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
|
||||||
#define UData(Data) ((unsigned long) (Data))
|
|
||||||
#else
|
|
||||||
#define UData(Data) (Data)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* MACRO: Fld
|
|
||||||
*
|
|
||||||
* Purpose
|
|
||||||
* The macro "Fld" encodes a bit field, given its size and its shift value
|
|
||||||
* with respect to bit 0.
|
|
||||||
*
|
|
||||||
* Note
|
|
||||||
* A more intuitive way to encode bit fields would have been to use their
|
|
||||||
* mask. However, extracting size and shift value information from a bit
|
|
||||||
* field's mask is cumbersome and might break the assembler (255-character
|
|
||||||
* line-size limit).
|
|
||||||
*
|
|
||||||
* Input
|
|
||||||
* Size Size of the bit field, in number of bits.
|
|
||||||
* Shft Shift value of the bit field with respect to bit 0.
|
|
||||||
*
|
|
||||||
* Output
|
|
||||||
* Fld Encoded bit field.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define Fld(Size, Shft) (((Size) << 16) + (Shft))
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* MACROS: FSize, FShft, FMsk, FAlnMsk, F1stBit
|
|
||||||
*
|
|
||||||
* Purpose
|
|
||||||
* The macros "FSize", "FShft", "FMsk", "FAlnMsk", and "F1stBit" return
|
|
||||||
* the size, shift value, mask, aligned mask, and first bit of a
|
|
||||||
* bit field.
|
|
||||||
*
|
|
||||||
* Input
|
|
||||||
* Field Encoded bit field (using the macro "Fld").
|
|
||||||
*
|
|
||||||
* Output
|
|
||||||
* FSize Size of the bit field, in number of bits.
|
|
||||||
* FShft Shift value of the bit field with respect to bit 0.
|
|
||||||
* FMsk Mask for the bit field.
|
|
||||||
* FAlnMsk Mask for the bit field, aligned on bit 0.
|
|
||||||
* F1stBit First bit of the bit field.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define FSize(Field) ((Field) >> 16)
|
|
||||||
#define FShft(Field) ((Field) & 0x0000FFFF)
|
|
||||||
#define FMsk(Field) (((UData (1) << FSize (Field)) - 1) << FShft (Field))
|
|
||||||
#define FAlnMsk(Field) ((UData (1) << FSize (Field)) - 1)
|
|
||||||
#define F1stBit(Field) (UData (1) << FShft (Field))
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* MACRO: FInsrt
|
|
||||||
*
|
|
||||||
* Purpose
|
|
||||||
* The macro "FInsrt" inserts a value into a bit field by shifting the
|
|
||||||
* former appropriately.
|
|
||||||
*
|
|
||||||
* Input
|
|
||||||
* Value Bit-field value.
|
|
||||||
* Field Encoded bit field (using the macro "Fld").
|
|
||||||
*
|
|
||||||
* Output
|
|
||||||
* FInsrt Bit-field value positioned appropriately.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define FInsrt(Value, Field) \
|
|
||||||
(UData (Value) << FShft (Field))
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* MACRO: FExtr
|
|
||||||
*
|
|
||||||
* Purpose
|
|
||||||
* The macro "FExtr" extracts the value of a bit field by masking and
|
|
||||||
* shifting it appropriately.
|
|
||||||
*
|
|
||||||
* Input
|
|
||||||
* Data Data containing the bit-field to be extracted.
|
|
||||||
* Field Encoded bit field (using the macro "Fld").
|
|
||||||
*
|
|
||||||
* Output
|
|
||||||
* FExtr Bit-field value.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define FExtr(Data, Field) \
|
|
||||||
((UData (Data) >> FShft (Field)) & FAlnMsk (Field))
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* __BITFIELD_H */
|
|
|
@ -163,8 +163,7 @@
|
||||||
|
|
||||||
#endif /* CONFIG_ARM64 */
|
#endif /* CONFIG_ARM64 */
|
||||||
|
|
||||||
#if defined(CONFIG_CPU_SA1100) || defined(CONFIG_CPU_SA110) || \
|
#if defined(CONFIG_ARM64)
|
||||||
defined(CONFIG_ARM64)
|
|
||||||
/*
|
/*
|
||||||
* On the StrongARM, "swp" is terminally broken since it bypasses the
|
* On the StrongARM, "swp" is terminally broken since it bypasses the
|
||||||
* cache totally. This means that the cache becomes inconsistent, and,
|
* cache totally. This means that the cache becomes inconsistent, and,
|
||||||
|
|
|
@ -1048,13 +1048,6 @@ static int eth_set_config(struct eth_dev *dev, unsigned number,
|
||||||
int result = 0;
|
int result = 0;
|
||||||
struct usb_gadget *gadget = dev->gadget;
|
struct usb_gadget *gadget = dev->gadget;
|
||||||
|
|
||||||
if (gadget_is_sa1100(gadget)
|
|
||||||
&& dev->config
|
|
||||||
&& dev->tx_qlen != 0) {
|
|
||||||
/* tx fifo is full, but we can't clear it...*/
|
|
||||||
pr_err("can't change configurations");
|
|
||||||
return -ESPIPE;
|
|
||||||
}
|
|
||||||
eth_reset_config(dev);
|
eth_reset_config(dev);
|
||||||
|
|
||||||
switch (number) {
|
switch (number) {
|
||||||
|
@ -2019,14 +2012,6 @@ static int eth_bind(struct usb_gadget *gadget)
|
||||||
/* sh doesn't support multiple interfaces or configs */
|
/* sh doesn't support multiple interfaces or configs */
|
||||||
cdc = 0;
|
cdc = 0;
|
||||||
rndis = 0;
|
rndis = 0;
|
||||||
} else if (gadget_is_sa1100(gadget)) {
|
|
||||||
/* hardware can't write zlps */
|
|
||||||
zlp = 0;
|
|
||||||
/*
|
|
||||||
* sa1100 CAN do CDC, without status endpoint ... we use
|
|
||||||
* non-CDC to be compatible with ARM Linux-2.4 "usb-eth".
|
|
||||||
*/
|
|
||||||
cdc = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gcnum = usb_gadget_controller_number(gadget);
|
gcnum = usb_gadget_controller_number(gadget);
|
||||||
|
|
|
@ -45,13 +45,6 @@
|
||||||
#define gadget_is_sh(g) 0
|
#define gadget_is_sh(g) 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* not yet stable on 2.6 (would help "original Zaurus") */
|
|
||||||
#ifdef CONFIG_USB_GADGET_SA1100
|
|
||||||
#define gadget_is_sa1100(g) (!strcmp("sa1100_udc", (g)->name))
|
|
||||||
#else
|
|
||||||
#define gadget_is_sa1100(g) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* handhelds.org tree (?) */
|
/* handhelds.org tree (?) */
|
||||||
#ifdef CONFIG_USB_GADGET_MQ11XX
|
#ifdef CONFIG_USB_GADGET_MQ11XX
|
||||||
#define gadget_is_mq11xx(g) (!strcmp("mq11xx_udc", (g)->name))
|
#define gadget_is_mq11xx(g) (!strcmp("mq11xx_udc", (g)->name))
|
||||||
|
@ -183,8 +176,6 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget)
|
||||||
return 0x02;
|
return 0x02;
|
||||||
else if (gadget_is_sh(gadget))
|
else if (gadget_is_sh(gadget))
|
||||||
return 0x04;
|
return 0x04;
|
||||||
else if (gadget_is_sa1100(gadget))
|
|
||||||
return 0x05;
|
|
||||||
else if (gadget_is_goku(gadget))
|
else if (gadget_is_goku(gadget))
|
||||||
return 0x06;
|
return 0x06;
|
||||||
else if (gadget_is_mq11xx(gadget))
|
else if (gadget_is_mq11xx(gadget))
|
||||||
|
|
2833
include/SA-1100.h
2833
include/SA-1100.h
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue