Compare commits

...

75 Commits

Author SHA1 Message Date
Jo-Philipp Wich
ac733df99c LEDE v17.01.0: adjust config defaults
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-20 19:00:22 +01:00
Baptiste Jonglez
59508e309e dnsmasq: Add upstream patch fixing SERVFAIL issues with multiple servers
This fixes FS#391 for lede-17.01

Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
2017-02-20 18:13:44 +01:00
Jo-Philipp Wich
06f3b91902 kernel: update kernel 4.4 to version 4.4.50
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-20 16:02:54 +01:00
Stijn Tintel
5612114090 Revert "px5g-standalone: provide px5g via PROVIDES"
This reverts commit cc66f819b4.

This commit causes opkg to install px5g-standalone instead of px5g when
installing luci-ssl. As luci-ssl depends on mbedtls, using
px5g-standalone makes no sense. Next to that, it creates deprecated SHA1
certificates. Revert the commit to avoid pxg5-standalone to be
installed by accident.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit ca8aee0c57)
2017-02-20 15:17:20 +01:00
Alberto Bursi
4d1ab84f1e uboot-kirkwood: fix goflexhome/net bootcommand
Goflexhome/net use uImage, and to boot an uImage the u-boot
must use bootm command, not bootz.

Fixes the "i cannot boot LEDE with this u-boot" issue that I
found out myself with my goflexnet.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
2017-02-19 21:00:19 +01:00
Thibaut VARENE
cdeb2322ea ar71xx: Remove images for rb-941-2nd
The code that generates this image is broken in many ways.

The new code currently in master generates images that will not be compatible
with the ones in 17.01. To avoid a migration nightmare, this patch removes
image generation for this device in 17.01

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
2017-02-19 20:52:52 +01:00
Jo-Philipp Wich
f79926cb94 sdk: emit proper tag references for base URLs
Properly resolve symbolic tag names when constructing the base feed Git url
and avoid emitting "HEAD" references when building from detached commits.

Fixes #495, #501.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-19 20:50:24 +01:00
Mathias Kresin
0a26490fe4 lantiq: set the internet led interface according to wan interface
Use the nas0 interface for the netdev trigger as default. Use the ptm0
interface for xRX200 boards to match the default wan interface set in
02_network.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-02-18 16:52:05 +01:00
Mathias Kresin
6a6e3a4928 lantiq: introduce lantiq_is_vdsl_system
Move the code to check if the current system is a system with vdsl
support to a dedicate function to make it reusable.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-02-18 16:52:05 +01:00
Mathias Kresin
c5879b0676 lantiq: fix ARV7519RW22 switch port indexing
Fixes FS#454.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-02-18 16:52:05 +01:00
Felix Fietkau
c835c9ebe5 uhttpd: use sha256 when generating certificates with openssl (FS#512)
Patch from attachment to FS#512

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-17 14:43:11 +01:00
Stijn Tintel
6ebb8723a6 dropbear: bump PKG_RELEASE
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 27040dbf89)
2017-02-17 12:31:52 +01:00
Joseph C. Sible
f527436364 dropbear: enable SHA256 HMACs
The only HMACs currently available use MD5 and SHA1, both of which have known
weaknesses. We already compile in the SHA256 code since we use Curve25519
by default, so there's no significant size penalty to enabling this.

Signed-off-by: Joseph C. Sible <josephcsible@users.noreply.github.com>
(cherry picked from commit 0bf85ef048)
2017-02-17 12:31:39 +01:00
Felix Fietkau
f88bd7cd0f ar71xx: fix ethernet PLL configuration for QCA956x
QCA956x is configured like AR934x, not like the older chips.
Should fix ethernet hangs when using the WAN port without SGMII

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-17 12:17:39 +01:00
David Woodhouse
828a024c81 x86: Set default baud rate on Geode images to 115200
Prior to commit 1496b95a0 ("x86: clean up default grub baudrate
settings") we had three different baud rates for the Geode targets:
19200 for net5501, 38400 for alix2, and 115200 for Geos.

It doesn't seem that there's a very good reason for varying from our
default 115200 baud, so let's make the Geode target do that instead.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2017-02-17 10:30:30 +01:00
David Woodhouse
63a8424702 x86: Add Geos profile for Geode subtarget
This makes the Geode images actually useful again. The Geos profile
should include the relevant hardware for that board, and the Default
profile adds the via-rhine adapter which seems to have been present in
the net5501 and alix targets killed in commit 9e0759ea26 ("x86: merge
all geode based subtargets into one").

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2017-02-17 10:30:30 +01:00
Chris Blake
808f6a500c x86: Add board configs for the PC Engines APU2
This adds the default LED and network settings for the PC Engines APU2
when running under the x86 target.

[dwmw2: Change Ethernet port setup]
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2017-02-17 10:29:24 +01:00
David Woodhouse
6d6db65d82 x86: Enable DIAG LED on Geos
Based on a patch from Chris Blake <chrisrblake93@gmail.com>, except let's
do it by using the LED configuration instead of hard-coding it for each
board type. And try using /bin/board_detect to do the default behaviour,
on the first boot where the config hasn't yet been generated.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2017-02-17 10:28:52 +01:00
Chris Blake
bd5b5c749a x86: Move Traverse Geos configs into x86 base-files
This change moves the files in 657418d to the root of the x86 target.
This is done in preperation for adding more devices under other
subtargets.

CC: David Woodhouse <dwmw2@infradead.org>

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2017-02-17 10:28:45 +01:00
David Woodhouse
06e0c30336 x86: Add configuration back for Traverse Geos
When we merged all the Geode boards into one generic target, the default
network and LED configuration was lost. Put it back.

Fixes: 9e0759ea26 ("x86: merge all geode based subtargets into one")
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2017-02-17 10:28:39 +01:00
Rafał Miłecki
982dd01ac3 Mark targets using kernel 3.18 as source-only
We're past v17.01.0-rc2 phase and these few targets are stuck at 3.18
kernel. We obviously don't want to have targets like this built for the
release, especially with 3.18 being EOL.

It may be not too late for bringing these targets back for the next
minor release, so just mark them as source-only instead of dropping
completely.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-17 06:58:33 +01:00
Furong Xu
25b7295617 ramips: fix the number of uarts for MT7688
Same as MT7621 and MT7628, MT7688 allows up to 3 uarts

Signed-off-by: Furong Xu <xfr@outlook.com>
2017-02-16 09:54:30 +01:00
Furong Xu
71ea3b4814 ramips: fix PWM pin mux conflict in dtsi
GPIO18 and GPIO19 on OMEGA2(+) should be GPIO mode, enable PWM lead to a conflict

[    0.290633] rt2880-pinmux pinctrl: pin io18 already requested by pinctrl; cannot claim for 10005000.pwm
[    0.299722] rt2880-pinmux pinctrl: pin-18 (10005000.pwm) status -22
[    0.305729] rt2880-pinmux pinctrl: could not request pin 18 (io18) from group pwm0  on device rt2880-pinmux
[    0.315131] mtk-pwm 10005000.pwm: Error applying setting, reverse things back

Keep PWM disabled.

Signed-off-by: Furong Xu <xfr@outlook.com>
2017-02-16 09:54:17 +01:00
Cezary Jackiewicz
44aec27112 ugps: fix typo
Removing redundant spaces from the name of the option. Without fix:

root@LEDE:~# opkg install ugps
Installing ugps (2016-10-24-32a6b2b7-1) to root...
Downloading http://downloads.lede-project.org/releases/17.01-SNAPSHOT/packages/mips_24kc/base/ugps_2016-10-24-32a6b2b7-1_mips_24kc.ipk
Configuring ugps.
uci: Parse error (invalid character in name field) at line 3, byte 23
uci: Parse error (invalid character in name field) at line 3, byte 23
sh: out of range
root@LEDE:~# uci show gps
uci: Parse error (invalid character in name field) at line 3, byte 23

With this fix:

root@LEDE:~# uci show gps
gps.@gps[0]=gps
gps.@gps[0].tty='ttyACM0'
gps.@gps[0].adjust_time='1'

Signed-off-by: Cezary Jackiewicz <cezary@eko.one.pl>
2017-02-16 09:54:14 +01:00
Mirko Parthey
7efe538ac1 brcm47xx: fix button inversion for Asus WL-500W
The Asus WL-500W buttons are active high,
but the software treats them as active low.
Fix the inverted logic.

Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-16 00:20:33 +01:00
Mirko Parthey
be007c580e brcm47xx: fix USB driver choice for Asus WL-500W
BCM4704 SoC has only USB 1.1 core:
ssb: Core 3 found: USB 1.1 Hostdev (cc 0x808, rev 0x03, vendor 0x4243)
but this device actually comes with two USB 2.0 ports.

It appears embedded controller isn't used but instead there are two PCI
attached controllers (next to the BCM4321 wireless card):
1106:3038 VT82xx/62xx UHCI USB 1.1 Controller
1106:3104 USB 2.0

Choose a set of USB drivers which actually support this hardware.

Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-15 23:54:36 +01:00
Felix Fietkau
dbb8e04472 qos-scripts: fix module load commands (FS#438)
fq_codel is built-in, and xt_CONNMARK is provided by the xt_connmark
module

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-15 14:02:04 +01:00
Felix Fietkau
853bad5af2 kernel: fix crashes on MIPS when loading kernel modules under memory pressure
When memory is tight, modules may need to be loaded into vmalloc()
space. The code then has to generate jump trampolines which enable
relocations between vmalloc space and physical address space.

The code had a bug that was freeing these trampolines even when the
module was successfully loaded.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-15 13:23:58 +01:00
Rafał Miłecki
df49e49bc7 mdns: update and rename package to the umdns
This update includes numerous small fixes for:
1) Interfaces setup
2) Packets parsing
3) Sending replies
Without this there were multiple problems with exchanging information
between (u)mdns and other implementations (including (u)mdns as well).

This also follows project rename to umdns which was required to avoid
confusion with Apple's mdnsd from mDNSResponder project.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-15 13:07:21 +01:00
Felix Fietkau
72d045b2a6 ar71xx: fix DEFAULT_PACKAGES for mikrotik devices
Include packages from the default profile for NAND devices

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-15 12:59:22 +01:00
Felix Fietkau
b8c9ded999 build: add buildbot specific config option for setting defaults
This can be used to tweak the buildbot behavior without having to change
buildbot's configuration.
It will also allow us to add more aggressive clean steps (e.g. on
toolchain changes), which would break developers' workflows if enable
by default.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-15 11:37:13 +01:00
Furong Xu
eea6df8255 tools: patch-image: fix file descriptor leak.
Maybe this is committed by mistake, fix it.

Signed-off-by: Furong Xu <xfr@outlook.com>
2017-02-15 09:37:15 +01:00
John Crispin
30a4966053 octeon: only copy sysupgrade file if present
this caused

'mv: can't rename '/mnt/sysupgrade.tgz': No such file or directory'

when running sysupgrade -n

Signed-off-by: John Crispin <john@phrozen.org>
2017-02-15 09:37:15 +01:00
Sven Eckelmann
152f57f509 ar71xx: Add missing device package om-watchdog for MR1750
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:56 +01:00
Sven Eckelmann
fcba5ee47a ar71xx: add OpenMesh A40 to OpenMesh A60 profile
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:55 +01:00
Sven Eckelmann
f30f25c33e ar71xx: extract ath10k wifi board.bin for the OpenMesh A40 board
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:55 +01:00
Sven Eckelmann
d6d9f256ff package/uboot-envtools: add OpenMesh A40 support
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:54 +01:00
Sven Eckelmann
e6057ed207 package/om-watchdog: add OpenMesh A40 support
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:53 +01:00
Sven Eckelmann
4a36180970 ar71xx: enable sysupgrade for the OpenMesh A40
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:52 +01:00
Sven Eckelmann
552bc355d1 ar71xx: add user-space support for the OpenMesh A40
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:52 +01:00
Sven Eckelmann
14add3f724 ar71xx: add kernel support for the OpenMesh A40 board
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:51 +01:00
Sven Eckelmann
b194b3d97f ar71xx: create profile and build image for the OpenMesh A60 board
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:50 +01:00
Sven Eckelmann
facbdec0b5 ar71xx: extract ath10k wifi board.bin for the OpenMesh A60 board
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:49 +01:00
Sven Eckelmann
8785ebc471 package/uboot-envtools: add OpenMesh a60 support
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:49 +01:00
Sven Eckelmann
eb383710e2 package/om-watchdog: add OpenMesh A60 support
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:48 +01:00
Sven Eckelmann
b7361c5b35 ar71xx: enable sysupgrade for the OpenMesh A60
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:47 +01:00
Sven Eckelmann
72c65c6213 scripts/om-fwupgradecfg-gen.sh: add support for the A60
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:47 +01:00
Sven Eckelmann
5ad9164b9c ar71xx: add user-space support for the OpenMesh A60
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:46 +01:00
Sven Eckelmann
72d8d8c6f3 ar71xx: add kernel support for the OpenMesh A60 board
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:45 +01:00
Sven Eckelmann
a3061e57e8 package/uboot-envtools: add OpenMesh OM2Pv4/-HSv4 support
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:45 +01:00
Sven Eckelmann
8a35c489ad package/om-watchdog: add OpenMesh OM2Pv4/-HSv4 support
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:44 +01:00
Sven Eckelmann
d536c1d04f ar71xx: enable sysupgrade for the OpenMesh OM2Pv4/-HSv4
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:43 +01:00
Sven Eckelmann
b2f3d9b05c ar71xx: add user-space support for the OpenMesh OM2Pv4/-HSv4
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:43 +01:00
Sven Eckelmann
9f0f4c1494 ar71xx: add kernel support for the OpenMesh OM2Pv4/-HSv4
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:42 +01:00
Sven Eckelmann
68ba0525a0 ar71xx: Remove the v2/v3 from the OpenMesh profile names
The list of v2/v3 devices is getting longer and makes reading the names of
the profiles unnecessary hard.

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-15 09:35:42 +01:00
Denis Osvald
cbd69f7e4e procd: fix default timeout for reload trigger actions
Default trigger action timeout was added to procd.sh in commit f88e3a4c0
(procd: add default timeout for reload trigger actions)
However, the timeout value was not placed under the correct JSON-script
array nesting level and thus did not apply.

To fix this and make the timeout actually apply to the reload triggers,
we place it in the correct scope, that is the per-trigger array.

Fixes: f88e3a4c0a
Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
2017-02-15 09:35:12 +01:00
Jonas Gorski
367a3bb36f mvebu: append metadata to clearfog sd card images
Fixes the following issue:

root@LEDE:/# sysupgrade /tmp/lede-mvebu-armada-388-clearfog-sdcard.img.gz
Saving metaconfig...
Image metadata not found
Use sysupgrade -F to override this check when downgrading or flashing to vendor firmware
Image check 'fwtool_check_image' failed.
root@LEDE:/#

Acked-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-02-13 17:51:15 +01:00
Jonas Gorski
4817e61f45 brcm63xx: Neufbox 6: fix switch by probing through DT
Probe the switch through DT instead of a platform device. This fixes
probe, as GPIO offsets are now properly accounted for.

Fixes the following issue:

[    0.802953] 8021q: 802.1Q VLAN Support v1.8
[    0.810518] rtl8366_smi: gpio_request failed for 18, err=-517

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-02-13 17:51:08 +01:00
Felix Fietkau
034a80009c sdk: clean scripts/config before packing tarball (FS#504)
Avoids shipping potentially incompatible object files and also reduces
the tarball size

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-13 11:47:12 +01:00
Giuseppe Lippolis
e5060b32e5 ramips: added image size into dwr-512 DT
Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
2017-02-13 10:25:19 +01:00
Yangbo Lu
b72dcd5457 layerscape: fix adjust_link for 10G & 2.5G
Added a linux-4.4 patch to fix adjust_link for 10G & 2.5G.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2017-02-13 10:25:19 +01:00
Chuanhong Guo
57dfbac6ff ramips: Correct switch configuration for Newifi D1
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2017-02-13 10:25:19 +01:00
Martin Blumenstingl
32c9d467e3 lantiq: fix patching the wifi mac address on BTHOMEHUBV3A
The firmware hotplug script tries to read the mac address from a
partition with the name "uboot-env" which does not exist (instead it's
name is uboot_env). This broke calculation of the new checksum (after
patching the mac address) which resulted in ath9k refusing to use the
EEPROM data.

The original error reported by ath9k was:
PCI: Enabling device 0000:00:0e.0 (0000 -> 0002)
ath: phy0: Bad EEPROM checksum 0x2523
ath: phy0: Unable to initialize hardware; initialization status: -22
ath9k 0000:00:0e.0: Failed to initialize device

Fixes: a20616863d ("lantiq: use ath9k device tree bindings
binding/owl-loader")

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2017-02-13 07:57:04 +01:00
Felix Fietkau
e967f4dd27 ath9k: fix various issues in the airtime-fairness implementation
Effects of the bugs could include memory corruption, tx hangs, kernel
crahes, possibly other things as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-12 14:27:21 +01:00
Hauke Mehrtens
eac4851bfd kernel: MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch
This backports the following fix to our mips IRQ stack patches:
https://patchwork.linux-mips.org/patch/15110/

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-02-12 12:25:52 +01:00
Jonas Gorski
02515f0187 brcm63xx: fix lzma loader for BCM6362
BCM6362 and BCM3380 seem to share the same PRID. Disable serial output
for them until we can find a way to tell them apart reliably.

Fixes: 8f3cfe4ba2 ("brcm63xx: lzma-loader: add BCM3380 support")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-02-10 10:51:09 +01:00
Jonas Gorski
f49efcd325 brcm63xx: do a full reset phy cycle
Make sure we do a proper reset of the phy, if the phy reset is defined.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-02-10 10:51:09 +01:00
Jonas Gorski
921cecbdf8 brcm63xx: fix external interrupts on BCM6318
Setting the clear bit for an interrupt seems to cause interrupts to be
deasserted again immediately. So unset the bit for BCM6318 to allow
subsequent interrupts to still work.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-02-10 10:51:09 +01:00
Hans Dedecker
b8567cb44e odhcpd: update to git HEAD version (FS#396)
8df4253 ndp: harden netlink event socket error handling
b02f3e6 ndp: close proc file descriptor also during error handling
8a615ad npd: rework IPv6 relay logic (FS#396)
0129f79 config: restore interface defaults when cleaning interface

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-02-09 21:42:48 +01:00
Hans Dedecker
03ff2d7359 odhcpd: update to git HEAD version (FS#388)
3317c86 dhcpv6-ia: apply lease delete based on assignment bound state
df50429 odhcpd: properly handle netlink messages (FS#388)
83d72cf odhcpd: fix coding style

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-02-09 21:42:00 +01:00
Alexey Brodkin
f25d9cbe48 arc770: backport upstream fix for unaligned access
This commit reverts 42f3c1f ("arc770: fix broken upstream change")
and simultaneously adds back-ported fix from Linus' tree:
a524c218bc94 ("ARC: [arcompact] brown paper bag bug in unaligned
access delay slot fixup").

Note mentioned patch will appear in stable trees soon as well so
IMHO there's not much sense in adding this separate patch in lede/master branch.
As well as we will get rid of it here in 17.01 once we bump 4.4 kernel here
later down the line.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@nbd.name>
Cc: John Crispin <john@phrozen.org>
Cc: Jo-Philipp Wich <jo@mein.io>
2017-02-09 09:15:17 +01:00
John Crispin
bd64568d27 procd: update to latest git HEAD
cdc3dab ujail: fix signal forwarding

Signed-off-by: John Crispin <john@phrozen.org>
2017-02-08 15:03:16 +01:00
Claudio Leite
4e2c2b51f5 ramips: fix AR670W partition alignment
mtdsplit_lzma requires that the rootfs be aligned to a block boundary.
Pad the kernel partition to make this so.

Signed-off-by: Claudio Leite <leitec@gmail.com>
2017-02-08 06:16:53 +01:00
Álvaro Fernández Rojas
86bd886697 brcmfmac: improve Raspberry Pi 3 stability
- Really disable power management (wrong config flags).
- Disable internal roaming engine.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 18:00:16 +01:00
Rafał Miłecki
083854f06f bcm53xx: add missing system.sh include
It's needed for macaddr_add.

Fixes: 5ed23223fd ("bcm53xx: set WAN MAC address to don't share one with LAN interface")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-07 11:51:05 +01:00
138 changed files with 1266 additions and 403 deletions

View File

@@ -9,7 +9,7 @@ menu "Global build settings"
config ALL_NONSHARED
bool "Select all target specific packages by default"
default ALL
default ALL || BUILDBOT
config ALL_KMODS
bool "Select all kernel module packages by default"
@@ -19,6 +19,16 @@ menu "Global build settings"
bool "Select all userspace packages by default"
default n
config BUILDBOT
bool "Set build defaults for automatic builds (e.g. via buildbot)"
default n
help
This option changes several defaults to be more suitable for
automatic builds. This includes the following changes:
- Deleting build directories after compiling (to save space)
- Enabling per-device rootfs support
...
config SIGNED_PACKAGES
bool "Cryptographically signed package lists"
default y
@@ -61,7 +71,7 @@ menu "Global build settings"
bool
prompt "Collect kernel debug information"
select KERNEL_DEBUG_INFO
default n
default BUILDBOT
help
This collects debugging symbols from the kernel and all compiled modules.
Useful for release builds, so that kernel issues can be debugged offline

View File

@@ -201,7 +201,6 @@ menu "Target Images"
int "Serial port baud rate"
depends on GRUB_IMAGES
default 38400 if TARGET_x86_generic
default 38400 if TARGET_x86_geode
default 115200
config GRUB_BOOTOPTS

View File

@@ -1,4 +1,4 @@
src-git packages https://git.lede-project.org/feed/packages.git;lede-17.01
src-git luci https://git.lede-project.org/project/luci.git;lede-17.01
src-git routing https://git.lede-project.org/feed/routing.git;lede-17.01
src-git telephony https://git.lede-project.org/feed/telephony.git;lede-17.01
src-git packages https://git.lede-project.org/feed/packages.git^ed90827282851ad93294e370860320f1af428bb2
src-git luci https://git.lede-project.org/project/luci.git^a100738163585ae1edc24d832ca9bef1f34beef0
src-git routing https://git.lede-project.org/feed/routing.git^dd36dd47bbd75defcb3c517cafe7a19ee425f0af
src-git telephony https://git.lede-project.org/feed/telephony.git^1f0fb2538ba6fc306198fe2a9a4b976d63adb304

View File

@@ -3,10 +3,10 @@
LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .43
LINUX_VERSION-4.4 = .47
LINUX_VERSION-4.4 = .50
LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
LINUX_KERNEL_HASH-4.4.47 = ce0ac0016f37ba3e9bc8ad3765933b61c4072fcfe4c44804fc7b308cd7f94de7
LINUX_KERNEL_HASH-4.4.50 = e4944ca5bb0bdf63a7e97dc7fbdd38bcc820d8b3b57c4a3a7b3bf9c8a48216b7
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))

View File

@@ -31,16 +31,16 @@ qstrip_escape=$(subst ','\'',$(call qstrip,$(1)))
sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1))))
VERSION_NUMBER:=$(call qstrip_escape,$(CONFIG_VERSION_NUMBER))
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),17.01-SNAPSHOT)
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),17.01.0)
VERSION_CODE:=$(call qstrip_escape,$(CONFIG_VERSION_CODE))
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),$(REVISION))
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),r3205-59508e3)
VERSION_NICK:=$(call qstrip_escape,$(CONFIG_VERSION_NICK))
VERSION_NICK:=$(if $(VERSION_NICK),$(VERSION_NICK),$(RELEASE))
VERSION_REPO:=$(call qstrip_escape,$(CONFIG_VERSION_REPO))
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),http://downloads.lede-project.org/releases/17.01-SNAPSHOT)
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),http://downloads.lede-project.org/releases/17.01.0)
VERSION_DIST:=$(call qstrip_escape,$(CONFIG_VERSION_DIST))
VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),LEDE)

View File

@@ -190,7 +190,7 @@ if VERSIONOPT
config VERSION_REPO
string
prompt "Release repository"
default "http://downloads.lede-project.org/releases/17.01-SNAPSHOT"
default "http://downloads.lede-project.org/releases/17.01.0"
help
This is the repository address embedded in the image, it defaults
to the trunk snapshot repo; the url may contain the following placeholders:
@@ -286,7 +286,7 @@ menuconfig PER_FEED_REPO
config PER_FEED_REPO_ADD_COMMENTED
bool "Comment out not enabled feeds"
default y
default !BUILDBOT
depends on PER_FEED_REPO && PER_FEED_REPO_ADD_DISABLED
help
Add not enabled feeds as commented out source lines to opkg.conf.

View File

@@ -14,6 +14,8 @@ touch /etc/config/ubootenv
board=$(ar71xx_board_name)
case "$board" in
a40|\
a60|\
alfa-ap120c|\
all0258n|\
ap90q|\
@@ -52,8 +54,10 @@ om2p|\
om2p-hs|\
om2p-hsv2|\
om2p-hsv3|\
om2p-hsv4|\
om2p-lc|\
om2pv2)
om2pv2|\
om2pv4)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x40000"
;;
dap-2695-a1|\

View File

@@ -10,7 +10,7 @@
- "bootm 0x800000"
+ "ubi part ubi; " \
+ "ubi read 0x800000 kernel; " \
+ "bootz 0x800000"
+ "bootm 0x800000"
#define CONFIG_MTDPARTS \
- "mtdparts=orion_nand:1m(uboot),6M(uImage),-(root)\0"

View File

@@ -0,0 +1,107 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Sun, 12 Feb 2017 13:13:05 +0100
Subject: [PATCH] ath9k: clean up and fix ath_tx_count_airtime
ath_tx_count_airtime is doing a lot of unnecessary work:
- Redundant station lookup
- Redundant rcu_read_lock/unlock
- Useless memcpy of bf->rates
- Useless NULL check of bf->bf_mpdu
- Redundant lookup of the skb tid
Additionally, it tries to look up the mac80211 queue index from the txq,
which fails if the frame was delivered via the power save queue.
This patch fixes all of these issues by passing down the right set of
pointers instead of doing extra work
Cc: stable@vger.kernel.org
Fixes: 63fefa050477 ("ath9k: Introduce airtime fairness scheduling between stations")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -723,51 +723,31 @@ static bool bf_is_ampdu_not_probing(stru
return bf_isampdu(bf) && !(info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE);
}
-static void ath_tx_count_airtime(struct ath_softc *sc, struct ath_txq *txq,
- struct ath_buf *bf, struct ath_tx_status *ts)
+static void ath_tx_count_airtime(struct ath_softc *sc, struct ath_node *an,
+ struct ath_atx_tid *tid, struct ath_buf *bf,
+ struct ath_tx_status *ts)
{
- struct ath_node *an;
- struct ath_acq *acq = &sc->cur_chan->acq[txq->mac80211_qnum];
- struct sk_buff *skb;
- struct ieee80211_hdr *hdr;
- struct ieee80211_hw *hw = sc->hw;
- struct ieee80211_tx_rate rates[4];
- struct ieee80211_sta *sta;
- int i;
+ struct ath_txq *txq = tid->txq;
u32 airtime = 0;
-
- skb = bf->bf_mpdu;
- if(!skb)
- return;
-
- hdr = (struct ieee80211_hdr *)skb->data;
- memcpy(rates, bf->rates, sizeof(rates));
-
- rcu_read_lock();
-
- sta = ieee80211_find_sta_by_ifaddr(hw, hdr->addr1, hdr->addr2);
- if(!sta)
- goto exit;
-
-
- an = (struct ath_node *) sta->drv_priv;
+ int i;
airtime += ts->duration * (ts->ts_longretry + 1);
+ for(i = 0; i < ts->ts_rateindex; i++) {
+ int rate_dur = ath9k_hw_get_duration(sc->sc_ah, bf->bf_desc, i);
+ airtime += rate_dur * bf->rates[i].count;
+ }
- for(i=0; i < ts->ts_rateindex; i++)
- airtime += ath9k_hw_get_duration(sc->sc_ah, bf->bf_desc, i) * rates[i].count;
+ if (sc->airtime_flags & AIRTIME_USE_TX) {
+ int q = txq->mac80211_qnum;
+ struct ath_acq *acq = &sc->cur_chan->acq[q];
- if (!!(sc->airtime_flags & AIRTIME_USE_TX)) {
spin_lock_bh(&acq->lock);
- an->airtime_deficit[txq->mac80211_qnum] -= airtime;
- if (an->airtime_deficit[txq->mac80211_qnum] <= 0)
- __ath_tx_queue_tid(sc, ath_get_skb_tid(sc, an, skb));
+ an->airtime_deficit[q] -= airtime;
+ if (an->airtime_deficit[q] <= 0)
+ __ath_tx_queue_tid(sc, tid);
spin_unlock_bh(&acq->lock);
}
ath_debug_airtime(sc, an, 0, airtime);
-
-exit:
- rcu_read_unlock();
}
static void ath_tx_process_buffer(struct ath_softc *sc, struct ath_txq *txq,
@@ -791,13 +771,13 @@ static void ath_tx_process_buffer(struct
ts->duration = ath9k_hw_get_duration(sc->sc_ah, bf->bf_desc,
ts->ts_rateindex);
- ath_tx_count_airtime(sc, txq, bf, ts);
hdr = (struct ieee80211_hdr *) bf->bf_mpdu->data;
sta = ieee80211_find_sta_by_ifaddr(hw, hdr->addr1, hdr->addr2);
if (sta) {
struct ath_node *an = (struct ath_node *)sta->drv_priv;
tid = ath_get_skb_tid(sc, an, bf->bf_mpdu);
+ ath_tx_count_airtime(sc, an, tid, bf, ts);
if (ts->ts_status & (ATH9K_TXERR_FILT | ATH9K_TXERR_XRETRY))
tid->clear_ps_filter = true;
}

View File

@@ -329,7 +329,7 @@ Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
&ratesArray[0], cfgCtl,
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -1236,8 +1236,9 @@ static u8 ath_get_rate_txpower(struct at
@@ -1216,8 +1216,9 @@ static u8 ath_get_rate_txpower(struct at
if (is_40) {
u8 power_ht40delta;
struct ar5416_eeprom_def *eep = &ah->eeprom.def;

View File

@@ -18,8 +18,8 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
* preference in cfg struct to apply this to
* FW later while initializing the dongle
*/
+#if defined(CONFIG_BCM2708) || defined(CONFIG_BCM2709)
+ pr_info("power management disabled\n");
+#if defined(CONFIG_ARCH_BCM2708) || defined(CONFIG_ARCH_BCM2709)
+ brcmf_dbg(INFO, "power management disabled\n");
+ enabled = false;
+#endif
cfg->pwr_save = enabled;

View File

@@ -0,0 +1,23 @@
brcmfmac: do not use internal roaming engine by default
Some evidence of curing disconnects with this disabled, so make it a default.
Can be overridden with module parameter roamoff=0
See: http://projectable.me/optimize-my-pi-wi-fi/
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
@@ -69,7 +69,11 @@ static int brcmf_fcmode;
module_param_named(fcmode, brcmf_fcmode, int, 0);
MODULE_PARM_DESC(fcmode, "Mode of firmware signalled flow control");
+#if defined(CONFIG_ARCH_BCM2708) || defined(CONFIG_ARCH_BCM2709)
+static int brcmf_roamoff = 1;
+#else
static int brcmf_roamoff;
+#endif
module_param_named(roamoff, brcmf_roamoff, int, S_IRUSR);
MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine");

View File

@@ -17,9 +17,11 @@ get_gpio() {
case "$board" in
"om2p" | \
"om2pv4" | \
"om2p-hs" | \
"om2p-hsv2" | \
"om2p-hsv3" | \
"om2p-hsv4" | \
"om5p-acv2")
return 12
;;
@@ -40,7 +42,9 @@ get_gpio() {
"mr900" | \
"mr900v2" | \
"mr1750" | \
"mr1750v2")
"mr1750v2" | \
"a40" | \
"a60")
return 16
;;
esac

View File

@@ -347,7 +347,6 @@ tc filter add dev $device parent ffff: prio 1 u32 match u32 0 0 flowid 1:1 actio
fi
add_insmod cls_fw
add_insmod sch_hfsc
add_insmod sch_fq_codel
cat <<EOF
${INSMOD:+$INSMOD$N}${dev_up:+$dev_up
@@ -466,7 +465,7 @@ EOF
start_firewall() {
add_insmod xt_multiport
add_insmod xt_CONNMARK
add_insmod xt_connmark
stop_firewall
for group in $CG; do
start_cg $group

View File

@@ -0,0 +1,130 @@
From 68f6312d4bae30b78daafcd6f51dc441b8685b1e Mon Sep 17 00:00:00 2001
From: Baptiste Jonglez <git@bitsofnetworks.org>
Date: Mon, 6 Feb 2017 21:09:11 +0000
Subject: [PATCH] Stop treating SERVFAIL as a successful response from upstream
servers.
This effectively reverts most of 51967f9807 ("SERVFAIL is an expected
error return, don't try all servers.") and 4ace25c5d6 ("Treat REFUSED (not
SERVFAIL) as an unsuccessful upstream response").
With the current behaviour, as soon as dnsmasq receives a SERVFAIL from an
upstream server, it stops trying to resolve the query and simply returns
SERVFAIL to the client. With this commit, dnsmasq will instead try to
query other upstream servers upon receiving a SERVFAIL response.
According to RFC 1034 and 1035, the semantic of SERVFAIL is that of a
temporary error condition. Recursive resolvers are expected to encounter
network or resources issues from time to time, and will respond with
SERVFAIL in this case. Similarly, if a validating DNSSEC resolver [RFC
4033] encounters issues when checking signatures (unknown signing
algorithm, missing signatures, expired signatures because of a wrong
system clock, etc), it will respond with SERVFAIL.
Note that all those behaviours are entirely different from a negative
response, which would provide a definite indication that the requested
name does not exist. In our case, if an upstream server responds with
SERVFAIL, another upstream server may well provide a positive answer for
the same query.
Thus, this commit will increase robustness whenever some upstream servers
encounter temporary issues or are misconfigured.
Quoting RFC 1034, Section 4.3.1. "Queries and responses":
If recursive service is requested and available, the recursive response
to a query will be one of the following:
- The answer to the query, possibly preface by one or more CNAME
RRs that specify aliases encountered on the way to an answer.
- A name error indicating that the name does not exist. This
may include CNAME RRs that indicate that the original query
name was an alias for a name which does not exist.
- A temporary error indication.
Here is Section 5.2.3. of RFC 1034, "Temporary failures":
In a less than perfect world, all resolvers will occasionally be unable
to resolve a particular request. This condition can be caused by a
resolver which becomes separated from the rest of the network due to a
link failure or gateway problem, or less often by coincident failure or
unavailability of all servers for a particular domain.
And finally, RFC 1035 specifies RRCODE 2 for this usage, which is now more
widely known as SERVFAIL (RFC 1035, Section 4.1.1. "Header section format"):
RCODE Response code - this 4 bit field is set as part of
responses. The values have the following
interpretation:
(...)
2 Server failure - The name server was
unable to process this query due to a
problem with the name server.
For the DNSSEC-related usage of SERVFAIL, here is RFC 4033
Section 5. "Scope of the DNSSEC Document Set and Last Hop Issues":
A validating resolver can determine the following 4 states:
(...)
Insecure: The validating resolver has a trust anchor, a chain of
trust, and, at some delegation point, signed proof of the
non-existence of a DS record. This indicates that subsequent
branches in the tree are provably insecure. A validating resolver
may have a local policy to mark parts of the domain space as
insecure.
Bogus: The validating resolver has a trust anchor and a secure
delegation indicating that subsidiary data is signed, but the
response fails to validate for some reason: missing signatures,
expired signatures, signatures with unsupported algorithms, data
missing that the relevant NSEC RR says should be present, and so
forth.
(...)
This specification only defines how security-aware name servers can
signal non-validating stub resolvers that data was found to be bogus
(using RCODE=2, "Server Failure"; see [RFC4035]).
Notice the difference between a definite negative answer ("Insecure"
state), and an indefinite error condition ("Bogus" state). The second
type of error may be specific to a recursive resolver, for instance
because its system clock has been incorrectly set, or because it does not
implement newer cryptographic primitives. Another recursive resolver may
succeed for the same query.
There are other similar situations in which the specified behaviour is
similar to the one implemented by this commit.
For instance, RFC 2136 specifies the behaviour of a "requestor" that wants
to update a zone using the DNS UPDATE mechanism. The requestor tries to
contact all authoritative name servers for the zone, with the following
behaviour specified in RFC 2136, Section 4:
4.6. If a response is received whose RCODE is SERVFAIL or NOTIMP, or
if no response is received within an implementation dependent timeout
period, or if an ICMP error is received indicating that the server's
port is unreachable, then the requestor will delete the unusable
server from its internal name server list and try the next one,
repeating until the name server list is empty. If the requestor runs
out of servers to try, an appropriate error will be returned to the
requestor's caller.
---
src/forward.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/src/forward.c
+++ b/src/forward.c
@@ -853,7 +853,8 @@ void reply_query(int fd, int family, tim
we get a good reply from another server. Kill it when we've
had replies from all to avoid filling the forwarding table when
everything is broken */
- if (forward->forwardall == 0 || --forward->forwardall == 1 || RCODE(header) != REFUSED)
+ if (forward->forwardall == 0 || --forward->forwardall == 1 ||
+ (RCODE(header) != REFUSED && RCODE(header) != SERVFAIL))
{
int check_rebind = 0, no_cache_dnssec = 0, cache_secure = 0, bogusanswer = 0;

View File

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dropbear
PKG_VERSION:=2016.74
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:= \

View File

@@ -44,10 +44,9 @@
* which are not the standard form. */
#define DROPBEAR_SHA1_HMAC
-#define DROPBEAR_SHA1_96_HMAC
-#define DROPBEAR_SHA2_256_HMAC
-#define DROPBEAR_SHA2_512_HMAC
+/*#define DROPBEAR_SHA1_96_HMAC*/
+/*#define DROPBEAR_SHA2_256_HMAC*/
#define DROPBEAR_SHA2_256_HMAC
-#define DROPBEAR_SHA2_512_HMAC
+/*#define DROPBEAR_SHA2_512_HMAC*/
#define DROPBEAR_MD5_HMAC

View File

@@ -11,10 +11,10 @@ PKG_NAME:=odhcpd
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=$(LEDE_GIT)/project/odhcpd.git
PKG_SOURCE_DATE:=2017-01-26
PKG_SOURCE_VERSION:=c4f9ace5560562d3ba7dfefb9e422240d594a460
PKG_MIRROR_HASH:=323a1123ce37c5f1e60366204d0ed273c0ee003e7a43010bf0882cf67629ee39
PKG_SOURCE_URL=$(LEDE_GIT)/project/odhcpd.git
PKG_SOURCE_DATE:=2017-02-09
PKG_SOURCE_VERSION:=8df4253ba73246d31f2e65f2004da3f9890c22c5
PKG_MIRROR_HASH:=0040f94d11d0039505328a90b2ff48968db873e9e7967307631bf40ef5679275
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
PKG_LICENSE:=GPL-2.0
@@ -33,7 +33,7 @@ define Package/odhcpd
SECTION:=net
CATEGORY:=Network
TITLE:=OpenWrt DHCP/DHCPv6(-PD)/RA Server & Relay
DEPENDS:=+libubox +libuci +libubus
DEPENDS:=+libubox +libuci +libubus +libnl-tiny
endef
define Package/odhcpd/config

View File

@@ -47,7 +47,7 @@ generate_keys() {
# Prefer px5g for certificate generation (existence evaluated last)
local GENKEY_CMD=""
local UNIQUEID=$(dd if=/dev/urandom bs=1 count=4 | hexdump -e '1/1 "%02x"')
[ -x "$OPENSSL_BIN" ] && GENKEY_CMD="$OPENSSL_BIN req -x509 -outform der -nodes"
[ -x "$OPENSSL_BIN" ] && GENKEY_CMD="$OPENSSL_BIN req -x509 -sha256 -outform der -nodes"
[ -x "$PX5G_BIN" ] && GENKEY_CMD="$PX5G_BIN selfsigned -der"
[ -n "$GENKEY_CMD" ] && {
$GENKEY_CMD \

View File

@@ -7,14 +7,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=mdns
PKG_NAME:=umdns
PKG_RELEASE:=1
PKG_SOURCE_URL=$(LEDE_GIT)/project/mdnsd.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2017-01-31
PKG_SOURCE_VERSION:=9cbbb141068c12ed032736e20f982e2a0fb43edc
PKG_MIRROR_HASH:=2b981bd2f695f4da63b51be33b42dcda132c6adab227eda2f68a5c534284aea9
PKG_SOURCE_DATE:=2017-02-15
PKG_SOURCE_VERSION:=0d545ed7287026584722a3f9aa855c29bd24d59f
PKG_MIRROR_HASH:=9670680a31f8eca5724da4cd12efedcbc27563b09ed4d94218f5debee1673abc
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
PKG_LICENSE:=LGPL-2.1
@@ -23,7 +23,7 @@ include $(INCLUDE_DIR)/package-seccomp.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/mdns
define Package/umdns
SECTION:=net
CATEGORY:=Network
TITLE:=OpenWrt Multicast DNS Daemon
@@ -32,16 +32,16 @@ endef
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
define Package/mdns/conffiles
/etc/config/mdns
define Package/umdns/conffiles
/etc/config/umdns
endef
define Package/mdns/install
define Package/umdns/install
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mdns $(1)/usr/sbin/
$(INSTALL_BIN) ./files/mdns.init $(1)/etc/init.d/mdns
$(INSTALL_CONF) ./files/mdns.config $(1)/etc/config/mdns
$(call InstallSeccomp,$(1),./files/mdns.json)
$(INSTALL_BIN) $(PKG_BUILD_DIR)/umdns $(1)/usr/sbin/
$(INSTALL_BIN) ./files/umdns.init $(1)/etc/init.d/umdns
$(INSTALL_CONF) ./files/umdns.config $(1)/etc/config/umdns
$(call InstallSeccomp,$(1),./files/umdns.json)
endef
$(eval $(call BuildPackage,mdns))
$(eval $(call BuildPackage,umdns))

View File

@@ -1,3 +1,3 @@
config mdns
config umdns
option jail 1
list network lan

View File

@@ -6,11 +6,11 @@
START=80
USE_PROCD=1
PROG=/usr/sbin/mdns
PROG=/usr/sbin/umdns
IFACES=""
load_ifaces() {
local network="$(uci get mdns.@mdns[-1].network)"
local network="$(uci get umdns.@umdns[-1].network)"
for n in $network; do
local device
json_load "$(ifstatus $n)"
@@ -27,28 +27,28 @@ reload_service() {
done
json_close_array
ubus call mdns set_config "$(json_dump)"
ubus call umdns set_config "$(json_dump)"
}
start_service() {
local network="$(uci get mdns.@mdns[-1].network)"
local network="$(uci get umdns.@umdns[-1].network)"
procd_open_instance
procd_set_param command "$PROG"
procd_set_param seccomp /etc/seccomp/mdns.json
procd_set_param seccomp /etc/seccomp/umdns.json
procd_set_param respawn
procd_open_trigger
procd_add_config_trigger "config.change" "mdns" /etc/init.d/mdns reload
procd_add_config_trigger "config.change" "umdns" /etc/init.d/umdns reload
for n in $network; do
procd_add_interface_trigger "interface.*" $n /etc/init.d/mdns reload
procd_add_interface_trigger "interface.*" $n /etc/init.d/umdns reload
done
procd_add_raw_trigger "instance.update" 5000 "/bin/ubus" "call" "mdns" "reload"
procd_add_raw_trigger "instance.update" 5000 "/bin/ubus" "call" "umdns" "reload"
procd_close_trigger
[ "$(uci get mdns.@mdns[-1].jail)" = 1 ] && procd_add_jail mdns ubus log
[ "$(uci get umdns.@umdns[-1].jail)" = 1 ] && procd_add_jail umdns ubus log
procd_close_instance
}
service_started() {
ubus -t 10 wait_for mdns
ubus -t 10 wait_for umdns
[ $? = 0 ] && reload_service
}

View File

@@ -12,9 +12,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(LEDE_GIT)/project/procd.git
PKG_SOURCE_DATE:=2017-01-26
PKG_SOURCE_VERSION:=0f5897760272307d671f4c4c11737241755e853d
PKG_MIRROR_HASH:=6647f7b1c0a41ab14a02239816e4752303c4bc58f787b8c123d05b18b5cb41f3
PKG_SOURCE_DATE:=2017-02-08
PKG_SOURCE_VERSION:=cdc3dab3cd5d0295f638de3088bc4f5c9669e7c2
PKG_MIRROR_HASH:=97d57f0f117a3a5b353a904d4ad7091a008d3c93672652c771ac38dd78bb0530
CMAKE_INSTALL:=1
PKG_LICENSE:=GPL-2.0

View File

@@ -251,9 +251,8 @@ _procd_add_interface_trigger() {
json_close_array
json_close_array
json_close_array
_procd_add_timeout
json_close_array
}
_procd_add_reload_interface_trigger() {
@@ -283,10 +282,8 @@ _procd_add_config_trigger() {
json_close_array
json_close_array
json_close_array
_procd_add_timeout
json_close_array
}
_procd_add_raw_trigger() {

View File

@@ -20,7 +20,6 @@ define Package/px5g-standalone
SUBMENU:=Encryption
TITLE:=X.509 certificate generator (standalone version)
MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
PROVIDES:=px5g
endef
define Package/px5g-standalone/description

View File

@@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ugps
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE_URL=$(LEDE_GIT)/project/ugps.git
PKG_SOURCE_PROTO:=git

View File

@@ -1,3 +1,3 @@
config gps
option 'tty' 'ttyACM0'
option 'adjust_time ' '1'
option 'adjust_time' '1'

View File

@@ -7,7 +7,7 @@
#
usage() {
echo "Usage: $0 <OM2P|OM5P|OM5PAC|MR600|MR900|MR1750> <out file path> <kernel path> <rootfs path>"
echo "Usage: $0 <OM2P|OM5P|OM5PAC|MR600|MR900|MR1750|A60> <out file path> <kernel path> <rootfs path>"
rm -f $CFG_OUT
exit 1
}
@@ -26,7 +26,7 @@ case $CE_TYPE in
FLASH_BS=262144
MD5_SKIP_BLOCKS=1
;;
OM5P|OM5PAC|MR600|MR900|MR1750)
OM5P|OM5PAC|MR600|MR900|MR1750|A60)
MAX_PART_SIZE=7808
KERNEL_FLASH_ADDR=0xb0000
FLASH_BS=65536

View File

@@ -203,13 +203,14 @@ endchoice
choice
prompt "Target Profile"
default TARGET_MULTI_PROFILE if BUILDBOT
EOF
foreach my $target (@target) {
my $profile = $target->{profiles}->[0];
$profile or next;
print <<EOF;
default TARGET_$target->{conf}_$profile->{id} if TARGET_$target->{conf}
default TARGET_$target->{conf}_$profile->{id} if TARGET_$target->{conf} && !BUILDBOT
EOF
}
@@ -256,9 +257,11 @@ menu "Target Devices"
config TARGET_ALL_PROFILES
bool "Enable all profiles by default"
default BUILDBOT
config TARGET_PER_DEVICE_ROOTFS
bool "Use a per-device root filesystem that adds profile packages"
default BUILDBOT
help
When disabled, all device packages from all selected devices
will be included in all images by default. (Marked as <*>) You will

View File

@@ -1,6 +1,7 @@
config IB
bool "Build the LEDE Image Builder"
depends on !EXTERNAL_TOOLCHAIN
default BUILDBOT
help
This is essentially a stripped-down version of the buildroot
with precompiled packages, kernel image and image building tools.
@@ -8,7 +9,7 @@ config IB
config IB_STANDALONE
bool "Include package repositories"
default y
default y if !BUILDBOT
depends on IB
help
Disabling this option will cause the ImageBuilder to embed only

View File

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
BOARD:=adm5120
BOARDNAME:=Infineon/ADMtek ADM5120
FEATURES:=low_mem
FEATURES:=low_mem source-only
SUBTARGETS:=router_le router_be rb1xx
INITRAMFS_EXTRA_FILES:=

View File

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
ARCH:=mipsel
BOARD:=adm8668
BOARDNAME:=Infineon WildPass ADM8668
FEATURES:=squashfs usb pci
FEATURES:=squashfs usb pci source-only
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
KERNEL_PATCHVER:=3.18

View File

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
ARCH:=mipsel
BOARD:=ar7
BOARDNAME:=TI AR7
FEATURES:=squashfs atm low_mem
FEATURES:=squashfs atm low_mem source-only
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
SUBTARGETS:=generic ac49x

View File

@@ -11,6 +11,14 @@ board_config_update
board=$(ar71xx_board_name)
case "$board" in
a40)
ucidef_set_led_default "status-red" "Status (red)" "a40:red:status" "0"
ucidef_set_led_default "status-blue" "Status (blue)" "a40:blue:status" "0"
;;
a60)
ucidef_set_led_default "status-red" "Status (red)" "a60:red:status" "0"
ucidef_set_led_default "status-blue" "Status (blue)" "a60:blue:status" "0"
;;
airgateway|\
airgatewaypro)
ucidef_set_led_wlan "wlan" "WLAN" "ubnt:blue:wlan" "phy0tpt"
@@ -391,9 +399,11 @@ nbg6716)
;;
om2p|\
om2pv2|\
om2pv4|\
om2p-hs|\
om2p-hsv2|\
om2p-hsv3|\
om2p-hsv4|\
om2p-lc)
ucidef_set_led_netdev "port1" "port1" "om2p:blue:wan" "eth0"
ucidef_set_led_netdev "port2" "port2" "om2p:blue:lan" "eth1"

View File

@@ -118,6 +118,8 @@ ar71xx_setup_interfaces()
wp543)
ucidef_set_interface_lan "eth0"
;;
a40|\
a60|\
alfa-ap96|\
alfa-nx|\
gl-ar150|\
@@ -126,6 +128,8 @@ ar71xx_setup_interfaces()
gl-inet|\
gl-mifi|\
jwap003|\
om2pv4|\
om2p-hsv4|\
pb42|\
pb44|\
rb-951ui-2hnd|\

View File

@@ -8,6 +8,12 @@ get_status_led() {
local board=$(ar71xx_board_name)
case $board in
a40)
status_led="a40:green:status"
;;
a60)
status_led="a60:green:status"
;;
alfa-nx)
status_led="alfa:green:led_8"
;;
@@ -238,9 +244,11 @@ get_status_led() {
;;
om2p|\
om2pv2|\
om2pv4|\
om2p-hs|\
om2p-hsv2|\
om2p-hsv3|\
om2p-hsv4|\
om2p-lc)
status_led="om2p:blue:power"
;;

View File

@@ -76,6 +76,8 @@ case "$FIRMWARE" in
ath10kcal_extract "art" 20480 2116
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth1/address) -1)
;;
a40 | \
a60 | \
mr1750 | \
mr1750v2 | \
om5p-acv2)

View File

@@ -382,6 +382,12 @@ ar71xx_board_detect() {
*"Oolite V1.0")
name="oolite"
;;
*"A40")
name="a40"
;;
*"A60")
name="a60"
;;
*"AC1750DB")
name="f9k1115v2"
;;
@@ -736,6 +742,9 @@ ar71xx_board_detect() {
*OM2Pv2)
name="om2pv2"
;;
*OM2Pv4)
name="om2pv4"
;;
*"OM2P HS")
name="om2p-hs"
;;
@@ -745,6 +754,9 @@ ar71xx_board_detect() {
*"OM2P HSv3")
name="om2p-hsv3"
;;
*"OM2P HSv4")
name="om2p-hsv4"
;;
*"OM2P LC")
name="om2p-lc"
;;

View File

@@ -41,13 +41,21 @@ platform_check_image_target_openmesh()
img_board_target="$1"
case "$img_board_target" in
A60)
[ "$board" = "a40" ] && return 0
[ "$board" = "a60" ] && return 0
echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
return 1
;;
OM2P)
[ "$board" = "om2p" ] && return 0
[ "$board" = "om2pv2" ] && return 0
[ "$board" = "om2pv4" ] && return 0
[ "$board" = "om2p-lc" ] && return 0
[ "$board" = "om2p-hs" ] && return 0
[ "$board" = "om2p-hsv2" ] && return 0
[ "$board" = "om2p-hsv3" ] && return 0
[ "$board" = "om2p-hsv4" ] && return 0
echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
return 1
;;
@@ -177,7 +185,7 @@ platform_do_upgrade_openmesh()
kernel_start_addr1=0x9f1c0000
kernel_start_addr2=0x9f8c0000
;;
OM5P|OM5PAC|MR600|MR900|MR1750)
OM5P|OM5PAC|MR600|MR900|MR1750|A60)
block_size=$((64 * 1024))
total_size=7995392
kernel_start_addr1=0x9f0b0000

View File

@@ -492,6 +492,8 @@ platform_check_image() {
tplink_pharos_check_image "$1" && return 0
return 1
;;
a40|\
a60|\
mr1750v2|\
mr1750|\
mr600v2|\
@@ -500,9 +502,11 @@ platform_check_image() {
mr900|\
om2p-hsv2|\
om2p-hsv3|\
om2p-hsv4|\
om2p-hs|\
om2p-lc|\
om2pv2|\
om2pv4|\
om2p|\
om5p-acv2|\
om5p-ac|\
@@ -669,6 +673,8 @@ platform_do_upgrade() {
tew-673gru)
platform_do_upgrade_dir825b "$ARGV"
;;
a40|\
a60|\
mr1750v2|\
mr1750|\
mr600v2|\
@@ -677,9 +683,11 @@ platform_do_upgrade() {
mr900|\
om2p-hsv2|\
om2p-hsv3|\
om2p-hsv4|\
om2p-hs|\
om2p-lc|\
om2pv2|\
om2pv4|\
om2p|\
om5p-acv2|\
om5p-ac|\

View File

@@ -32,6 +32,7 @@ CONFIG_ATH79_DEV_NFC=y
CONFIG_ATH79_DEV_SPI=y
CONFIG_ATH79_DEV_USB=y
CONFIG_ATH79_DEV_WMAC=y
CONFIG_ATH79_MACH_A60=y
CONFIG_ATH79_MACH_ALFA_AP120C=y
CONFIG_ATH79_MACH_ALFA_AP96=y
CONFIG_ATH79_MACH_ALFA_NX=y

View File

@@ -1,3 +1,13 @@
config ATH79_MACH_A60
bool "OpenMesh A40/A60 board support"
select SOC_QCA955X
select ATH79_DEV_AP9X_PCI if PCI
select ATH79_DEV_ETH
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
select ATH79_DEV_USB
config ATH79_MACH_ALFA_AP120C
bool "ALFA Network AP120C board support"
select ATH79_DEV_AP9X_PCI if PCI
@@ -988,6 +998,7 @@ config ATH79_MACH_OM2P
bool "OpenMesh OM2P board support"
select SOC_AR724X
select SOC_AR933X
select SOC_QCA953X
select ATH79_DEV_AP9X_PCI if PCI
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS

View File

@@ -38,6 +38,7 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += routerboot.o
#
# Machines
#
obj-$(CONFIG_ATH79_MACH_A60) += mach-a60.o
obj-$(CONFIG_ATH79_MACH_ALFA_AP120C) += mach-alfa-ap120c.o
obj-$(CONFIG_ATH79_MACH_ALFA_AP96) += mach-alfa-ap96.o
obj-$(CONFIG_ATH79_MACH_ALFA_NX) += mach-alfa-nx.o

View File

@@ -1075,7 +1075,7 @@ void __init ath79_register_eth(unsigned int id)
if (pdata->phy_if_mode == PHY_INTERFACE_MODE_SGMII)
pdata->set_speed = qca956x_set_speed_sgmii;
else
pdata->set_speed = ath79_set_speed_ge0;
pdata->set_speed = ar934x_set_speed_ge0;
} else {
pdata->reset_bit = QCA955X_RESET_GE1_MAC |
QCA955X_RESET_GE1_MDIO;

View File

@@ -0,0 +1,181 @@
/*
* OpenMesh A60 support
*
* Copyright (C) 2013 Marek Lindner <marek@open-mesh.com>
* Copyright (C) 2014-2017 Sven Eckelmann <sven@open-mesh.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#include <linux/gpio.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <linux/platform_device.h>
#include <linux/platform_data/phy-at803x.h>
#include <asm/mach-ath79/ar71xx_regs.h>
#include <asm/mach-ath79/ath79.h>
#include "common.h"
#include "dev-ap9x-pci.h"
#include "dev-eth.h"
#include "dev-leds-gpio.h"
#include "dev-gpio-buttons.h"
#include "dev-m25p80.h"
#include "dev-wmac.h"
#include "machtypes.h"
#include "pci.h"
#include "dev-usb.h"
#define A60_GPIO_LED_RED 22
#define A60_GPIO_LED_GREEN 23
#define A60_GPIO_LED_BLUE 13
#define A60_GPIO_BTN_RESET 17
#define A60_KEYS_POLL_INTERVAL 20 /* msecs */
#define A60_KEYS_DEBOUNCE_INTERVAL (3 * A60_KEYS_POLL_INTERVAL)
#define A60_WMAC_CALDATA_OFFSET 0x1000
static struct gpio_led a40_leds_gpio[] __initdata = {
{
.name = "a40:red:status",
.gpio = A60_GPIO_LED_RED,
}, {
.name = "a40:green:status",
.gpio = A60_GPIO_LED_GREEN,
}, {
.name = "a40:blue:status",
.gpio = A60_GPIO_LED_BLUE,
}
};
static struct gpio_led a60_leds_gpio[] __initdata = {
{
.name = "a60:red:status",
.gpio = A60_GPIO_LED_RED,
}, {
.name = "a60:green:status",
.gpio = A60_GPIO_LED_GREEN,
}, {
.name = "a60:blue:status",
.gpio = A60_GPIO_LED_BLUE,
}
};
static struct gpio_keys_button a60_gpio_keys[] __initdata = {
{
.desc = "Reset button",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = A60_KEYS_DEBOUNCE_INTERVAL,
.gpio = A60_GPIO_BTN_RESET,
.active_low = 1,
},
};
static struct at803x_platform_data a60_at803x_data = {
.disable_smarteee = 1,
.enable_rgmii_rx_delay = 1,
.enable_rgmii_tx_delay = 1,
};
static struct mdio_board_info a60_mdio0_info[] = {
{
.bus_id = "ag71xx-mdio.0",
.phy_addr = 1,
.platform_data = &a60_at803x_data,
},
{
.bus_id = "ag71xx-mdio.0",
.phy_addr = 2,
.platform_data = &a60_at803x_data,
},
};
static void __init a60_setup_qca955x_eth_cfg(u32 mask,
unsigned int rxd,
unsigned int rxdv,
unsigned int txd,
unsigned int txe)
{
void __iomem *base;
u32 t;
base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
t = mask;
t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
__raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
iounmap(base);
}
static void __init a60_setup_common(void)
{
u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
u8 mac[6];
ath79_register_usb();
ath79_register_m25p80(NULL);
ath79_register_gpio_keys_polled(-1, A60_KEYS_POLL_INTERVAL,
ARRAY_SIZE(a60_gpio_keys),
a60_gpio_keys);
ath79_init_mac(mac, art, 0x02);
ath79_register_wmac(art + A60_WMAC_CALDATA_OFFSET, mac);
a60_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 3, 3, 0, 0);
ath79_register_mdio(0, 0x0);
mdiobus_register_board_info(a60_mdio0_info, ARRAY_SIZE(a60_mdio0_info));
ath79_init_mac(ath79_eth0_data.mac_addr, art, 0x00);
ath79_init_mac(ath79_eth1_data.mac_addr, art, 0x01);
/* GMAC0 is connected to the PHY1 */
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
ath79_eth0_data.phy_mask = BIT(1);
ath79_eth0_pll_data.pll_1000 = 0x82000101;
ath79_eth0_pll_data.pll_100 = 0x80000101;
ath79_eth0_pll_data.pll_10 = 0x80001313;
ath79_register_eth(0);
/* GMAC1 is connected to MDIO1 in SGMII mode */
ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
ath79_eth1_data.mii_bus_dev = &ath79_mdio0_device.dev;
ath79_eth1_data.phy_mask = BIT(2);
ath79_eth1_pll_data.pll_1000 = 0x03000101;
ath79_eth1_pll_data.pll_100 = 0x80000101;
ath79_eth1_pll_data.pll_10 = 0x80001313;
ath79_eth1_data.speed = SPEED_1000;
ath79_eth1_data.duplex = DUPLEX_FULL;
ath79_register_eth(1);
ath79_register_pci();
}
static void __init a40_setup(void)
{
ath79_register_leds_gpio(-1, ARRAY_SIZE(a40_leds_gpio), a40_leds_gpio);
a60_setup_common();
}
MIPS_MACHINE(ATH79_MACH_A40, "A40", "OpenMesh A40", a40_setup);
static void __init a60_setup(void)
{
ath79_register_leds_gpio(-1, ARRAY_SIZE(a60_leds_gpio), a60_leds_gpio);
a60_setup_common();
}
MIPS_MACHINE(ATH79_MACH_A60, "A60", "OpenMesh A60", a60_setup);

View File

@@ -46,6 +46,16 @@
#define OM2P_LC_GPIO_LED_WAN 17
#define OM2P_LC_GPIO_BTN_RESET 12
#define OM2Pv4_GPIO_LED_POWER 0
#define OM2Pv4_GPIO_LED_GREEN 2
#define OM2Pv4_GPIO_LED_RED 4
#define OM2Pv4_GPIO_LED_YELLOW 3
#define OM2Pv4_GPIO_LED_LAN 14
#define OM2Pv4_GPIO_LED_WAN 13
#define OM2Pv4_GPIO_BTN_RESET 1
#define OM2P_WMAC_CALDATA_OFFSET 0x1000
static struct flash_platform_data om2p_flash_data = {
.type = "s25sl12800",
.name = "ar7240-nor0",
@@ -224,3 +234,87 @@ static void __init om2p_hs_setup(void)
MIPS_MACHINE(ATH79_MACH_OM2P_HS, "OM2P-HS", "OpenMesh OM2P HS", om2p_hs_setup);
MIPS_MACHINE(ATH79_MACH_OM2P_HSv2, "OM2P-HSv2", "OpenMesh OM2P HSv2", om2p_hs_setup);
MIPS_MACHINE(ATH79_MACH_OM2P_HSv3, "OM2P-HSv3", "OpenMesh OM2P HSv3", om2p_hs_setup);
static struct flash_platform_data om2pv4_flash_data = {
.type = "s25sl12800",
};
static struct gpio_led om2pv4_leds_gpio[] __initdata = {
{
.name = "om2p:blue:power",
.gpio = OM2Pv4_GPIO_LED_POWER,
.active_low = 1,
}, {
.name = "om2p:red:wifi",
.gpio = OM2Pv4_GPIO_LED_RED,
.active_low = 1,
}, {
.name = "om2p:yellow:wifi",
.gpio = OM2Pv4_GPIO_LED_YELLOW,
.active_low = 1,
}, {
.name = "om2p:green:wifi",
.gpio = OM2Pv4_GPIO_LED_GREEN,
.active_low = 1,
}, {
.name = "om2p:blue:lan",
.gpio = OM2Pv4_GPIO_LED_LAN,
.active_low = 1,
}, {
.name = "om2p:blue:wan",
.gpio = OM2Pv4_GPIO_LED_WAN,
.active_low = 1,
}
};
static struct gpio_keys_button om2pv4_gpio_keys[] __initdata = {
{
.desc = "reset",
.type = EV_KEY,
.code = KEY_RESTART,
.debounce_interval = OM2P_KEYS_DEBOUNCE_INTERVAL,
.gpio = OM2Pv4_GPIO_BTN_RESET,
.active_low = 1,
}
};
static void __init om2pv4_setup(void)
{
u8 *mac1 = (u8 *)KSEG1ADDR(0x1ffc0000);
u8 *mac2 = (u8 *)KSEG1ADDR(0x1ffc0000 + ETH_ALEN);
u8 *art = (u8 *)KSEG1ADDR(0x1ffc0000);
u8 wmac[6];
ath79_register_m25p80(&om2pv4_flash_data);
ath79_register_leds_gpio(-1, ARRAY_SIZE(om2pv4_leds_gpio),
om2pv4_leds_gpio);
ath79_register_gpio_keys_polled(-1, OM2P_KEYS_POLL_INTERVAL,
ARRAY_SIZE(om2pv4_gpio_keys),
om2pv4_gpio_keys);
ath79_init_mac(wmac, art, 0x02);
ath79_register_wmac(art + OM2P_WMAC_CALDATA_OFFSET, wmac);
ath79_setup_ar933x_phy4_switch(false, false);
ath79_register_mdio(0, 0x0);
/* LAN */
ath79_switch_data.phy4_mii_en = 1;
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.speed = SPEED_100;
ath79_eth0_data.phy_mask = BIT(4);
ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 0);
ath79_register_eth(0);
/* WAN */
ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
ath79_eth1_data.duplex = DUPLEX_FULL;
ath79_switch_data.phy_poll_mask |= BIT(4);
ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
ath79_register_eth(1);
}
MIPS_MACHINE(ATH79_MACH_OM2Pv4, "OM2Pv4", "OpenMesh OM2Pv4", om2pv4_setup);
MIPS_MACHINE(ATH79_MACH_OM2P_HSv4, "OM2P-HSv4", "OpenMesh OM2P HSv4", om2pv4_setup);

View File

@@ -17,6 +17,8 @@
enum ath79_mach_type {
ATH79_MACH_GENERIC_OF = -1, /* Device tree board */
ATH79_MACH_GENERIC = 0,
ATH79_MACH_A40, /* OpenMesh A40 */
ATH79_MACH_A60, /* OpenMesh A60 */
ATH79_MACH_ALFA_AP120C, /* ALFA Network AP120C board */
ATH79_MACH_ALFA_AP96, /* ALFA Network AP96 board */
ATH79_MACH_ALFA_NX, /* ALFA Network N2/N5 board */
@@ -128,9 +130,11 @@ enum ath79_mach_type {
ATH79_MACH_NBG6716, /* Zyxel NBG6716 */
ATH79_MACH_OM2P, /* OpenMesh OM2P */
ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
ATH79_MACH_OM2Pv4, /* OpenMesh OM2Pv4 */
ATH79_MACH_OM2P_HS, /* OpenMesh OM2P-HS */
ATH79_MACH_OM2P_HSv2, /* OpenMesh OM2P-HSv2 */
ATH79_MACH_OM2P_HSv3, /* OpenMesh OM2P-HSv3 */
ATH79_MACH_OM2P_HSv4, /* OpenMesh OM2P-HSv4 */
ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
ATH79_MACH_OM5P, /* OpenMesh OM5P */
ATH79_MACH_OM5P_AC, /* OpenMesh OM5P-AC */

View File

@@ -1,3 +1,10 @@
define LegacyDevice/A60
DEVICE_TITLE := OpenMesh A40/A60
DEVICE_PACKAGES := om-watchdog kmod-ath10k ath10k-firmware-qca988x \
mod-usb-core kmod-usb2
endef
LEGACY_DEVICES += A60
define LegacyDevice/ALFANX
DEVICE_TITLE := ALFA Network N2/N5 board
endef
@@ -469,7 +476,7 @@ endef
LEGACY_DEVICES += WPN824N
define LegacyDevice/OM2P
DEVICE_TITLE := OpenMesh OM2P/OM2Pv2/OM2P-HS/OM2P-HSv2/OM2P-HSv3/OM2P-LC
DEVICE_TITLE := OpenMesh OM2P/OM2P-HS/OM2P-LC
DEVICE_PACKAGES := om-watchdog
endef
LEGACY_DEVICES += OM2P
@@ -481,7 +488,7 @@ endef
LEGACY_DEVICES += OM5P
define LegacyDevice/OM5PAC
DEVICE_TITLE := OpenMesh OM5P-AC/OM5P-ACv2
DEVICE_TITLE := OpenMesh OM5P-AC
DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x om-watchdog
endef
LEGACY_DEVICES += OM5PAC
@@ -493,14 +500,14 @@ endef
LEGACY_DEVICES += MR600
define LegacyDevice/MR900
DEVICE_TITLE := OpenMesh MR900/MR900v2
DEVICE_TITLE := OpenMesh MR900
DEVICE_PACKAGES := om-watchdog
endef
LEGACY_DEVICES += MR900
define LegacyDevice/MR1750
DEVICE_TITLE := OpenMesh MR1750/MR1750v2
DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
DEVICE_TITLE := OpenMesh MR1750
DEVICE_PACKAGES := om-watchdog kmod-ath10k ath10k-firmware-qca988x
endef
LEGACY_DEVICES += MR1750

View File

@@ -984,6 +984,7 @@ $(eval $(call SingleProfile,Netgear,64kraw,REALWNR1000V2,wnr1000v2,WNR1000V2,tty
$(eval $(call SingleProfile,Netgear,64kraw,WNR1000V2_VC,wnr1000v2-vc,WNR1000V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31303030,WNR1000V2-VC,"",))
$(eval $(call SingleProfile,Netgear,64kraw,WPN824N,wpn824n,WPN824N,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31313030,WPN824N,"" NA,))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,A60,a60,,,,A60))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,OM2P,om2p,,,,OM2P))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,OM5P,om5p,,,,OM5P))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,OM5PAC,om5pac,,,,OM5PAC))

View File

@@ -1,5 +1,6 @@
define Device/mikrotik
PROFILES := Default
DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport nand-utils
BOARD_NAME := routerboard
KERNEL_INITRAMFS :=
KERNEL_NAME := loader-generic.elf
@@ -25,6 +26,7 @@ TARGET_DEVICES += nand-64m nand-large
define Device/rb-nor-flash-16M
DEVICE_TITLE := MikroTik RouterBoard with 16 MB NOR flash
DEVICE_PACKAGES := rbcfg
BLOCKSIZE := 64k
IMAGE_SIZE := 16000k
LOADER_TYPE := elf
@@ -38,8 +40,5 @@ endef
define Device/rb-941-2nd
$(Device/rb-nor-flash-16M)
DEVICE_TITLE := hAP lite
DEVICE_PACKAGES:= rbcfg
BOARDNAME:= rb-941-2nd
endef
TARGET_DEVICES += rb-nor-flash-16M rb-941-2nd

View File

@@ -267,16 +267,16 @@
case IPV6_2292HOPOPTS:
--- a/net/ipv6/ip6_gre.c
+++ b/net/ipv6/ip6_gre.c
@@ -394,7 +394,7 @@ static void ip6gre_err(struct sk_buff *s
@@ -395,7 +395,7 @@ static void ip6gre_err(struct sk_buff *s
return;
ipv6h = (const struct ipv6hdr *)skb->data;
greh = (const struct gre_base_hdr *)(skb->data + offset);
- key = key_off ? *(__be32 *)(skb->data + key_off) : 0;
+ key = key_off ? net_hdr_word((__be32 *)(skb->data + key_off)) : 0;
t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr,
flags & GRE_KEY ?
- *(((__be32 *)p) + (grehlen / 4) - 1) : 0,
+ net_hdr_word(((__be32 *)p) + (grehlen / 4) - 1) : 0,
p[1]);
if (!t)
return;
@@ -476,11 +476,11 @@ static int ip6gre_rcv(struct sk_buff *sk
key, greh->protocol);
@@ -479,11 +479,11 @@ static int ip6gre_rcv(struct sk_buff *sk
offset += 4;
}
if (flags&GRE_KEY) {
@@ -290,7 +290,7 @@
offset += 4;
}
}
@@ -742,7 +742,7 @@ static netdev_tx_t ip6gre_xmit2(struct s
@@ -745,7 +745,7 @@ static netdev_tx_t ip6gre_xmit2(struct s
if (tunnel->parms.o_flags&GRE_SEQ) {
++tunnel->o_seqno;
@@ -299,7 +299,7 @@
ptr--;
}
if (tunnel->parms.o_flags&GRE_KEY) {
@@ -838,7 +838,7 @@ static inline int ip6gre_xmit_ipv6(struc
@@ -841,7 +841,7 @@ static inline int ip6gre_xmit_ipv6(struc
dsfield = ipv6_get_dsfield(ipv6h);
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
@@ -310,7 +310,7 @@
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -1397,7 +1397,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
@@ -1407,7 +1407,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
dsfield = ipv6_get_dsfield(ipv6h);
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)

View File

@@ -1,31 +0,0 @@
From: Jo-Philipp Wich <jo@mein.io>
Date: Tue, 7 Feb 2017 09:26:00 +0100
Subject: [PATCH] arc: revert broken upstream change
The upstream commit
"9aed02f ARC: [arcompact] handle unaligned access delay slot corner case"
introduced a syntax error in arch/arc/kernel/unaligned.c, leading to the
following build failure:
arch/arc/kernel/unaligned.c: In function 'misaligned_fixup':
arch/arc/kernel/unaligned.c:246:25: error: expected ';' before '~' token
regs->ret = regs->bta ~1U;
^
make[6]: *** [arch/arc/kernel/unaligned.o] Error 1
This patch reverts the offending change until an upstream fix is available.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
--- a/arch/arc/kernel/unaligned.c
+++ b/arch/arc/kernel/unaligned.c
@@ -241,9 +241,8 @@ int misaligned_fixup(unsigned long addre
if (state.fault)
goto fault;
- /* clear any remanants of delay slot */
if (delay_mode(regs)) {
- regs->ret = regs->bta ~1U;
+ regs->ret = regs->bta;
regs->status32 &= ~STATUS_DE_MASK;
} else {
regs->ret += state.instr_len;

View File

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
ARCH:=mipsel
BOARD:=au1000
BOARDNAME:=RMI/AMD AU1x00
FEATURES:=squashfs usb pci
FEATURES:=squashfs usb pci source-only
SUBTARGETS:=au1500 au1550
MAINTAINER:=Florian Fainelli <florian@openwrt.org>

View File

@@ -3,6 +3,7 @@
# Copyright (C) 2011 OpenWrt.org
#
. /lib/functions/system.sh
. /lib/functions/uci-defaults.sh
board_config_update

View File

@@ -300,7 +300,7 @@ TARGET_DEVICES += asus-wl-500gp-v2
define Device/asus-wl-500w
DEVICE_TITLE := Asus WL-500W
DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
DEVICE_PACKAGES := kmod-b43 kmod-usb-uhci kmod-usb2-pci
$(Device/asus)
PRODUCTID := "WL500W "
endef

View File

@@ -0,0 +1,38 @@
From: Mirko Parthey <mirko.parthey@web.de>
Subject: [PATCH] MIPS: bcm47xx: Fix button inversion for Asus WL-500W
The Asus WL-500W buttons are active high,
but the software treats them as active low.
Fix the inverted logic.
Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
---
arch/mips/bcm47xx/buttons.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
--- a/arch/mips/bcm47xx/buttons.c
+++ b/arch/mips/bcm47xx/buttons.c
@@ -17,6 +17,12 @@
.active_low = 1, \
}
+#define BCM47XX_GPIO_KEY_H(_gpio, _code) \
+ { \
+ .code = _code, \
+ .gpio = _gpio, \
+ }
+
/* Asus */
static const struct gpio_keys_button
@@ -79,8 +85,8 @@ bcm47xx_buttons_asus_wl500gpv2[] __initc
static const struct gpio_keys_button
bcm47xx_buttons_asus_wl500w[] __initconst = {
- BCM47XX_GPIO_KEY(6, KEY_RESTART),
- BCM47XX_GPIO_KEY(7, KEY_WPS_BUTTON),
+ BCM47XX_GPIO_KEY_H(6, KEY_RESTART),
+ BCM47XX_GPIO_KEY_H(7, KEY_WPS_BUTTON),
};
static const struct gpio_keys_button

View File

@@ -31,7 +31,7 @@
{{BCM47XX_BOARD_NETGEAR_WNR3500U, "Netgear WNR3500U"}, "U12H136T00_NETGEAR"},
--- a/arch/mips/bcm47xx/buttons.c
+++ b/arch/mips/bcm47xx/buttons.c
@@ -20,6 +20,12 @@
@@ -26,6 +26,12 @@
/* Asus */
static const struct gpio_keys_button
@@ -44,7 +44,7 @@
bcm47xx_buttons_asus_rtn12[] __initconst = {
BCM47XX_GPIO_KEY(0, KEY_WPS_BUTTON),
BCM47XX_GPIO_KEY(1, KEY_RESTART),
@@ -270,6 +276,18 @@ bcm47xx_buttons_linksys_wrt310nv1[] __in
@@ -276,6 +282,18 @@ bcm47xx_buttons_linksys_wrt310nv1[] __in
};
static const struct gpio_keys_button
@@ -63,7 +63,7 @@
bcm47xx_buttons_linksys_wrt54g3gv2[] __initconst = {
BCM47XX_GPIO_KEY(5, KEY_WIMAX),
BCM47XX_GPIO_KEY(6, KEY_RESTART),
@@ -378,6 +396,17 @@ bcm47xx_buttons_motorola_wr850gv2v3[] __
@@ -384,6 +402,17 @@ bcm47xx_buttons_motorola_wr850gv2v3[] __
/* Netgear */
static const struct gpio_keys_button
@@ -81,7 +81,7 @@
bcm47xx_buttons_netgear_wndr3400v1[] __initconst = {
BCM47XX_GPIO_KEY(4, KEY_RESTART),
BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON),
@@ -405,6 +434,11 @@ bcm47xx_buttons_netgear_wndr4500v1[] __i
@@ -411,6 +440,11 @@ bcm47xx_buttons_netgear_wndr4500v1[] __i
};
static const struct gpio_keys_button
@@ -93,7 +93,7 @@
bcm47xx_buttons_netgear_wnr3500lv1[] __initconst = {
BCM47XX_GPIO_KEY(4, KEY_RESTART),
BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON),
@@ -458,6 +492,9 @@ int __init bcm47xx_buttons_register(void
@@ -464,6 +498,9 @@ int __init bcm47xx_buttons_register(void
int err;
switch (board) {
@@ -103,7 +103,7 @@
case BCM47XX_BOARD_ASUS_RTN12:
err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_rtn12);
break;
@@ -588,6 +625,12 @@ int __init bcm47xx_buttons_register(void
@@ -594,6 +631,12 @@ int __init bcm47xx_buttons_register(void
case BCM47XX_BOARD_LINKSYS_WRT310NV1:
err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt310nv1);
break;
@@ -116,7 +116,7 @@
case BCM47XX_BOARD_LINKSYS_WRT54G3GV2:
err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54g3gv2);
break;
@@ -651,6 +694,12 @@ int __init bcm47xx_buttons_register(void
@@ -657,6 +700,12 @@ int __init bcm47xx_buttons_register(void
err = bcm47xx_copy_bdata(bcm47xx_buttons_motorola_wr850gv2v3);
break;
@@ -129,7 +129,7 @@
case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1);
break;
@@ -663,6 +712,9 @@ int __init bcm47xx_buttons_register(void
@@ -669,6 +718,9 @@ int __init bcm47xx_buttons_register(void
case BCM47XX_BOARD_NETGEAR_WNDR4500V1:
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr4500v1);
break;

View File

@@ -36,7 +36,7 @@
compatible = "simple-bus";
ext_intc: interrupt-controller@10000018 {
compatible = "brcm,bcm6345-ext-intc";
compatible = "brcm,bcm6318-ext-intc";
reg = <0x10000018 0x4>;
interrupt-controller;

View File

@@ -40,4 +40,12 @@
linux,code = <KEY_WPS_BUTTON>;
};
};
switch {
compatible = "realtek,rtl8367";
gpio-sda = <&gpio0 18 0>;
gpio-sck = <&gpio0 20 0>;
realtek,extif0 = <1 5 1 1 1 1 1 1 2>;
};
};

View File

@@ -71,7 +71,7 @@ void board_init(void)
if ((prid & 0xff) == 0x04)
chipid_reg = 0xfff8c000;
else if ((prid & 0xff) == 0x70)
chipid_reg = 0xb4e00000;
return; /* FIXME: 0002a070 can be 6362 and 3380 */
else if ((prid & 0xff) >= 0x30)
chipid_reg = 0xb0000000;
else

View File

@@ -1,25 +0,0 @@
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -207,6 +207,9 @@ int __init board_register_devices(void)
bcm63xx_hsspi_register();
+ if (board.num_devs)
+ platform_add_devices(board.devs, board.num_devs);
+
bcm63xx_flash_register();
bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds);
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -53,6 +53,10 @@ struct board_info {
/* External PHY reset GPIO flags from gpio.h */
unsigned long ephy_reset_gpio_flags;
+
+ /* Additional platform devices */
+ struct platform_device **devs;
+ unsigned int num_devs;
};
#endif /* ! BOARD_BCM963XX_H_ */

View File

@@ -8,9 +8,9 @@
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
@@ -210,6 +211,9 @@ int __init board_register_devices(void)
if (board.num_devs)
platform_add_devices(board.devs, board.num_devs);
@@ -207,6 +208,9 @@ int __init board_register_devices(void)
bcm63xx_hsspi_register();
+ if (board.num_spis)
+ spi_register_board_info(board.spis, board.num_spis);
@@ -20,10 +20,10 @@
bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds);
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -57,6 +57,10 @@ struct board_info {
/* Additional platform devices */
struct platform_device **devs;
unsigned int num_devs;
@@ -53,6 +53,10 @@ struct board_info {
/* External PHY reset GPIO flags from gpio.h */
unsigned long ephy_reset_gpio_flags;
+
+ /* Additional platform devices */
+ struct spi_board_info *spis;

View File

@@ -23,7 +23,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+
+Required properties:
+
+- compatible: Should be "brcm,bcm6345-ext-intc".
+- compatible: Should be "brcm,bcm6345-ext-intc" or "brcm,bcm6318-ext-intc".
+- reg: Specifies the base physical addresses and size of the registers.
+- interrupt-controller: identifies the node as an interrupt controller.
+- #interrupt-cells: Specifies the number of cells needed to encode an interrupt
@@ -73,7 +73,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
obj-$(CONFIG_METAG) += irq-metag-ext.o
--- /dev/null
+++ b/drivers/irqchip/irq-bcm6345-ext.c
@@ -0,0 +1,288 @@
@@ -0,0 +1,301 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
@@ -119,6 +119,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+ int parent_irq[MAX_IRQS];
+ void __iomem *reg;
+ int shift;
+ unsigned int toggle_clear_on_ack:1;
+};
+
+static void bcm6345_ext_intc_irq_handle(struct irq_desc *desc)
@@ -148,8 +149,10 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+
+ raw_spin_lock(&priv->lock);
+ reg = __raw_readl(priv->reg);
+ reg |= 1 << (hwirq + EXTIRQ_CFG_CLEAR * priv->shift);
+ __raw_writel(reg, priv->reg);
+ __raw_writel(reg | (1 << (hwirq + EXTIRQ_CFG_CLEAR * priv->shift)),
+ priv->reg);
+ if (priv->toggle_clear_on_ack)
+ __raw_writel(reg, priv->reg);
+ raw_spin_unlock(&priv->lock);
+}
+
@@ -263,7 +266,8 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+
+static int __init __bcm6345_ext_intc_init(struct device_node *node,
+ int num_irqs, int *irqs,
+ void __iomem *reg, int shift)
+ void __iomem *reg, int shift,
+ bool toggle_clear_on_ack)
+{
+ struct intc_data *data;
+ unsigned int i;
@@ -284,6 +288,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+
+ data->reg = reg;
+ data->shift = shift;
+ data->toggle_clear_on_ack = toggle_clear_on_ack;
+
+ data->chip.name = "bcm6345-ext-intc";
+ data->chip.irq_ack = bcm6345_ext_intc_irq_ack;
@@ -314,7 +319,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+void __init bcm6345_ext_intc_init(int num_irqs, int *irqs, void __iomem *reg,
+ int shift)
+{
+ __bcm6345_ext_intc_init(NULL, num_irqs, irqs, reg, shift);
+ __bcm6345_ext_intc_init(NULL, num_irqs, irqs, reg, shift, false);
+}
+
+#ifdef CONFIG_OF
@@ -326,6 +331,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+ void __iomem *base;
+ int irqs[MAX_IRQS] = { 0 };
+ u32 shift;
+ bool toggle_clear_on_ack = false;
+
+ num_irqs = of_irq_count(node);
+
@@ -335,6 +341,10 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+ if (of_property_read_u32(node, "brcm,field-width", &shift))
+ shift = 4;
+
+ /* on BCM6318 setting CLEAR seems to continuously mask interrupts */
+ if (of_device_is_compatible(node, "brcm,bcm6318-ext-intc"))
+ toggle_clear_on_ack = true;
+
+ for (i = 0; i < num_irqs; i++) {
+ irqs[i] = irq_of_parse_and_map(node, i);
+ if (!irqs[i]) {
@@ -347,7 +357,8 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+ if (!base)
+ goto out_unmap;
+
+ ret = __bcm6345_ext_intc_init(node, num_irqs, irqs, base, shift);
+ ret = __bcm6345_ext_intc_init(node, num_irqs, irqs, base, shift,
+ toggle_clear_on_ack);
+ if (!ret)
+ return 0;
+out_unmap:
@@ -359,6 +370,8 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+ return ret;
+}
+
+IRQCHIP_DECLARE(bcm6318_ext_intc, "brcm,bcm6318-ext-intc",
+ bcm6345_ext_intc_of_init);
+IRQCHIP_DECLARE(bcm6345_ext_intc, "brcm,bcm6345-ext-intc",
+ bcm6345_ext_intc_of_init);
+#endif

View File

@@ -91,5 +91,5 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+ struct fallback_sprom_data fallback_sprom;
+
/* Additional platform devices */
struct platform_device **devs;
unsigned int num_devs;
struct spi_board_info *spis;
unsigned int num_spis;

View File

@@ -54,7 +54,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
if (strncmp(board_name, bcm963xx_boards[i]->name, 16))
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -250,3 +250,21 @@ int __init board_register_devices(void)
@@ -247,3 +247,21 @@ int __init board_register_devices(void)
return 0;
}

View File

@@ -26,7 +26,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -258,9 +258,10 @@ int __init board_register_devices(void)
@@ -255,9 +255,10 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_leds);

View File

@@ -0,0 +1,28 @@
From: Jonas Gorski <jonas.gorski@gmail.com>
Subject: [PATCH] net: bcm63xx_enet: fully reset ephy
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
drivers/net/ethernet/broadcom/bcm63xx_enet.c | 4 ++--
1 file changed, 2 insertions(+), , 1 deletions(-)
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
@@ -2857,7 +2857,7 @@ static int bcm_enet_shared_probe(struct
memset(bcm_enet_shared_base, 0, sizeof(bcm_enet_shared_base));
- ephy_reset = devm_gpiod_get_optional(&pdev->dev, "ephy-reset", GPIOD_ASIS);
+ ephy_reset = devm_gpiod_get_optional(&pdev->dev, "ephy-reset", GPIOD_OUT_HIGH);
if (IS_ERR(ephy_reset))
return PTR_ERR(ephy_reset);
@@ -2871,7 +2871,7 @@ static int bcm_enet_shared_probe(struct
memcpy(bcm_enet_shared_base, p, sizeof(bcm_enet_shared_base));
if (ephy_reset)
- gpiod_direction_output(ephy_reset, 0);
+ gpiod_set_value(ephy_reset, 0);
return 0;
}

View File

@@ -26,7 +26,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
#if CONFIG_OF
if (of_have_populated_dt()) {
@@ -265,6 +267,10 @@ int __init board_register_devices(void)
@@ -262,6 +264,10 @@ int __init board_register_devices(void)
board.ephy_reset_gpio_flags);
}

View File

@@ -11,7 +11,7 @@ Subject: [PATCH 69/80] MIPS: BCM63XX: pass caldata info to flash
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -255,7 +255,7 @@ int __init board_register_devices(void)
@@ -252,7 +252,7 @@ int __init board_register_devices(void)
if (board.num_spis)
spi_register_board_info(board.spis, board.num_spis);

View File

@@ -39,7 +39,7 @@
return;
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -269,7 +269,8 @@ int __init board_register_devices(void)
@@ -266,7 +266,8 @@ int __init board_register_devices(void)
/* register any fixups */
for (i = 0; i < board.has_caldata; i++)

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -270,7 +270,7 @@ int __init board_register_devices(void)
@@ -267,7 +267,7 @@ int __init board_register_devices(void)
/* register any fixups */
for (i = 0; i < board.has_caldata; i++)
pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,

View File

@@ -36,7 +36,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
#include "board_common.h"
@@ -268,9 +269,19 @@ int __init board_register_devices(void)
@@ -265,9 +266,19 @@ int __init board_register_devices(void)
}
/* register any fixups */

View File

@@ -1,61 +1,10 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -12,6 +12,8 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/string.h>
+#include <linux/platform_device.h>
+#include <linux/rtl8367.h>
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
@@ -27,6 +29,9 @@
#define HCS_OFFSET_128K 0x20000
+#define NB6_GPIO_RTL8367_SDA 18
+#define NB6_GPIO_RTL8367_SCK 20
+
/*
* known 3368 boards
*/
@@ -1315,6 +1320,69 @@ static struct board_info __initdata boar
@@ -1315,6 +1315,34 @@ static struct board_info __initdata boar
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
+#ifdef CONFIG_BCM63XX_CPU_6362
+static struct rtl8367_extif_config nb6_rtl8367_extif0_cfg = {
+ .mode = RTL8367_EXTIF_MODE_RGMII,
+ .txdelay = 1,
+ .rxdelay = 5,
+ .ability = {
+ .force_mode = 1,
+ .txpause = 1,
+ .rxpause = 1,
+ .link = 1,
+ .duplex = 1,
+ .speed = RTL8367_PORT_SPEED_1000,
+ },
+};
+
+static struct rtl8367_platform_data nb6_rtl8367_data = {
+ .gpio_sda = NB6_GPIO_RTL8367_SDA,
+ .gpio_sck = NB6_GPIO_RTL8367_SCK,
+ .extif0_cfg = &nb6_rtl8367_extif0_cfg,
+};
+
+static struct platform_device nb6_rtl8367_device = {
+ .name = RTL8367_DRIVER_NAME,
+ .id = -1,
+ .dev = {
+ .platform_data = &nb6_rtl8367_data,
+ }
+};
+
+static struct platform_device * __initdata nb6_devices[] = {
+ &nb6_rtl8367_device,
+};
+
+static struct board_info __initdata board_nb6 = {
+ .name = "NB6",
+ .expected_cpu_id = 0x6362,
@@ -80,16 +29,13 @@
+ },
+ },
+ },
+
+ .devs = nb6_devices,
+ .num_devs = ARRAY_SIZE(nb6_devices),
+};
+#endif /* CONFIG_BCM63XX_CPU_6362 */
+
/*
* known 6368 boards
*/
@@ -1466,6 +1534,10 @@ static const struct board_info __initcon
@@ -1466,6 +1494,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
@@ -100,7 +46,7 @@
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -1534,6 +1606,9 @@ static struct of_device_id const bcm963x
@@ -1534,6 +1566,9 @@ static struct of_device_id const bcm963x
{ .compatible = "t-com,spw303v", .data = &board_spw303v, },
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -765,6 +765,23 @@ static struct board_info __initdata boar
@@ -760,6 +760,23 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -24,7 +24,7 @@
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
@@ -1505,6 +1522,7 @@ static const struct board_info __initcon
@@ -1465,6 +1482,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
@@ -32,7 +32,7 @@
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
@@ -1580,6 +1598,7 @@ static struct of_device_id const bcm963x
@@ -1540,6 +1558,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -174,6 +174,50 @@ static struct board_info __initdata boar
@@ -169,6 +169,50 @@ static struct board_info __initdata boar
},
};
@@ -51,7 +51,7 @@
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
@@ -1503,6 +1547,7 @@ static const struct board_info __initcon
@@ -1463,6 +1507,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
@@ -59,7 +59,7 @@
&board_dsl_274xb_f1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
@@ -1568,6 +1613,7 @@ static struct of_device_id const bcm963x
@@ -1528,6 +1573,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -139,6 +139,79 @@ static struct board_info __initdata boar
@@ -134,6 +134,79 @@ static struct board_info __initdata boar
},
};
@@ -80,7 +80,7 @@
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
@@ -1546,6 +1619,7 @@ static const struct board_info __initcon
@@ -1506,6 +1579,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -88,7 +88,7 @@
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
@@ -1616,6 +1690,7 @@ static struct of_device_id const bcm963x
@@ -1576,6 +1650,7 @@ static struct of_device_id const bcm963x
{ .compatible = "adb,a4001n1", .data = &board_A4001N1, },
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -139,6 +139,61 @@ static struct board_info __initdata boar
@@ -134,6 +134,61 @@ static struct board_info __initdata boar
},
};
@@ -62,7 +62,7 @@
static struct sprom_fixup __initdata ar5387un_fixups[] = {
{ .offset = 2, .value = 0x05bb },
{ .offset = 65, .value = 0x1204 },
@@ -1619,6 +1674,7 @@ static const struct board_info __initcon
@@ -1579,6 +1634,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -70,7 +70,7 @@
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
@@ -1690,6 +1746,7 @@ static struct of_device_id const bcm963x
@@ -1650,6 +1706,7 @@ static struct of_device_id const bcm963x
{ .compatible = "adb,a4001n1", .data = &board_A4001N1, },
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -525,6 +525,22 @@ static struct board_info __initdata boar
@@ -520,6 +520,22 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
@@ -23,7 +23,7 @@
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
@@ -1688,6 +1704,7 @@ static const struct board_info __initcon
@@ -1648,6 +1664,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
@@ -31,7 +31,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
@@ -1758,6 +1775,7 @@ static struct of_device_id const bcm963x
@@ -1718,6 +1735,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
{ .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },

View File

@@ -5,10 +5,10 @@
#include <linux/kernel.h>
#include <linux/string.h>
+#include <linux/pci_ids.h>
#include <linux/platform_device.h>
#include <linux/rtl8367.h>
#include <asm/addrspace.h>
@@ -1479,6 +1480,95 @@ static struct board_info __initdata boar
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
@@ -1474,6 +1475,95 @@ static struct board_info __initdata boar
},
};
@@ -104,7 +104,7 @@
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
@@ -1740,6 +1830,9 @@ static const struct board_info __initcon
@@ -1700,6 +1790,9 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
@@ -114,7 +114,7 @@
&board_spw303v,
&board_DVAG3810BN,
#endif
@@ -1812,6 +1905,9 @@ static struct of_device_id const bcm963x
@@ -1772,6 +1865,9 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
{ .compatible = "huawei,hg553", .data = &board_HW553, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -542,6 +542,27 @@ static struct board_info __initdata boar
@@ -537,6 +537,27 @@ static struct board_info __initdata boar
.force_duplex_full = 1,
},
};
@@ -28,7 +28,7 @@
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
@@ -1795,6 +1816,7 @@ static const struct board_info __initcon
@@ -1755,6 +1776,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
@@ -36,7 +36,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
@@ -1869,6 +1891,7 @@ static struct of_device_id const bcm963x
@@ -1829,6 +1851,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6345
{ .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
{ .compatible = "dynalink,rta770bw", .data = &board_rta770bw, },

View File

@@ -12,7 +12,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -392,6 +392,44 @@ static struct board_info __initdata boar
@@ -387,6 +387,44 @@ static struct board_info __initdata boar
},
},
};
@@ -57,7 +57,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
@@ -1806,6 +1844,7 @@ static const struct board_info __initcon
@@ -1766,6 +1804,7 @@ static const struct board_info __initcon
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
@@ -65,7 +65,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
@@ -1881,6 +1920,7 @@ static struct of_device_id const bcm963x
@@ -1841,6 +1880,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
{ .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
{ .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },

View File

@@ -6,9 +6,9 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1735,6 +1735,43 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
@@ -1695,6 +1695,43 @@ static struct board_info __initdata boar
},
},
};
+
+static struct board_info __initdata board_fast2504n = {
@@ -50,7 +50,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
#endif /* CONFIG_BCM63XX_CPU_6362 */
/*
@@ -1900,6 +1937,7 @@ static const struct board_info __initcon
@@ -1860,6 +1897,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6362
&board_nb6,
@@ -58,7 +58,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
@@ -1981,6 +2019,7 @@ static struct of_device_id const bcm963x
@@ -1941,6 +1979,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6362

View File

@@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -52,14 +52,6 @@ static struct board_info __initdata boar
@@ -47,14 +47,6 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
@@ -24,7 +24,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
.ephy_reset_gpio = 36,
.ephy_reset_gpio_flags = GPIO_ACTIVE_LOW,
};
@@ -83,35 +75,6 @@ static struct board_info __initdata boar
@@ -78,35 +70,6 @@ static struct board_info __initdata boar
.port_no = 0,
},
@@ -60,7 +60,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
.has_enetsw = 1,
.enetsw = {
@@ -450,35 +413,6 @@ static struct board_info __initdata boar
@@ -445,35 +408,6 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
@@ -96,7 +96,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_96338w = {
@@ -493,35 +427,6 @@ static struct board_info __initdata boar
@@ -488,35 +422,6 @@ static struct board_info __initdata boar
.force_speed_100 = 1,
.force_duplex_full = 1,
},
@@ -132,7 +132,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_96338w2_e7t = {
@@ -620,36 +525,6 @@ static struct board_info __initdata boar
@@ -615,36 +520,6 @@ static struct board_info __initdata boar
.has_phy = 1,
.use_internal_phy = 1,
},
@@ -169,7 +169,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_96348gw_10 = {
@@ -684,35 +559,6 @@ static struct board_info __initdata boar
@@ -679,35 +554,6 @@ static struct board_info __initdata boar
.cs = 2,
.ext_irq = 2,
},
@@ -205,7 +205,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_96348gw_11 = {
@@ -741,35 +587,6 @@ static struct board_info __initdata boar
@@ -736,35 +582,6 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
@@ -241,7 +241,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
@@ -895,35 +712,6 @@ static struct board_info __initdata boar
@@ -890,35 +707,6 @@ static struct board_info __initdata boar
.ext_irq = 2,
.cs = 2,
},
@@ -277,7 +277,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_gw6200 = {
@@ -1260,33 +1048,6 @@ static struct board_info __initdata boar
@@ -1255,33 +1043,6 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
@@ -311,7 +311,7 @@ Subject: [PATCH] MIPS: BCM63XX: remove leds and buttons
};
static struct board_info __initdata board_96358vw2 = {
@@ -1316,29 +1077,6 @@ static struct board_info __initdata boar
@@ -1311,29 +1072,6 @@ static struct board_info __initdata boar
.has_pccard = 1,
.has_ehci0 = 1,
.num_usbh_ports = 2,

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -58,6 +58,56 @@ static struct board_info __initdata boar
@@ -53,6 +53,56 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_3368 */
/*
@@ -57,7 +57,7 @@
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
@@ -1612,6 +1662,9 @@ static const struct board_info __initcon
@@ -1572,6 +1622,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
@@ -67,7 +67,7 @@
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5381u,
@@ -1689,6 +1742,9 @@ static struct of_device_id const bcm963x
@@ -1649,6 +1702,9 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_3368
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -105,6 +105,51 @@ static struct board_info __initdata boar
@@ -100,6 +100,51 @@ static struct board_info __initdata boar
},
},
};
@@ -52,7 +52,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
@@ -1664,6 +1709,7 @@ static const struct board_info __initcon
@@ -1624,6 +1669,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
@@ -60,7 +60,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -1744,6 +1790,7 @@ static struct of_device_id const bcm963x
@@ -1704,6 +1750,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1701,6 +1701,52 @@ static struct board_info __initdata boar
@@ -1661,6 +1661,52 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
@@ -53,7 +53,7 @@
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
@@ -1781,6 +1827,9 @@ static const struct board_info __initcon
@@ -1741,6 +1787,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
@@ -63,7 +63,7 @@
};
static struct of_device_id const bcm963xx_boards_dt[] = {
@@ -1868,6 +1917,7 @@ static struct of_device_id const bcm963x
@@ -1828,6 +1877,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
#endif
#ifdef CONFIG_BCM63XX_CPU_63268

View File

@@ -8,7 +8,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -684,6 +684,22 @@ static struct board_info __initdata boar
@@ -679,6 +679,22 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -31,7 +31,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
/* BT Voyager 2110 */
static struct board_info __initdata board_V2110 = {
@@ -1798,6 +1814,7 @@ static const struct board_info __initcon
@@ -1758,6 +1774,7 @@ static const struct board_info __initcon
&board_96348A_122,
&board_CPVA502plus,
&board_96348W3,
@@ -39,7 +39,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
@@ -1862,6 +1879,7 @@ static struct of_device_id const bcm963x
@@ -1822,6 +1839,7 @@ static struct of_device_id const bcm963x
{ .compatible = "dynalink,rta770w", .data = &board_rta770w, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6348

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1760,6 +1760,53 @@ static struct board_info __initdata boar
@@ -1720,6 +1720,53 @@ static struct board_info __initdata boar
},
},
};
@@ -54,7 +54,7 @@
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
@@ -1846,6 +1893,7 @@ static const struct board_info __initcon
@@ -1806,6 +1853,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
@@ -62,7 +62,7 @@
#endif
};
@@ -1936,6 +1984,7 @@ static struct of_device_id const bcm963x
@@ -1896,6 +1944,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
{ .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1720,6 +1720,66 @@ static struct board_info __initdata boar
@@ -1680,6 +1680,66 @@ static struct board_info __initdata boar
* known 63268/63269 boards
*/
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -67,7 +67,7 @@
static struct board_info __initdata board_963269bhr = {
.name = "963269BHR",
.expected_cpu_id = 0x63268,
@@ -1892,6 +1952,7 @@ static const struct board_info __initcon
@@ -1852,6 +1912,7 @@ static const struct board_info __initcon
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -75,7 +75,7 @@
&board_963269bhr,
&board_vw6339gu,
#endif
@@ -1983,6 +2044,7 @@ static struct of_device_id const bcm963x
@@ -1943,6 +2004,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
#endif
#ifdef CONFIG_BCM63XX_CPU_63268

View File

@@ -1,16 +1,15 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -14,7 +14,9 @@
@@ -13,6 +13,8 @@
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/pci_ids.h>
#include <linux/platform_device.h>
+#include <linux/platform_data/b53.h>
#include <linux/rtl8367.h>
+#include <linux/spi/spi.h>
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
@@ -1714,6 +1716,65 @@ static struct board_info __initdata boar
@@ -1674,6 +1676,65 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
@@ -76,7 +75,7 @@
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
@@ -1950,6 +2011,7 @@ static const struct board_info __initcon
@@ -1910,6 +1971,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -84,7 +83,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963268bu_p300,
@@ -2042,6 +2104,7 @@ static struct of_device_id const bcm963x
@@ -2002,6 +2064,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1717,6 +1717,60 @@ static struct board_info __initdata boar
@@ -1677,6 +1677,60 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -61,7 +61,7 @@
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
@@ -2011,6 +2065,7 @@ static const struct board_info __initcon
@@ -1971,6 +2025,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -2104,6 +2159,7 @@ static struct of_device_id const bcm963x
@@ -2064,6 +2119,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1771,6 +1771,60 @@ static struct board_info __initdata boar
@@ -1731,6 +1731,60 @@ static struct board_info __initdata boar
},
};
@@ -61,7 +61,7 @@
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
@@ -2066,6 +2120,7 @@ static const struct board_info __initcon
@@ -2026,6 +2080,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
@@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -2160,6 +2215,7 @@ static struct of_device_id const bcm963x
@@ -2120,6 +2175,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1726,6 +1726,49 @@ static struct sprom_fixup __initdata vr3
@@ -1686,6 +1686,49 @@ static struct sprom_fixup __initdata vr3
{ .offset = 115, .value = 0xfad9 },
};
@@ -50,7 +50,7 @@
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
@@ -2119,6 +2162,7 @@ static const struct board_info __initcon
@@ -2079,6 +2122,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -58,7 +58,7 @@
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
@@ -2217,6 +2261,7 @@ static struct of_device_id const bcm963x
@@ -2177,6 +2221,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1362,6 +1362,37 @@ static struct board_info __initdata boar
@@ -1357,6 +1357,37 @@ static struct board_info __initdata boar
},
};
@@ -38,7 +38,7 @@
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
@@ -2146,6 +2177,7 @@ static const struct board_info __initcon
@@ -2106,6 +2137,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
@@ -46,7 +46,7 @@
&board_HW553,
&board_HW556_A,
&board_HW556_B,
@@ -2238,6 +2270,7 @@ static struct of_device_id const bcm963x
@@ -2198,6 +2230,7 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -363,6 +363,50 @@ static struct board_info __initdata boar
@@ -358,6 +358,50 @@ static struct board_info __initdata boar
},
};
@@ -51,7 +51,7 @@
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
.expected_cpu_id = 0x6328,
@@ -2128,6 +2172,7 @@ static const struct board_info __initcon
@@ -2088,6 +2132,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
@@ -59,7 +59,7 @@
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
@@ -2216,6 +2261,7 @@ static struct of_device_id const bcm963x
@@ -2176,6 +2221,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -152,6 +152,75 @@ static struct board_info __initdata boar
@@ -147,6 +147,75 @@ static struct board_info __initdata boar
},
},
};
@@ -76,7 +76,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
@@ -2166,6 +2235,7 @@ static const struct board_info __initcon
@@ -2126,6 +2195,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,
@@ -84,7 +84,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -2259,6 +2329,7 @@ static struct of_device_id const bcm963x
@@ -2219,6 +2289,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6318
{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1861,6 +1861,48 @@ static struct board_info __initdata boar
@@ -1821,6 +1821,48 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -49,7 +49,7 @@
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
@@ -2309,6 +2351,7 @@ static const struct board_info __initcon
@@ -2269,6 +2311,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -57,7 +57,7 @@
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
@@ -2411,6 +2454,7 @@ static struct of_device_id const bcm963x
@@ -2371,6 +2414,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1475,6 +1475,32 @@ static struct board_info __initdata boar
@@ -1470,6 +1470,32 @@ static struct board_info __initdata boar
},
};
@@ -33,7 +33,7 @@
static struct board_info __initdata board_HW520 = {
.name = "HW6358GW_B",
.expected_cpu_id = 0x6358,
@@ -2334,6 +2360,7 @@ static const struct board_info __initcon
@@ -2294,6 +2320,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
@@ -41,7 +41,7 @@
&board_HW520,
&board_HW553,
&board_HW556_A,
@@ -2443,6 +2470,7 @@ static struct of_device_id const bcm963x
@@ -2403,6 +2430,7 @@ static struct of_device_id const bcm963x
{ .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
{ .compatible = "t-com,spw303v", .data = &board_spw303v, },
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },

View File

@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1929,6 +1929,53 @@ static struct board_info __initdata boar
@@ -1889,6 +1889,53 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(DGND3700v1_3800B_spi_devices),
};
@@ -54,7 +54,7 @@
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
@@ -2379,6 +2426,7 @@ static const struct board_info __initcon
@@ -2339,6 +2386,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
@@ -62,7 +62,7 @@
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
@@ -2482,6 +2530,7 @@ static struct of_device_id const bcm963x
@@ -2442,6 +2490,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },

Some files were not shown because too many files have changed in this diff Show More