Lines Matching +full:armv4t +full:- +full:based
1 // SPDX-License-Identifier: GPL-2.0-or-later
4 * Copyright (C) 2002-2005 by David Brownell
23 * the earliest SA-1100 models lie by saying they support CDC Ethernet.
24 * Some later models (especially PXA-25x and PXA-27x based ones) lie
27 * There are non-Zaurus products that use these same protocols too.
30 * that annoying standards-breaking software, the Linux community had
31 * a simple "CDC Subset" working reliably on the same SA-1100 hardware.
36 * - Framing appends a CRC, which the spec says drivers "must not" do;
37 * - Transfers data in altsetting zero, instead of altsetting 1;
38 * - All these peripherals use the same ethernet address.
41 * MDLM implementations are quasi-proprietary anyway.
62 fcs = crc32_le(~0, skb->data, skb->len); in zaurus_tx_fixup()
78 dev->net->hard_header_len += 6; in zaurus_bind()
79 dev->rx_urb_size = dev->net->hard_header_len + dev->net->mtu; in zaurus_bind()
90 .description = "Sharp Zaurus SL-5x00",
100 .description = "Sharp Zaurus, PXA-2xx based",
124 * pseudo-classes, rather than growing this product list with entries for
138 u8 *buf = intf->cur_altsetting->extra; in blan_mdlm_bind()
139 int len = intf->cur_altsetting->extralen; in blan_mdlm_bind()
153 dev_dbg(&intf->dev, "extra MDLM\n"); in blan_mdlm_bind()
157 if (desc->bLength != sizeof *desc) { in blan_mdlm_bind()
158 dev_dbg(&intf->dev, "MDLM len %u\n", in blan_mdlm_bind()
159 desc->bLength); in blan_mdlm_bind()
163 if (memcmp(&desc->bGUID, blan_guid, 16) && in blan_mdlm_bind()
164 memcmp(&desc->bGUID, safe_guid, 16)) { in blan_mdlm_bind()
166 dev_dbg(&intf->dev, "MDLM guid\n"); in blan_mdlm_bind()
172 dev_dbg(&intf->dev, "extra MDLM detail\n"); in blan_mdlm_bind()
176 switch (detail->bGuidDescriptorType) { in blan_mdlm_bind()
178 if (detail->bLength != (sizeof *detail + 2)) in blan_mdlm_bind()
182 if (detail->bLength != (sizeof *detail + 3)) in blan_mdlm_bind()
191 * - bmNetworkCapabilities (unused) in blan_mdlm_bind()
192 * - bmDataCapabilities (bits, see below) in blan_mdlm_bind()
193 * - bPad (ignored, for PADAFTER -- BLAN-only) in blan_mdlm_bind()
195 * - 0x01 -- Zaurus framing (add CRC) in blan_mdlm_bind()
196 * - 0x02 -- PADBEFORE (CRC includes some padding) in blan_mdlm_bind()
197 * - 0x04 -- PADAFTER (some padding after CRC) in blan_mdlm_bind()
198 * - 0x08 -- "fermat" packet mangling (for hw bugs) in blan_mdlm_bind()
202 if ((detail->bDetailData[1] & ~0x02) != 0x01) { in blan_mdlm_bind()
204 * but framing is minidriver-coupled for now. in blan_mdlm_bind()
207 dev_dbg(&intf->dev, in blan_mdlm_bind()
209 detail->bLength, in blan_mdlm_bind()
210 detail->bDetailData[0], in blan_mdlm_bind()
211 detail->bDetailData[2]); in blan_mdlm_bind()
215 /* same extra framing as for non-BLAN mode */ in blan_mdlm_bind()
216 dev->net->hard_header_len += 6; in blan_mdlm_bind()
217 dev->rx_urb_size = dev->net->hard_header_len in blan_mdlm_bind()
218 + dev->net->mtu; in blan_mdlm_bind()
222 len -= buf [0]; /* bLength */ in blan_mdlm_bind()
227 dev_dbg(&intf->dev, "missing cdc mdlm %s%sdescriptor\n", in blan_mdlm_bind()
241 dev_info(&dev->udev->dev, "unsupported MDLM descriptors\n"); in blan_mdlm_bind()
242 return -ENODEV; in blan_mdlm_bind()
246 .description = "pseudo-MDLM (BLAN) device",
264 /* SA-1100 based Sharp Zaurus ("collie"), or compatible. */
274 /* PXA-2xx based models are also lying-about-cdc. If you add any
285 .idProduct = 0x8005, /* A-300 */
292 .idProduct = 0x8005, /* A-300 */
299 .idProduct = 0x8006, /* B-500/SL-5600 */
306 .idProduct = 0x8006, /* B-500/SL-5600 */
313 .idProduct = 0x8007, /* C-700 */
320 .idProduct = 0x8007, /* C-700 */
327 .idProduct = 0x9031, /* C-750 C-760 */
331 /* C-750/C-760/C-860/SL-C3000 PDA in MDLM mode */
339 .idProduct = 0x9032, /* SL-6000 */
346 .idProduct = 0x9032, /* SL-6000 */
354 .idProduct = 0x9050, /* C-860 */
370 /* Olympus has some models with a Zaurus-compatible option.
371 * R-1000 uses a FreeScale i.MXL cpu (ARMv4T)
377 .idProduct = 0x0F02, /* R-1000 */
382 /* Logitech Harmony 900 - uses the pseudo-MDLM (BLAN) driver */