mirror of
git://git.yoctoproject.org/meta-rockchip.git
synced 2025-07-19 12:49:03 +02:00
veyron-speedy: remove machine
This MACHINE hasn't built successfully in a long time. Remove it, and everything associated with it that isn't used anywhere else. Signed-off-by: Trevor Woerner <twoerner@gmail.com>
This commit is contained in:
parent
3f8c52b2c4
commit
d926dcdd54
4
README
4
README
|
@ -13,7 +13,7 @@ Dependencies:
|
|||
|
||||
Status of supported boards:
|
||||
--------------------------
|
||||
builds and boots gpt image:
|
||||
builds and boots wic image:
|
||||
rock-pi-4
|
||||
tinker-board
|
||||
tinker-board-s
|
||||
|
@ -23,8 +23,6 @@ Status of supported boards:
|
|||
marsboard-rk3066
|
||||
radxarock
|
||||
rock2-square
|
||||
doesn't build:
|
||||
veyron-speedy
|
||||
|
||||
Maintenance:
|
||||
-----------
|
||||
|
|
|
@ -1,64 +0,0 @@
|
|||
# Copyright (C) 2014 NEO-Technologies
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
inherit image_types
|
||||
|
||||
# This image depends on the rootfs ext4 image
|
||||
IMAGE_TYPEDEP_rockchip-update-img = "ext4"
|
||||
|
||||
DEPENDS = "mkbootimg-native rockchip-bootloader virtual/kernel"
|
||||
|
||||
FIRMWARE_VER ?= "1.0"
|
||||
MANUFACTURER ?= "NEO-Technologies"
|
||||
MACHINE_MODEL ?= "${MACHINE}"
|
||||
CMDLINE ?= "console=ttyFIQ0 root=/dev/block/mtd/by-name/linuxroot rw rootfstype=ext4 rootdelay=1"
|
||||
MTDPARTS ?= "0x00008000@0x00002000(boot),-@0x0000A000(linuxroot)"
|
||||
|
||||
PACKAGE_FILE = "package-file"
|
||||
PARAMETER = "parameter"
|
||||
LOADER = "loader.bin"
|
||||
KERNEL_IMG = "${KERNEL_IMAGETYPE}"
|
||||
INITRD_IMG = "initrd.img"
|
||||
BOOT_IMG = "boot.img"
|
||||
RAW_IMG = "${IMAGE_NAME}.raw.img"
|
||||
UPDATE_IMG = "${IMAGE_NAME}.update.img"
|
||||
|
||||
IMAGE_CMD_rockchip-update-img () {
|
||||
# Change to image directory
|
||||
cd ${DEPLOY_DIR_IMAGE}
|
||||
|
||||
# Create package-file
|
||||
cat > ${PACKAGE_FILE} << EOF
|
||||
# NAME Relative path
|
||||
package-file ${PACKAGE_FILE}
|
||||
bootloader ${LOADER}
|
||||
parameter ${PARAMETER}
|
||||
boot ${BOOT_IMG}
|
||||
linuxroot ${IMAGE_NAME}.rootfs.ext4
|
||||
EOF
|
||||
|
||||
# Create parameter
|
||||
cat > ${PARAMETER} << EOF
|
||||
FIRMWARE_VER:${FIRMWARE_VER}
|
||||
MACHINE_MODEL:${MACHINE}
|
||||
MACHINE_ID:007
|
||||
MANUFACTURER:${MANUFACTURER}
|
||||
MAGIC: 0x5041524B
|
||||
ATAG: 0x60000800
|
||||
MACHINE: 3066
|
||||
CHECK_MASK: 0x80
|
||||
KERNEL_IMG: 0x60408000
|
||||
#RECOVER_KEY: 1,1,0,20,0
|
||||
CMDLINE:${CMDLINE} initrd=0x62000000,0x00800000 mtdparts=rk29xxnand:${MTDPARTS}
|
||||
EOF
|
||||
|
||||
# Create boot.img
|
||||
mkbootimg --kernel ${KERNEL_IMG} --ramdisk ${INITRD_IMG} -o ${BOOT_IMG}
|
||||
|
||||
# Build update.img using afptool and img_maker
|
||||
afptool -pack . ${RAW_IMG}
|
||||
img_maker -rk31 ${LOADER} 1 0 0 ${RAW_IMG} ${UPDATE_IMG}
|
||||
|
||||
# Clean directory
|
||||
rm ${PACKAGE_FILE} ${PARAMETER} ${BOOT_IMG} ${RAW_IMG}
|
||||
}
|
|
@ -16,4 +16,3 @@ BBFILE_PRIORITY_rockchip = "1"
|
|||
LAYERVERSION_rockchip = "1"
|
||||
LAYERSERIES_COMPAT_rockchip = "zeus"
|
||||
LAYERDEPENDS_rockchip = "core"
|
||||
LICENSE_PATH += "${LAYERDIR}/licenses"
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
# Copyright (C) 2015 Romain Perier
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
#@TYPE: Machine
|
||||
#@NAME: RK3288 Speedy
|
||||
#@DESCRIPTION: Google Veyron Speedy Rev 1+ board (formally known as Chromebook Asus C201)
|
||||
#https://www.google.com/chromebook/find/#?device=asus-chromebook-c201
|
||||
|
||||
require conf/machine/include/rk3288.inc
|
||||
|
||||
KERNEL_DEVICETREE = "rk3288-speedy.dtb"
|
||||
MACHINE_EXTRA_RDEPENDS = "linux-firmware-bcm4354 linux-firmware-bcm-veyron kernel-module-brcmfmac kernel-module-cros-ec-accel kernel-module-btbcm kernel-module-hci-uart"
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-veyron"
|
||||
|
||||
XSERVER = " xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-input-synaptics \
|
||||
xf86-input-keyboard"
|
||||
|
||||
UBOOT_MACHINE = "chromebook_minnie_defconfig"
|
|
@ -1,27 +0,0 @@
|
|||
// Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@ -1,26 +0,0 @@
|
|||
# Copyright (C) 2015 Romain Perier <romain.perier@gmail.com>
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
inherit base
|
||||
|
||||
DESCRIPTION = "Chromium OS Broadcom patchram utility"
|
||||
HOMEPAGE = "https://chromium.googlesource.com/chromiumos/third_party/broadcom/"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${S}/LICENSE.broadcom;md5=4ff9e0bf45dfdad0b7756c07b65ed24a"
|
||||
S = "${WORKDIR}/git/bluetooth"
|
||||
SECTION = "console/utils"
|
||||
|
||||
DEPENDS = "bluez5"
|
||||
PR = "r1"
|
||||
PV = "git+4070e71"
|
||||
|
||||
SRCREV = "4070e7161f2f1a1a22027a744eb868500688f0b6"
|
||||
SRC_URI = "git://chromium.googlesource.com/chromiumos/third_party/broadcom;protocol=http;branch=master"
|
||||
|
||||
FILES_${PN} = "/usr/bin/*"
|
||||
|
||||
do_install_append() {
|
||||
install -d ${D}/usr/bin
|
||||
install -m 755 brcm_patchram_plus ${D}/usr/bin
|
||||
}
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
# Copyright (C) 2014 NEO-Technologies
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
SUMMARY = "Rockchip bootloader collection"
|
||||
SECTION = "bootloaders"
|
||||
LICENSE = "CLOSED"
|
||||
|
||||
SRC_URI = "git://github.com/neo-technologies/rockchip-bootloader.git"
|
||||
SRCREV_pn-${PN} = "${AUTOREV}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
LOADER ?= "RK3188Loader(L)_V2.13.bin"
|
||||
|
||||
inherit deploy
|
||||
|
||||
do_deploy() {
|
||||
install -d ${DEPLOYDIR}
|
||||
install "${S}/${LOADER}" ${DEPLOYDIR}/loader.bin
|
||||
}
|
||||
|
||||
addtask deploy before do_build after do_compile
|
||||
|
||||
do_package[noexec] = "1"
|
||||
do_packagedata[noexec] = "1"
|
||||
do_package_write[noexec] = "1"
|
||||
do_package_write_ipk[noexec] = "1"
|
||||
do_package_write_rpm[noexec] = "1"
|
||||
do_package_write_deb[noexec] = "1"
|
||||
do_package_write_tar[noexec] = "1"
|
|
@ -1,27 +0,0 @@
|
|||
# Copyright (C) 2015 Romain Perier <romain.perier@gmail.com>
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
inherit allarch
|
||||
|
||||
DESCRIPTION = "Firmware and system files for Broadcom BCM4354 to be used with Linux kernel"
|
||||
LICENSE = "CLOSED"
|
||||
PR = "r1"
|
||||
PV = "003.001.012.0306.0659"
|
||||
SECTION = "kernel"
|
||||
|
||||
RDEPENDS_${PN} = "brcm-patchram-plus"
|
||||
|
||||
SRC_URI = "http://archlinuxarm.org/builder/src/veyron/BCM4354_003.001.012.0306.0659.hcd \
|
||||
file://brcmfmac4354-sdio.txt \
|
||||
file://99-veyron-brcm.rules \
|
||||
"
|
||||
SRC_URI[md5sum] = "20f8931f3795e5226829d48c3d470334"
|
||||
SRC_URI[sha256sum] = "45c04797a769bae3b6c73a88a2a2d5b812581f9e0b11e9f030aef8513b305995"
|
||||
|
||||
FILES_${PN} = "/lib/firmware/brcm/* /lib/udev/rules.d/*"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/lib/firmware/brcm ${D}/lib/udev/rules.d
|
||||
install -m 0644 ${WORKDIR}/BCM4354_003.001.012.0306.0659.hcd ${WORKDIR}/brcmfmac4354-sdio.txt ${D}/lib/firmware/brcm
|
||||
install -m 0644 ${WORKDIR}/99-veyron-brcm.rules ${D}/lib/udev/rules.d
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
ACTION=="add", SUBSYSTEM=="sdio", ENV{SDIO_CLASS}=="02", ENV{SDIO_ID}=="02D0:4354", RUN+="/usr/bin/brcm_patchram_plus -d --patchram /lib/firmware/brcm/BCM4354_003.001.012.0306.0659.hcd --no2bytes --enable_hci --enable_lpm --scopcm=1,2,0,1,1,0,0,0,0,0 --baudrate 3000000 --use_baudrate_for_download --tosleep=50000 /dev/ttyS0"
|
|
@ -1,155 +0,0 @@
|
|||
# Sample variables file for BCM94354Z NGFF 22x30mm iPA, iLNA board with PCIe/SDIO for production package
|
||||
# SDIO interface
|
||||
NVRAMRev=$Rev: 373428 $
|
||||
sromrev=11
|
||||
boardrev=0x1224
|
||||
boardtype=0x0707
|
||||
boardflags=0x02400201
|
||||
#enable LNA1 bypass for both 2G & 5G
|
||||
|
||||
#boardflags2=0xc0800000
|
||||
boardflags2=0x00802000
|
||||
|
||||
boardflags3=0x4800000a
|
||||
#boardnum=57410
|
||||
macaddr=00:11:22:33:44:55
|
||||
ccode=0
|
||||
regrev=0
|
||||
antswitch=0
|
||||
pdgain5g=4
|
||||
pdgain2g=4
|
||||
tworangetssi2g=0
|
||||
tworangetssi5g=0
|
||||
paprdis=0
|
||||
femctrl=10
|
||||
vendid=0x14e4
|
||||
devid=0x43a3
|
||||
manfid=0x2d0
|
||||
#prodid=0x052e
|
||||
nocrc=1
|
||||
otpimagesize=502
|
||||
xtalfreq=37400
|
||||
rxgains2gelnagaina0=0
|
||||
|
||||
#rxgains2gtrisoa0=3
|
||||
rxgains2gtrisoa0=7
|
||||
|
||||
rxgains2gtrelnabypa0=0
|
||||
rxgains5gelnagaina0=0
|
||||
|
||||
#rxgains5gtrisoa0=4
|
||||
rxgains5gtrisoa0=11
|
||||
|
||||
rxgains5gtrelnabypa0=0
|
||||
rxgains5gmelnagaina0=0
|
||||
|
||||
#rxgains5gmtrisoa0=4
|
||||
rxgains5gmtrisoa0=13
|
||||
|
||||
rxgains5gmtrelnabypa0=0
|
||||
rxgains5ghelnagaina0=0
|
||||
|
||||
#rxgains5ghtrisoa0=4
|
||||
rxgains5ghtrisoa0=12
|
||||
|
||||
rxgains5ghtrelnabypa0=0
|
||||
rxgains2gelnagaina1=0
|
||||
|
||||
#rxgains2gtrisoa1=3
|
||||
rxgains2gtrisoa1=7
|
||||
|
||||
rxgains2gtrelnabypa1=0
|
||||
rxgains5gelnagaina1=0
|
||||
|
||||
#rxgains5gtrisoa1=4
|
||||
rxgains5gtrisoa1=10
|
||||
|
||||
rxgains5gtrelnabypa1=0
|
||||
rxgains5gmelnagaina1=0
|
||||
|
||||
#rxgains5gmtrisoa1=4
|
||||
rxgains5gmtrisoa1=11
|
||||
|
||||
rxgains5gmtrelnabypa1=0
|
||||
rxgains5ghelnagaina1=0
|
||||
|
||||
#rxgains5ghtrisoa1=4
|
||||
rxgains5ghtrisoa1=11
|
||||
|
||||
rxgains5ghtrelnabypa1=0
|
||||
rxchain=3
|
||||
txchain=3
|
||||
aa2g=3
|
||||
aa5g=3
|
||||
agbg0=2
|
||||
agbg1=2
|
||||
aga0=2
|
||||
aga1=2
|
||||
tssipos2g=1
|
||||
extpagain2g=2
|
||||
tssipos5g=1
|
||||
extpagain5g=2
|
||||
tempthresh=255
|
||||
tempoffset=255
|
||||
rawtempsense=0x1ff
|
||||
pa2ga0=-147,5992,-705
|
||||
pa2ga1=-161,5991,-701
|
||||
pa5ga0=-194,5999,-739,-188,6057,-743,-185,6001,-725,-171,5978,-715
|
||||
pa5ga1=-190,6103,-757,-190,6105,-759,-190,6105,-757,-184,6111,-746
|
||||
subband5gver=0x4
|
||||
pdoffsetcckma0=0x4
|
||||
pdoffsetcckma1=0x4
|
||||
pdoffset40ma0=0x0000
|
||||
pdoffset80ma0=0x0000
|
||||
pdoffset40ma1=0x0000
|
||||
pdoffset80ma1=0x0000
|
||||
maxp2ga0=70
|
||||
maxp5ga0=58,58,58,58
|
||||
maxp2ga1=70
|
||||
maxp5ga1=58,58,58,58
|
||||
cckbw202gpo=0x1111
|
||||
cckbw20ul2gpo=0x0000
|
||||
mcsbw202gpo=0x66666666
|
||||
mcsbw402gpo=0xAAAAAAAA
|
||||
dot11agofdmhrbw202gpo=0x4444
|
||||
ofdmlrbw202gpo=0x0044
|
||||
mcsbw205glpo=0x66666666
|
||||
mcsbw405glpo=0x66666666
|
||||
mcsbw805glpo=0xAAAAAAAA
|
||||
mcsbw205gmpo=0x66666666
|
||||
mcsbw405gmpo=0x66666666
|
||||
mcsbw805gmpo=0xAAAAAAAA
|
||||
mcsbw205ghpo=0x66666666
|
||||
mcsbw405ghpo=0x66666666
|
||||
mcsbw805ghpo=0xAAAAAAAA
|
||||
mcslr5glpo=0x0000
|
||||
mcslr5gmpo=0x0000
|
||||
mcslr5ghpo=0x0000
|
||||
sb20in40hrpo=0x0
|
||||
sb20in80and160hr5glpo=0x0
|
||||
sb40and80hr5glpo=0x0
|
||||
sb20in80and160hr5gmpo=0x0
|
||||
sb40and80hr5gmpo=0x0
|
||||
sb20in80and160hr5ghpo=0x0
|
||||
sb40and80hr5ghpo=0x0
|
||||
sb20in40lrpo=0x0
|
||||
sb20in80and160lr5glpo=0x0
|
||||
sb40and80lr5glpo=0x0
|
||||
sb20in80and160lr5gmpo=0x0
|
||||
sb40and80lr5gmpo=0x0
|
||||
sb20in80and160lr5ghpo=0x0
|
||||
sb40and80lr5ghpo=0x0
|
||||
dot11agduphrpo=0x0
|
||||
dot11agduplrpo=0x0
|
||||
phycal_tempdelta=25
|
||||
temps_period=15
|
||||
temps_hysteresis=15
|
||||
AvVmid_c0=2,140,2,145,2,145,2,145,2,145
|
||||
AvVmid_c1=2,140,2,145,2,145,2,145,2,145
|
||||
AvVmid_c2=0,0,0,0,0,0,0,0,0,0
|
||||
rssicorrnorm_c0=4,4
|
||||
rssicorrnorm_c1=4,4
|
||||
rssicorrnorm5g_c0=1,2,3,1,2,3,6,6,8,6,6,8
|
||||
rssicorrnorm5g_c1=1,2,3,2,2,2,7,7,8,7,7,8
|
||||
ltecxmux=0x534201
|
||||
Ofdmfilttype=6
|
|
@ -1,86 +0,0 @@
|
|||
From 8c1cc93719587418bb95e6d11aab0171d56ebd32 Mon Sep 17 00:00:00 2001
|
||||
From: Trevor Woerner <twoerner@gmail.com>
|
||||
Date: Tue, 10 Apr 2018 01:24:37 -0400
|
||||
Subject: [PATCH] add support for gcc7
|
||||
|
||||
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
||||
---
|
||||
include/linux/compiler-gcc7.h | 66 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 66 insertions(+)
|
||||
create mode 100644 include/linux/compiler-gcc7.h
|
||||
|
||||
diff --git a/include/linux/compiler-gcc7.h b/include/linux/compiler-gcc7.h
|
||||
new file mode 100644
|
||||
index 000000000000..cdd1cc202d51
|
||||
--- /dev/null
|
||||
+++ b/include/linux/compiler-gcc7.h
|
||||
@@ -0,0 +1,66 @@
|
||||
+#ifndef __LINUX_COMPILER_H
|
||||
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
|
||||
+#endif
|
||||
+
|
||||
+#define __used __attribute__((__used__))
|
||||
+#define __must_check __attribute__((warn_unused_result))
|
||||
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
|
||||
+
|
||||
+/* Mark functions as cold. gcc will assume any path leading to a call
|
||||
+ to them will be unlikely. This means a lot of manual unlikely()s
|
||||
+ are unnecessary now for any paths leading to the usual suspects
|
||||
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
|
||||
+ older compilers]
|
||||
+
|
||||
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
|
||||
+ in the preprocessor, but we can live with this because they're unreleased.
|
||||
+ Maketime probing would be overkill here.
|
||||
+
|
||||
+ gcc also has a __attribute__((__hot__)) to move hot functions into
|
||||
+ a special section, but I don't see any sense in this right now in
|
||||
+ the kernel context */
|
||||
+#define __cold __attribute__((__cold__))
|
||||
+
|
||||
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
|
||||
+
|
||||
+#ifndef __CHECKER__
|
||||
+# define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
+# define __compiletime_error(message) __attribute__((error(message)))
|
||||
+#endif /* __CHECKER__ */
|
||||
+
|
||||
+/*
|
||||
+ * Mark a position in code as unreachable. This can be used to
|
||||
+ * suppress control flow warnings after asm blocks that transfer
|
||||
+ * control elsewhere.
|
||||
+ *
|
||||
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
|
||||
+ * this in the preprocessor, but we can live with this because they're
|
||||
+ * unreleased. Really, we need to have autoconf for the kernel.
|
||||
+ */
|
||||
+#define unreachable() __builtin_unreachable()
|
||||
+
|
||||
+/* Mark a function definition as prohibited from being cloned. */
|
||||
+#define __noclone __attribute__((__noclone__))
|
||||
+
|
||||
+/*
|
||||
+ * Tell the optimizer that something else uses this function or variable.
|
||||
+ */
|
||||
+#define __visible __attribute__((externally_visible))
|
||||
+
|
||||
+/*
|
||||
+ * GCC 'asm goto' miscompiles certain code sequences:
|
||||
+ *
|
||||
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
+ *
|
||||
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
+ * Fixed in GCC 4.8.2 and later versions.
|
||||
+ *
|
||||
+ * (asm goto is automatically volatile - the naming reflects this.)
|
||||
+ */
|
||||
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
||||
+
|
||||
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
|
||||
+#define __HAVE_BUILTIN_BSWAP32__
|
||||
+#define __HAVE_BUILTIN_BSWAP64__
|
||||
+#define __HAVE_BUILTIN_BSWAP16__
|
||||
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
||||
--
|
||||
2.17.0.rc2.3.gc2a499e6c
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
From d1f7cbbd8efbc022222d84a697595ba9f6637de0 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Thu, 25 Jun 2015 20:35:06 -0600
|
||||
Subject: [PATCH 1/4] use chromiumos mwifiex drivers
|
||||
|
||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
---
|
||||
drivers/net/wireless-3.8/mwifiex/sdio.h | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless-3.8/mwifiex/sdio.h b/drivers/net/wireless-3.8/mwifiex/sdio.h
|
||||
index f9ee413..9686025 100644
|
||||
--- a/drivers/net/wireless-3.8/mwifiex/sdio.h
|
||||
+++ b/drivers/net/wireless-3.8/mwifiex/sdio.h
|
||||
@@ -30,9 +30,9 @@
|
||||
#include "main.h"
|
||||
|
||||
#define SD8786_DEFAULT_FW_NAME "mrvl/sd8786_uapsta.bin"
|
||||
-#define SD8787_DEFAULT_FW_NAME "mrvl/sd8787_uapsta.bin"
|
||||
-#define SD8797_DEFAULT_FW_NAME "mrvl/sd8797_uapsta.bin"
|
||||
-#define SD8897_DEFAULT_FW_NAME "mrvl/sd8897_uapsta.bin"
|
||||
+#define SD8787_DEFAULT_FW_NAME "mrvl/sd8787_uapsta_cros.bin"
|
||||
+#define SD8797_DEFAULT_FW_NAME "mrvl/sd8797_uapsta_cros.bin"
|
||||
+#define SD8897_DEFAULT_FW_NAME "mrvl/sd8897_uapsta_cros.bin"
|
||||
#define SD8887_DEFAULT_FW_NAME "mrvl/sd8887_wlan_a2.bin"
|
||||
|
||||
#define BLOCK_MODE 1
|
||||
--
|
||||
2.4.4
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
From d24fdf29978108413eb405302255139fdbb94a16 Mon Sep 17 00:00:00 2001
|
||||
From: Bing Zhao <bzhao@marvell.com>
|
||||
Date: Mon, 19 Aug 2013 16:10:21 -0700
|
||||
Subject: [PATCH 2/4] mwifiex: do not create AP and P2P interfaces upon driver
|
||||
loading
|
||||
|
||||
Bug 60747 - 1286:2044 [Microsoft Surface Pro]
|
||||
Marvell 88W8797 wifi show 3 interface under network
|
||||
https://bugzilla.kernel.org/show_bug.cgi?id=60747
|
||||
|
||||
This issue was also reported previously by OLPC and some folks from
|
||||
the community.
|
||||
|
||||
There are 3 network interfaces with different types being created
|
||||
when mwifiex driver is loaded:
|
||||
|
||||
1. mlan0 (infra. STA)
|
||||
2. uap0 (AP)
|
||||
3. p2p0 (P2P_CLIENT)
|
||||
|
||||
The Network Manager attempts to use all 3 interfaces above without
|
||||
filtering the managed interface type. As the result, 3 identical
|
||||
interfaces are displayed under network manager. If user happens to
|
||||
click on an entry under which its interface is uap0 or p2p0, the
|
||||
association will fail.
|
||||
|
||||
Work around it by removing the creation of AP and P2P interfaces
|
||||
at driver loading time. These interfaces can be added with 'iw' or
|
||||
other applications manually when they are needed.
|
||||
|
||||
Signed-off-by: Bing Zhao <bzhao@marvell.com>
|
||||
Signed-off-by: Avinash Patil <patila@marvell.com>
|
||||
---
|
||||
drivers/net/wireless-3.8/mwifiex/main.c | 13 -------------
|
||||
1 file changed, 13 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless-3.8/mwifiex/main.c b/drivers/net/wireless-3.8/mwifiex/main.c
|
||||
index b3f9247..a503264 100644
|
||||
--- a/drivers/net/wireless-3.8/mwifiex/main.c
|
||||
+++ b/drivers/net/wireless-3.8/mwifiex/main.c
|
||||
@@ -515,19 +515,6 @@ static void mwifiex_fw_dpc(const struct firmware *firmware, void *context)
|
||||
goto err_add_intf;
|
||||
}
|
||||
|
||||
- /* Create AP interface by default */
|
||||
- if (!mwifiex_add_virtual_intf(adapter->wiphy, "uap%d",
|
||||
- NL80211_IFTYPE_AP, NULL, NULL)) {
|
||||
- dev_err(adapter->dev, "cannot create default AP interface\n");
|
||||
- goto err_add_intf;
|
||||
- }
|
||||
-
|
||||
- /* Create P2P interface by default */
|
||||
- if (!mwifiex_add_virtual_intf(adapter->wiphy, "p2p%d",
|
||||
- NL80211_IFTYPE_P2P_CLIENT, NULL, NULL)) {
|
||||
- dev_err(adapter->dev, "cannot create default P2P interface\n");
|
||||
- goto err_add_intf;
|
||||
- }
|
||||
rtnl_unlock();
|
||||
|
||||
mwifiex_drv_get_driver_version(adapter, fmt, sizeof(fmt) - 1);
|
||||
--
|
||||
2.4.4
|
||||
|
|
@ -1,306 +0,0 @@
|
|||
From c0c863786b85a631e22eeae78f572d3f151af490 Mon Sep 17 00:00:00 2001
|
||||
From: Heiko Stuebner <heiko@sntech.de>
|
||||
Date: Mon, 25 May 2015 16:38:07 +0200
|
||||
Subject: [PATCH 3/4] UPSTREAM: soc/rockchip: add handler for usb-uart
|
||||
functionality
|
||||
|
||||
Some Rockchip SoCs provide the possibility to use a usb-phy as passthru for
|
||||
the debug uart, making it possible to get console output without needing to
|
||||
open the device.
|
||||
|
||||
This patch adds an early_initcall to enable this functionality conditionally
|
||||
and also disables the corresponding usb controller in the devicetree.
|
||||
|
||||
Change-Id: I397df8f402c752125cf512332398757b91a899f8
|
||||
Signed-off-by: Alexandru M Stan <amstan@chromium.org>
|
||||
---
|
||||
drivers/soc/Kconfig | 1 +
|
||||
drivers/soc/Makefile | 1 +
|
||||
drivers/soc/rockchip/Kconfig | 13 ++
|
||||
drivers/soc/rockchip/Makefile | 1 +
|
||||
drivers/soc/rockchip/rockchip_usb_uart.c | 223 +++++++++++++++++++++++++++++++
|
||||
5 files changed, 239 insertions(+)
|
||||
create mode 100644 drivers/soc/rockchip/Kconfig
|
||||
create mode 100644 drivers/soc/rockchip/Makefile
|
||||
create mode 100644 drivers/soc/rockchip/rockchip_usb_uart.c
|
||||
|
||||
diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig
|
||||
index 1ee0b57..ad2f71a 100644
|
||||
--- a/drivers/soc/Kconfig
|
||||
+++ b/drivers/soc/Kconfig
|
||||
@@ -2,6 +2,7 @@ menu "SOC (System On Chip) specific Drivers"
|
||||
|
||||
source "drivers/soc/img/Kconfig"
|
||||
source "drivers/soc/qcom/Kconfig"
|
||||
+source "drivers/soc/rockchip/Kconfig"
|
||||
source "drivers/soc/tegra/Kconfig"
|
||||
|
||||
endmenu
|
||||
diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile
|
||||
index bc43b87..d80386c 100644
|
||||
--- a/drivers/soc/Makefile
|
||||
+++ b/drivers/soc/Makefile
|
||||
@@ -4,4 +4,5 @@
|
||||
|
||||
obj-$(CONFIG_SOC_IMG) += img/
|
||||
obj-$(CONFIG_ARCH_QCOM) += qcom/
|
||||
+obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
|
||||
obj-$(CONFIG_ARCH_TEGRA) += tegra/
|
||||
diff --git a/drivers/soc/rockchip/Kconfig b/drivers/soc/rockchip/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000..24d4e05
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/rockchip/Kconfig
|
||||
@@ -0,0 +1,13 @@
|
||||
+#
|
||||
+# Rockchip Soc drivers
|
||||
+#
|
||||
+config ROCKCHIP_USB_UART
|
||||
+ bool "Rockchip usb-uart override"
|
||||
+ depends on ARCH_ROCKCHIP
|
||||
+ select MFD_SYSCON
|
||||
+ help
|
||||
+ Say y here to enable usb-uart functionality. Newer Rockchip SoCs
|
||||
+ provide means to repurpose one usb phy as uart2 output, making it
|
||||
+ possible to get debug output without needing to open a device.
|
||||
+ To enable this function on boot, add a rockchip.usb_uart option
|
||||
+ to the kernel commandline.
|
||||
diff --git a/drivers/soc/rockchip/Makefile b/drivers/soc/rockchip/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..b5dd6f8
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/rockchip/Makefile
|
||||
@@ -0,0 +1 @@
|
||||
+obj-$(CONFIG_ROCKCHIP_USB_UART) += rockchip_usb_uart.o
|
||||
diff --git a/drivers/soc/rockchip/rockchip_usb_uart.c b/drivers/soc/rockchip/rockchip_usb_uart.c
|
||||
new file mode 100644
|
||||
index 0000000..97754f9
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/rockchip/rockchip_usb_uart.c
|
||||
@@ -0,0 +1,223 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2015 Heiko Stuebner <heiko@sntech.de>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/errno.h>
|
||||
+#include <linux/mfd/syscon.h>
|
||||
+#include <linux/of_address.h>
|
||||
+#include <linux/of_platform.h>
|
||||
+#include <linux/regmap.h>
|
||||
+#include <linux/slab.h>
|
||||
+
|
||||
+#define HIWORD_UPDATE(val, mask) \
|
||||
+ ((val) | (mask) << 16)
|
||||
+
|
||||
+struct rockchip_uart_data {
|
||||
+ const char *grf_compatible;
|
||||
+ const char *usb_compatible;
|
||||
+ phys_addr_t usb_phys_addr;
|
||||
+ int (*init_uart)(const struct rockchip_uart_data *data,
|
||||
+ struct regmap *grf);
|
||||
+};
|
||||
+
|
||||
+static int enable_usb_uart = 0;
|
||||
+
|
||||
+#define RK3288_UOC0_CON0 0x320
|
||||
+#define RK3288_UOC0_CON0_COMMON_ON_N BIT(0)
|
||||
+#define RK3288_UOC0_CON0_DISABLE BIT(4)
|
||||
+
|
||||
+#define RK3288_UOC0_CON2 0x328
|
||||
+#define RK3288_UOC0_CON2_SOFT_CON_SEL BIT(2)
|
||||
+
|
||||
+#define RK3288_UOC0_CON3 0x32c
|
||||
+#define RK3288_UOC0_CON3_UTMI_SUSPENDN BIT(0)
|
||||
+#define RK3288_UOC0_CON3_UTMI_OPMODE_NODRIVING (1 << 1)
|
||||
+#define RK3288_UOC0_CON3_UTMI_OPMODE_MASK (3 << 1)
|
||||
+#define RK3288_UOC0_CON3_UTMI_XCVRSEELCT_FSTRANSC (1 << 3)
|
||||
+#define RK3288_UOC0_CON3_UTMI_XCVRSEELCT_MASK (3 << 3)
|
||||
+#define RK3288_UOC0_CON3_UTMI_TERMSEL_FULLSPEED BIT(5)
|
||||
+#define RK3288_UOC0_CON3_BYPASSDMEN BIT(6)
|
||||
+#define RK3288_UOC0_CON3_BYPASSSEL BIT(7)
|
||||
+
|
||||
+/*
|
||||
+ * Enable the bypass of uart2 data through the otg usb phy.
|
||||
+ * Original description in the TRM.
|
||||
+ * 1. Disable the OTG block by setting OTGDISABLE0 to 1’b1.
|
||||
+ * 2. Disable the pull-up resistance on the D+ line by setting OPMODE0[1:0] to 2’b01.
|
||||
+ * 3. To ensure that the XO, Bias, and PLL blocks are powered down in Suspend mode, set COMMONONN to 1’b1.
|
||||
+ * 4. Place the USB PHY in Suspend mode by setting SUSPENDM0 to 1’b0.
|
||||
+ * 5. Set BYPASSSEL0 to 1’b1.
|
||||
+ * 6. To transmit data, controls BYPASSDMEN0, and BYPASSDMDATA0.
|
||||
+ * To receive data, monitor FSVPLUS0.
|
||||
+ *
|
||||
+ * The actual code in the vendor kernel does some things differently.
|
||||
+ */
|
||||
+static int __init rk3288_init_usb_uart(const struct rockchip_uart_data *data,
|
||||
+ struct regmap *grf)
|
||||
+{
|
||||
+ u32 val;
|
||||
+ int ret;
|
||||
+
|
||||
+ pr_info("%s\n", __func__);
|
||||
+
|
||||
+ /*
|
||||
+ * COMMON_ON and DISABLE settings are described in the TRM,
|
||||
+ * but where not present in the original code.
|
||||
+ */
|
||||
+ val = HIWORD_UPDATE(RK3288_UOC0_CON0_COMMON_ON_N
|
||||
+ | RK3288_UOC0_CON0_DISABLE,
|
||||
+ RK3288_UOC0_CON0_COMMON_ON_N
|
||||
+ | RK3288_UOC0_CON0_DISABLE);
|
||||
+ ret = regmap_write(grf, RK3288_UOC0_CON0, val);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ // FIXME: this makes my system hang, for whatever reason
|
||||
+ val = HIWORD_UPDATE(RK3288_UOC0_CON2_SOFT_CON_SEL,
|
||||
+ RK3288_UOC0_CON2_SOFT_CON_SEL);
|
||||
+ ret = regmap_write(grf, RK3288_UOC0_CON2, val);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ val = HIWORD_UPDATE(RK3288_UOC0_CON3_UTMI_OPMODE_NODRIVING
|
||||
+ | RK3288_UOC0_CON3_UTMI_XCVRSEELCT_FSTRANSC
|
||||
+ | RK3288_UOC0_CON3_UTMI_TERMSEL_FULLSPEED,
|
||||
+ RK3288_UOC0_CON3_UTMI_SUSPENDN
|
||||
+ | RK3288_UOC0_CON3_UTMI_OPMODE_MASK
|
||||
+ | RK3288_UOC0_CON3_UTMI_XCVRSEELCT_MASK
|
||||
+ | RK3288_UOC0_CON3_UTMI_TERMSEL_FULLSPEED);
|
||||
+ ret = regmap_write(grf, RK3288_UOC0_CON3, val);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ val = HIWORD_UPDATE(RK3288_UOC0_CON3_BYPASSSEL
|
||||
+ | RK3288_UOC0_CON3_BYPASSDMEN,
|
||||
+ RK3288_UOC0_CON3_BYPASSSEL
|
||||
+ | RK3288_UOC0_CON3_BYPASSDMEN);
|
||||
+ ret = regmap_write(grf, RK3288_UOC0_CON3, val);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+const struct rockchip_uart_data rk3288_uart_data = {
|
||||
+ .grf_compatible = "rockchip,rk3288-grf",
|
||||
+ .usb_compatible = "rockchip,rk3288-usb",
|
||||
+ .usb_phys_addr = 0xff580000,
|
||||
+ .init_uart = rk3288_init_usb_uart,
|
||||
+};
|
||||
+
|
||||
+static const struct of_device_id rockchip_usb_uart_ids[] = {
|
||||
+ { .compatible = "rockchip,rk3288", .data = &rk3288_uart_data },
|
||||
+ { }
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ * Find the usb controller using the shared usb-uart-phy in the dts and
|
||||
+ * disable it.
|
||||
+ */
|
||||
+static int __init
|
||||
+rockchip_disable_usb_controller(const struct rockchip_uart_data *data)
|
||||
+{
|
||||
+ struct device_node *np;
|
||||
+
|
||||
+ for_each_compatible_node(np, NULL, data->usb_compatible) {
|
||||
+ struct property *new_status;
|
||||
+ struct resource res;
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = of_address_to_resource(np, 0, &res);
|
||||
+ if (ret) {
|
||||
+ pr_err("%s: could not get address of usb controller %s\n",
|
||||
+ __func__, np->full_name);
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ /* not the controller we're looking for */
|
||||
+ if (res.start != data->usb_phys_addr)
|
||||
+ continue;
|
||||
+
|
||||
+ pr_info("%s: disabling usb controller %s\n",
|
||||
+ __func__, np->full_name);
|
||||
+
|
||||
+ new_status = kzalloc(sizeof(*new_status), GFP_KERNEL);
|
||||
+ if (!new_status)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ new_status->name = kstrdup("status", GFP_KERNEL);
|
||||
+ new_status->length = sizeof("disabled");
|
||||
+ new_status->value = kstrdup("disabled", GFP_KERNEL);
|
||||
+
|
||||
+ return of_update_property(np, new_status);
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static const struct of_device_id *rockchip_usb_uart_data_lookup(void)
|
||||
+{
|
||||
+ struct device_node *root;
|
||||
+ const struct of_device_id *id;
|
||||
+
|
||||
+ root = of_find_node_by_path("/");
|
||||
+ if (!root)
|
||||
+ return NULL;
|
||||
+
|
||||
+ id = of_match_node(rockchip_usb_uart_ids, root);
|
||||
+ of_node_put(root);
|
||||
+
|
||||
+ return id;
|
||||
+}
|
||||
+
|
||||
+static int __init rockchip_init_usb_uart(void)
|
||||
+{
|
||||
+ const struct of_device_id *match;
|
||||
+ const struct rockchip_uart_data *data;
|
||||
+ struct regmap *grf;
|
||||
+ int ret;
|
||||
+
|
||||
+ if (!enable_usb_uart)
|
||||
+ return 0;
|
||||
+
|
||||
+ match = rockchip_usb_uart_data_lookup();
|
||||
+ if (!match)
|
||||
+ return -ENOTSUPP;
|
||||
+
|
||||
+ pr_info("%s: using settings for %s\n", __func__, match->compatible);
|
||||
+ data = match->data;
|
||||
+
|
||||
+ grf = syscon_regmap_lookup_by_compatible(data->grf_compatible);
|
||||
+ if (IS_ERR(grf)) {
|
||||
+ pr_err("%s: could not find GRF syscon\n", __func__);
|
||||
+ return PTR_ERR(grf);
|
||||
+ }
|
||||
+
|
||||
+ ret = data->init_uart(data, grf);
|
||||
+ if (ret) {
|
||||
+ pr_err("%s: could not init usb_uart\n", __func__);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ return rockchip_disable_usb_controller(data);
|
||||
+}
|
||||
+early_initcall(rockchip_init_usb_uart);
|
||||
+
|
||||
+static int __init rockchip_usb_uart(char *buf)
|
||||
+{
|
||||
+ enable_usb_uart = true;
|
||||
+ return 0;
|
||||
+}
|
||||
+early_param("rockchip.usb_uart", rockchip_usb_uart);
|
||||
--
|
||||
2.4.4
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
From 6dc781566c97f06b5c0d491f34c9b23e72cb74be Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Thu, 2 Jul 2015 17:48:41 -0600
|
||||
Subject: [PATCH 4/4] fix brcmfmac oops and race condition
|
||||
|
||||
This fixes a potential null pointer dereference by checking if null before
|
||||
freeing the vif struct.
|
||||
|
||||
Also works around a race condition between brcm_patchram_plus loading the BT
|
||||
firmware, which exposes the wireless device, and the kernel loading bcrmfmac.
|
||||
100ms delay loops up to 1s are added around the first three initialization
|
||||
functions to hold off a failure until the device is actually ready. This is a
|
||||
hack.
|
||||
|
||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
---
|
||||
.../wireless-3.8/brcm80211/brcmfmac/dhd_common.c | 47 ++++++++++++++--------
|
||||
.../wireless-3.8/brcm80211/brcmfmac/dhd_linux.c | 4 +-
|
||||
2 files changed, 32 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_common.c b/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_common.c
|
||||
index 05d4042..7006d19 100644
|
||||
--- a/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_common.c
|
||||
+++ b/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_common.c
|
||||
@@ -252,25 +252,34 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
|
||||
struct brcmf_join_pref_params join_pref_params[2];
|
||||
char *ptr;
|
||||
s32 err;
|
||||
+ int i;
|
||||
|
||||
/* retreive mac address */
|
||||
- err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr,
|
||||
- sizeof(ifp->mac_addr));
|
||||
- if (err < 0) {
|
||||
- brcmf_err("Retreiving cur_etheraddr failed, %d\n",
|
||||
- err);
|
||||
- goto done;
|
||||
+ for (i = 0; i < 9; i++) {
|
||||
+ err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr,
|
||||
+ sizeof(ifp->mac_addr));
|
||||
+ if (err < 0 && i == 9) {
|
||||
+ brcmf_err("Retreiving cur_etheraddr failed, %d\n",
|
||||
+ err);
|
||||
+ goto done;
|
||||
+ } else {
|
||||
+ msleep(100);
|
||||
+ }
|
||||
}
|
||||
memcpy(ifp->drvr->mac, ifp->mac_addr, sizeof(ifp->drvr->mac));
|
||||
|
||||
/* query for 'ver' to get version info from firmware */
|
||||
- memset(buf, 0, sizeof(buf));
|
||||
- strcpy(buf, "ver");
|
||||
- err = brcmf_fil_iovar_data_get(ifp, "ver", buf, sizeof(buf));
|
||||
- if (err < 0) {
|
||||
- brcmf_err("Retreiving version information failed, %d\n",
|
||||
- err);
|
||||
- goto done;
|
||||
+ for (i = 0; i < 10; i++) {
|
||||
+ memset(buf, 0, sizeof(buf));
|
||||
+ strcpy(buf, "ver");
|
||||
+ err = brcmf_fil_iovar_data_get(ifp, "ver", buf, sizeof(buf));
|
||||
+ if (err < 0 && i == 9) {
|
||||
+ brcmf_err("Retreiving version information failed, %d\n",
|
||||
+ err);
|
||||
+ goto done;
|
||||
+ } else {
|
||||
+ msleep(100);
|
||||
+ }
|
||||
}
|
||||
ptr = (char *)buf;
|
||||
strsep(&ptr, "\n");
|
||||
@@ -283,10 +292,14 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
|
||||
strlcpy(ifp->drvr->fwver, ptr, sizeof(ifp->drvr->fwver));
|
||||
|
||||
/* set mpc */
|
||||
- err = brcmf_fil_iovar_int_set(ifp, "mpc", 1);
|
||||
- if (err) {
|
||||
- brcmf_err("failed setting mpc\n");
|
||||
- goto done;
|
||||
+ for (i = 0; i < 10; i++) {
|
||||
+ err = brcmf_fil_iovar_int_set(ifp, "mpc", 1);
|
||||
+ if (err && i == 9) {
|
||||
+ brcmf_err("failed setting mpc\n");
|
||||
+ goto done;
|
||||
+ } else {
|
||||
+ msleep(100);
|
||||
+ }
|
||||
}
|
||||
|
||||
/*
|
||||
diff --git a/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_linux.c b/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_linux.c
|
||||
index 128161c..d3db8f7 100644
|
||||
--- a/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_linux.c
|
||||
+++ b/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_linux.c
|
||||
@@ -974,13 +974,13 @@ fail:
|
||||
brcmf_fws_deinit(drvr);
|
||||
}
|
||||
if (drvr->iflist[0]) {
|
||||
- if (ifp->ndev->destructor == NULL)
|
||||
+ if (ifp->ndev->destructor == NULL && ifp->vif)
|
||||
brcmf_free_vif(ifp->vif);
|
||||
free_netdev(ifp->ndev);
|
||||
drvr->iflist[0] = NULL;
|
||||
}
|
||||
if (p2p_ifp) {
|
||||
- if (p2p_ifp->ndev->destructor == NULL)
|
||||
+ if (p2p_ifp->ndev->destructor == NULL && p2p_ifp->vif)
|
||||
brcmf_free_vif(p2p_ifp->vif);
|
||||
free_netdev(p2p_ifp->ndev);
|
||||
drvr->iflist[1] = NULL;
|
||||
--
|
||||
2.4.4
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,28 +0,0 @@
|
|||
# Copyright (C) 2015 Romain Perier
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
inherit kernel
|
||||
require recipes-kernel/linux/linux-yocto.inc
|
||||
|
||||
# As this package is really well integrated into archlinuxarm and applies interesting fixes,
|
||||
# I synced my work with it. See https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-veyron
|
||||
SRC_URI = "git://chromium.googlesource.com/chromiumos/third_party/kernel;protocol=https;nobranch=1 \
|
||||
file://0001-use-chromiumos-mwifiex-drivers.patch \
|
||||
file://0002-mwifiex-do-not-create-AP-and-P2P-interfaces-upon-dri.patch \
|
||||
file://0003-UPSTREAM-soc-rockchip-add-handler-for-usb-uart-funct.patch \
|
||||
file://0004-fix-brcmfmac-oops-and-race-condition.patch \
|
||||
file://0001-add-support-for-gcc7.patch \
|
||||
file://defconfig"
|
||||
SRCREV = "6fa09265d61db1c29203c8194badebcfee86d97f"
|
||||
|
||||
LINUX_VERSION = "3.14.0"
|
||||
# Override local version in order to use the one generated by linux build system
|
||||
# And not "yocto-standard"
|
||||
LINUX_VERSION_EXTENSION = ""
|
||||
PR = "r1"
|
||||
PV = "${LINUX_VERSION}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(veyron-speedy)"
|
||||
# The chromeos kernel uses the wifi subsystem v3.8
|
||||
export WIFIVERSION="-3.8"
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
# Copyright (C) 2015 Romain Perier <romain.perier@gmail.com>
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
DESCRIPTION = "Chromium OS verified boot utilities"
|
||||
HOMEPAGE = "http://git.chromium.org/gitweb/?p=chromiumos/platform/vboot_reference.git;a=summary"
|
||||
SECTION = "admin"
|
||||
LICENSE = "Chromium"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=562c740877935f40b262db8af30bca36"
|
||||
|
||||
DEPENDS = "openssl-native util-linux-native libyaml-native"
|
||||
TAG = "43-6946"
|
||||
SRC_URI = "git://chromium.googlesource.com/chromiumos/platform/vboot_reference;protocol=http;branch=release-R${TAG}.B \
|
||||
file://0001-host_misc-Fix-uninitialized-variable-val-in-function.patch \
|
||||
file://0002-futility-fix-warning-treated-as-error-about-uninitia.patch"
|
||||
SRCREV = "9978e0aa0069697816a38c7dcc6a81be5975cab7"
|
||||
S = "${WORKDIR}/git"
|
||||
PARALLEL_MAKE = ""
|
||||
EXTRA_OEMAKE = ""
|
||||
|
||||
inherit base native
|
||||
|
||||
do_install_append() {
|
||||
oe_runmake PREFIX=${prefix} DESTDIR=${D} install
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
From 338007c7f5ceace1c3de82c79e0bca29b6e73ce6 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Perier <romain.perier@gmail.com>
|
||||
Date: Thu, 15 Oct 2015 19:07:59 +0200
|
||||
Subject: [PATCH] host_misc: Fix uninitialized variable 'val' in function
|
||||
vb2_str_to_id
|
||||
|
||||
Signed-off-by: Romain Perier <romain.perier@gmail.com>
|
||||
---
|
||||
host/lib21/host_misc.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/host/lib21/host_misc.c b/host/lib21/host_misc.c
|
||||
index db5e824..ee9426a 100644
|
||||
--- a/host/lib21/host_misc.c
|
||||
+++ b/host/lib21/host_misc.c
|
||||
@@ -138,7 +138,7 @@ static const char *onebyte(const char *str, uint8_t *vptr)
|
||||
|
||||
int vb2_str_to_id(const char *str, struct vb2_id *id)
|
||||
{
|
||||
- uint8_t val;
|
||||
+ uint8_t val = 0;
|
||||
int i;
|
||||
|
||||
if (!str)
|
||||
--
|
||||
2.1.4
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
From 064cd293ac8351f77eada971e24fb72bb0bb0568 Mon Sep 17 00:00:00 2001
|
||||
From: Trevor Woerner <twoerner@gmail.com>
|
||||
Date: Mon, 19 Oct 2015 18:22:47 +0200
|
||||
Subject: [PATCH] futility: fix warning treated as error about uninitialized
|
||||
value
|
||||
|
||||
---
|
||||
futility/futility.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/futility/futility.c b/futility/futility.c
|
||||
index 60cc9c5..edd4c56 100644
|
||||
--- a/futility/futility.c
|
||||
+++ b/futility/futility.c
|
||||
@@ -230,7 +230,7 @@ static int run_command(const struct futil_cmd_t *cmd, int argc, char *argv[])
|
||||
static int do_help(int argc, char *argv[])
|
||||
{
|
||||
const struct futil_cmd_t *cmd;
|
||||
- const char *vstr;
|
||||
+ const char *vstr = "";
|
||||
|
||||
/* Help about a known command? */
|
||||
if (argc > 1) {
|
||||
@@ -256,7 +256,6 @@ static int do_help(int argc, char *argv[])
|
||||
vstr = "version 2.1 ";
|
||||
break;
|
||||
case VBOOT_VERSION_ALL:
|
||||
- vstr = "";
|
||||
break;
|
||||
}
|
||||
printf("The following %scommands are built-in:\n\n", vstr);
|
||||
--
|
||||
2.1.4
|
||||
|
Loading…
Reference in New Issue
Block a user