You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking updates from David Millar:
"Here are some highlights from the 2065 networking commits that
happened this development cycle:
1) XDP support for IXGBE (John Fastabend) and thunderx (Sunil Kowuri)
2) Add a generic XDP driver, so that anyone can test XDP even if they
lack a networking device whose driver has explicit XDP support
(me).
3) Sparc64 now has an eBPF JIT too (me)
4) Add a BPF program testing framework via BPF_PROG_TEST_RUN (Alexei
Starovoitov)
5) Make netfitler network namespace teardown less expensive (Florian
Westphal)
6) Add symmetric hashing support to nft_hash (Laura Garcia Liebana)
7) Implement NAPI and GRO in netvsc driver (Stephen Hemminger)
8) Support TC flower offload statistics in mlxsw (Arkadi Sharshevsky)
9) Multiqueue support in stmmac driver (Joao Pinto)
10) Remove TCP timewait recycling, it never really could possibly work
well in the real world and timestamp randomization really zaps any
hint of usability this feature had (Soheil Hassas Yeganeh)
11) Support level3 vs level4 ECMP route hashing in ipv4 (Nikolay
Aleksandrov)
12) Add socket busy poll support to epoll (Sridhar Samudrala)
13) Netlink extended ACK support (Johannes Berg, Pablo Neira Ayuso,
and several others)
14) IPSEC hw offload infrastructure (Steffen Klassert)"
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2065 commits)
tipc: refactor function tipc_sk_recv_stream()
tipc: refactor function tipc_sk_recvmsg()
net: thunderx: Optimize page recycling for XDP
net: thunderx: Support for XDP header adjustment
net: thunderx: Add support for XDP_TX
net: thunderx: Add support for XDP_DROP
net: thunderx: Add basic XDP support
net: thunderx: Cleanup receive buffer allocation
net: thunderx: Optimize CQE_TX handling
net: thunderx: Optimize RBDR descriptor handling
net: thunderx: Support for page recycling
ipx: call ipxitf_put() in ioctl error path
net: sched: add helpers to handle extended actions
qed*: Fix issues in the ptp filter config implementation.
qede: Fix concurrency issue in PTP Tx path processing.
stmmac: Add support for SIMATIC IOT2000 platform
net: hns: fix ethtool_get_strings overflow in hns driver
tcp: fix wraparound issue in tcp_lp
bpf, arm64: fix jit branch offset related to ldimm64
bpf, arm64: implement jiting of BPF_XADD
...
This commit is contained in:
@@ -21,3 +21,30 @@ Description:
|
||||
is responsible for coordination of driver and firmware
|
||||
link framing mode, changing this setting to 'Y' if the
|
||||
firmware is configured for 'raw-ip' mode.
|
||||
|
||||
What: /sys/class/net/<iface>/qmi/add_mux
|
||||
Date: March 2017
|
||||
KernelVersion: 4.11
|
||||
Contact: Bjørn Mork <bjorn@mork.no>
|
||||
Description:
|
||||
Unsigned integer.
|
||||
|
||||
Write a number ranging from 1 to 127 to add a qmap mux
|
||||
based network device, supported by recent Qualcomm based
|
||||
modems.
|
||||
|
||||
The network device will be called qmimux.
|
||||
|
||||
Userspace is in charge of managing the qmux network device
|
||||
activation and data stream setup on the modem side by
|
||||
using the proper QMI protocol requests.
|
||||
|
||||
What: /sys/class/net/<iface>/qmi/del_mux
|
||||
Date: March 2017
|
||||
KernelVersion: 4.11
|
||||
Contact: Bjørn Mork <bjorn@mork.no>
|
||||
Description:
|
||||
Unsigned integer.
|
||||
|
||||
Write a number ranging from 1 to 127 to delete a previously
|
||||
created qmap mux based network device.
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
|
||||
Required properties:
|
||||
- compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2",
|
||||
"brcm,genet-v3", "brcm,genet-v4".
|
||||
"brcm,genet-v3", "brcm,genet-v4", "brcm,genet-v5".
|
||||
- reg: address and length of the register set for the device
|
||||
- interrupts: must be two cells, the first cell is the general purpose
|
||||
interrupt line, while the second cell is the interrupt for the ring
|
||||
RX and TX queues operating in ring mode
|
||||
- interrupts and/or interrupts-extended: must be two cells, the first cell
|
||||
is the general purpose interrupt line, while the second cell is the
|
||||
interrupt for the ring RX and TX queues operating in ring mode. An
|
||||
optional third interrupt cell for Wake-on-LAN can be specified.
|
||||
See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||||
for information on the property specifics.
|
||||
- phy-mode: see ethernet.txt file in the same directory
|
||||
- #address-cells: should be 1
|
||||
- #size-cells: should be 1
|
||||
@@ -29,15 +32,15 @@ Optional properties:
|
||||
|
||||
Required child nodes:
|
||||
|
||||
- mdio bus node: this node should always be present regarless of the PHY
|
||||
- mdio bus node: this node should always be present regardless of the PHY
|
||||
configuration of the GENET instance
|
||||
|
||||
MDIO bus node required properties:
|
||||
|
||||
- compatible: should contain one of "brcm,genet-mdio-v1", "brcm,genet-mdio-v2"
|
||||
"brcm,genet-mdio-v3", "brcm,genet-mdio-v4", the version has to match the
|
||||
parent node compatible property (e.g: brcm,genet-v4 pairs with
|
||||
brcm,genet-mdio-v4)
|
||||
"brcm,genet-mdio-v3", "brcm,genet-mdio-v4", "brcm,genet-mdio-v5", the version
|
||||
has to match the parent node compatible property (e.g: brcm,genet-v4 pairs
|
||||
with brcm,genet-mdio-v4)
|
||||
- reg: address and length relative to the parent node base register address
|
||||
- #address-cells: address cell for MDIO bus addressing, should be 1
|
||||
- #size-cells: size of the cells for MDIO bus addressing, should be 0
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
|
||||
Required properties:
|
||||
- compatible: should one from "brcm,genet-mdio-v1", "brcm,genet-mdio-v2",
|
||||
"brcm,genet-mdio-v3", "brcm,genet-mdio-v4" or "brcm,unimac-mdio"
|
||||
- reg: address and length of the regsiter set for the device, first one is the
|
||||
"brcm,genet-mdio-v3", "brcm,genet-mdio-v4", "brcm,genet-mdio-v5" or
|
||||
"brcm,unimac-mdio"
|
||||
- reg: address and length of the register set for the device, first one is the
|
||||
base register, and the second one is optional and for indirect accesses to
|
||||
larger than 16-bits MDIO transactions
|
||||
- reg-names: name(s) of the register must be "mdio" and optional "mdio_indir_rw"
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
* Holt HI-311X stand-alone CAN controller device tree bindings
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be one of the following:
|
||||
- "holt,hi3110" for HI-3110
|
||||
- reg: SPI chip select.
|
||||
- clocks: The clock feeding the CAN controller.
|
||||
- interrupt-parent: The parent interrupt controller.
|
||||
- interrupts: Should contain IRQ line for the CAN controller.
|
||||
|
||||
Optional properties:
|
||||
- vdd-supply: Regulator that powers the CAN controller.
|
||||
- xceiver-supply: Regulator that powers the CAN transceiver.
|
||||
|
||||
Example:
|
||||
can0: can@1 {
|
||||
compatible = "holt,hi3110";
|
||||
reg = <1>;
|
||||
clocks = <&clk32m>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <13 IRQ_TYPE_EDGE_RISING>;
|
||||
vdd-supply = <®5v0>;
|
||||
xceiver-supply = <®5v0>;
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
Texas Instruments High End CAN Controller (HECC)
|
||||
================================================
|
||||
|
||||
This file provides information, what the device node
|
||||
for the hecc interface contains.
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,am3517-hecc"
|
||||
- reg: addresses and lengths of the register spaces for 'hecc', 'hecc-ram'
|
||||
and 'mbx'
|
||||
- reg-names :"hecc", "hecc-ram", "mbx"
|
||||
- interrupts: interrupt mapping for the hecc interrupts sources
|
||||
- clocks: clock phandles (see clock bindings for details)
|
||||
|
||||
Optional properties:
|
||||
- ti,use-hecc1int: if provided configures HECC to produce all interrupts
|
||||
on HECC1INT interrupt line. By default HECC0INT interrupt
|
||||
line will be used.
|
||||
- xceiver-supply: regulator that powers the CAN transceiver
|
||||
|
||||
Example:
|
||||
|
||||
For am3517evm board:
|
||||
hecc: can@5c050000 {
|
||||
compatible = "ti,am3517-hecc";
|
||||
reg = <0x5c050000 0x80>,
|
||||
<0x5c053000 0x180>,
|
||||
<0x5c052000 0x200>;
|
||||
reg-names = "hecc", "hecc-ram", "mbx";
|
||||
interrupts = <24>;
|
||||
clocks = <&hecc_ck>;
|
||||
};
|
||||
@@ -0,0 +1,105 @@
|
||||
SMSC/MicroChip LAN9303 three port ethernet switch
|
||||
-------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be
|
||||
- "smsc,lan9303-i2c" for I2C managed mode
|
||||
or
|
||||
- "smsc,lan9303-mdio" for mdio managed mode
|
||||
|
||||
Optional properties:
|
||||
|
||||
- reset-gpios: GPIO to be used to reset the whole device
|
||||
- reset-duration: reset duration in milliseconds, defaults to 200 ms
|
||||
|
||||
Subnodes:
|
||||
|
||||
The integrated switch subnode should be specified according to the binding
|
||||
described in dsa/dsa.txt. The CPU port of this switch is always port 0.
|
||||
|
||||
Note: always use 'reg = <0/1/2>;' for the three DSA ports, even if the device is
|
||||
configured to use 1/2/3 instead. This hardware configuration will be
|
||||
auto-detected and mapped accordingly.
|
||||
|
||||
Example:
|
||||
|
||||
I2C managed mode:
|
||||
|
||||
master: masterdevice@X {
|
||||
status = "okay";
|
||||
|
||||
fixed-link { /* RMII fixed link to LAN9303 */
|
||||
speed = <100>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
switch: switch@a {
|
||||
compatible = "smsc,lan9303-i2c";
|
||||
reg = <0xa>;
|
||||
status = "okay";
|
||||
reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
|
||||
reset-duration = <200>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 { /* RMII fixed link to master */
|
||||
reg = <0>;
|
||||
label = "cpu";
|
||||
ethernet = <&master>;
|
||||
};
|
||||
|
||||
port@1 { /* external port 1 */
|
||||
reg = <1>;
|
||||
label = "lan1;
|
||||
};
|
||||
|
||||
port@2 { /* external port 2 */
|
||||
reg = <2>;
|
||||
label = "lan2";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
MDIO managed mode:
|
||||
|
||||
master: masterdevice@X {
|
||||
status = "okay";
|
||||
phy-handle = <&switch>;
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
switch: switch-phy@0 {
|
||||
compatible = "smsc,lan9303-mdio";
|
||||
reg = <0>;
|
||||
reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
|
||||
reset-duration = <100>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "cpu";
|
||||
ethernet = <&master>;
|
||||
};
|
||||
|
||||
port@1 { /* external port 1 */
|
||||
reg = <1>;
|
||||
label = "lan1;
|
||||
};
|
||||
|
||||
port@2 { /* external port 2 */
|
||||
reg = <2>;
|
||||
label = "lan2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,92 @@
|
||||
Mediatek MT7530 Ethernet switch
|
||||
================================
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: Must be compatible = "mediatek,mt7530";
|
||||
- #address-cells: Must be 1.
|
||||
- #size-cells: Must be 0.
|
||||
- mediatek,mcm: Boolean; if defined, indicates that either MT7530 is the part
|
||||
on multi-chip module belong to MT7623A has or the remotely standalone
|
||||
chip as the function MT7623N reference board provided for.
|
||||
- core-supply: Phandle to the regulator node necessary for the core power.
|
||||
- io-supply: Phandle to the regulator node necessary for the I/O power.
|
||||
See Documentation/devicetree/bindings/regulator/mt6323-regulator.txt
|
||||
for details for the regulator setup on these boards.
|
||||
|
||||
If the property mediatek,mcm isn't defined, following property is required
|
||||
|
||||
- reset-gpios: Should be a gpio specifier for a reset line.
|
||||
|
||||
Else, following properties are required
|
||||
|
||||
- resets : Phandle pointing to the system reset controller with
|
||||
line index for the ethsys.
|
||||
- reset-names : Should be set to "mcm".
|
||||
|
||||
Required properties for the child nodes within ports container:
|
||||
|
||||
- reg: Port address described must be 6 for CPU port and from 0 to 5 for
|
||||
user ports.
|
||||
- phy-mode: String, must be either "trgmii" or "rgmii" for port labeled
|
||||
"cpu".
|
||||
|
||||
See Documentation/devicetree/bindings/dsa/dsa.txt for a list of additional
|
||||
required, optional properties and how the integrated switch subnodes must
|
||||
be specified.
|
||||
|
||||
Example:
|
||||
|
||||
&mdio0 {
|
||||
switch@0 {
|
||||
compatible = "mediatek,mt7530";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
core-supply = <&mt6323_vpa_reg>;
|
||||
io-supply = <&mt6323_vemc3v3_reg>;
|
||||
reset-gpios = <&pio 33 0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "lan0";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
port@4 {
|
||||
reg = <4>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
port@6 {
|
||||
reg = <6>;
|
||||
label = "cpu";
|
||||
ethernet = <&gmac0>;
|
||||
phy-mode = "trgmii";
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,35 @@
|
||||
* Faraday Technology FTGMAC100 gigabit ethernet controller
|
||||
|
||||
Required properties:
|
||||
- compatible: "faraday,ftgmac100"
|
||||
|
||||
Must also contain one of these if used as part of an Aspeed AST2400
|
||||
or 2500 family SoC as they have some subtle tweaks to the
|
||||
implementation:
|
||||
|
||||
- "aspeed,ast2400-mac"
|
||||
- "aspeed,ast2500-mac"
|
||||
|
||||
- reg: Address and length of the register set for the device
|
||||
- interrupts: Should contain ethernet controller interrupt
|
||||
|
||||
Optional properties:
|
||||
- phy-mode: See ethernet.txt file in the same directory. If the property is
|
||||
absent, "rgmii" is assumed. Supported values are "rgmii*" and "rmii" for
|
||||
aspeed parts. Other (unknown) parts will accept any value.
|
||||
- use-ncsi: Use the NC-SI stack instead of an MDIO PHY. Currently assumes
|
||||
rmii (100bT) but kept as a separate property in case NC-SI grows support
|
||||
for a gigabit link.
|
||||
- no-hw-checksum: Used to disable HW checksum support. Here for backward
|
||||
compatibility as the driver now should have correct defaults based on
|
||||
the SoC.
|
||||
|
||||
Example:
|
||||
|
||||
mac0: ethernet@1e660000 {
|
||||
compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
|
||||
reg = <0x1e660000 0x180>;
|
||||
interrupts = <2>;
|
||||
status = "okay";
|
||||
use-ncsi;
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
* CA8210 IEEE 802.15.4 *
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "cascoda,ca8210"
|
||||
- reg: Controlling chip select
|
||||
- spi-max-frequency: Maximum clock speed, should be *less than*
|
||||
4000000
|
||||
- spi-cpol: Requires inverted clock polarity
|
||||
- reset-gpio: GPIO attached to reset
|
||||
- irq-gpio: GPIO attached to IRQ
|
||||
Optional properties:
|
||||
- extclock-enable: Include for the ca8210 to route its 16MHz clock
|
||||
to an output
|
||||
- extclock-freq: Frequency in Hz of the external clock
|
||||
- extclock-gpio: GPIO of the ca8210 to output the clock on
|
||||
|
||||
Example:
|
||||
ca8210@0 {
|
||||
compatible = "cascoda,ca8210";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <3000000>;
|
||||
spi-cpol;
|
||||
reset-gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;
|
||||
irq-gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
|
||||
extclock-enable;
|
||||
extclock-freq = 16000000;
|
||||
extclock-gpio = 2;
|
||||
};
|
||||
@@ -7,17 +7,20 @@ interface.
|
||||
|
||||
Required properties:
|
||||
- compatible: "marvell,orion-mdio"
|
||||
- reg: address and length of the SMI register
|
||||
- reg: address and length of the MDIO registers. When an interrupt is
|
||||
not present, the length is the size of the SMI register (4 bytes)
|
||||
otherwise it must be 0x84 bytes to cover the interrupt control
|
||||
registers.
|
||||
|
||||
Optional properties:
|
||||
- interrupts: interrupt line number for the SMI error/done interrupt
|
||||
- clocks: Phandle to the clock control device and gate bit
|
||||
- clocks: phandle for up to three required clocks for the MDIO instance
|
||||
|
||||
The child nodes of the MDIO driver are the individual PHY devices
|
||||
connected to this MDIO bus. They must have a "reg" property given the
|
||||
PHY address on the MDIO bus.
|
||||
|
||||
Example at the SoC level:
|
||||
Example at the SoC level without an interrupt property:
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
@@ -26,6 +29,16 @@ mdio {
|
||||
reg = <0xd0072004 0x4>;
|
||||
};
|
||||
|
||||
Example with an interrupt property:
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "marvell,orion-mdio";
|
||||
reg = <0xd0072004 0x84>;
|
||||
interrupts = <30>;
|
||||
};
|
||||
|
||||
And at the board level:
|
||||
|
||||
mdio {
|
||||
|
||||
@@ -1,17 +1,28 @@
|
||||
* Marvell Armada 375 Ethernet Controller (PPv2)
|
||||
* Marvell Armada 375 Ethernet Controller (PPv2.1)
|
||||
Marvell Armada 7K/8K Ethernet Controller (PPv2.2)
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be "marvell,armada-375-pp2"
|
||||
- compatible: should be one of:
|
||||
"marvell,armada-375-pp2"
|
||||
"marvell,armada-7k-pp2"
|
||||
- reg: addresses and length of the register sets for the device.
|
||||
Must contain the following register sets:
|
||||
For "marvell,armada-375-pp2", must contain the following register
|
||||
sets:
|
||||
- common controller registers
|
||||
- LMS registers
|
||||
In addition, at least one port register set is required.
|
||||
- clocks: a pointer to the reference clocks for this device, consequently:
|
||||
- main controller clock
|
||||
- GOP clock
|
||||
- clock-names: names of used clocks, must be "pp_clk" and "gop_clk".
|
||||
- one register area per Ethernet port
|
||||
For "marvell,armada-7k-pp2", must contain the following register
|
||||
sets:
|
||||
- packet processor registers
|
||||
- networking interfaces registers
|
||||
|
||||
- clocks: pointers to the reference clocks for this device, consequently:
|
||||
- main controller clock (for both armada-375-pp2 and armada-7k-pp2)
|
||||
- GOP clock (for both armada-375-pp2 and armada-7k-pp2)
|
||||
- MG clock (only for armada-7k-pp2)
|
||||
- clock-names: names of used clocks, must be "pp_clk", "gop_clk" and
|
||||
"mg_clk" (the latter only for armada-7k-pp2).
|
||||
|
||||
The ethernet ports are represented by subnodes. At least one port is
|
||||
required.
|
||||
@@ -19,8 +30,10 @@ required.
|
||||
Required properties (port):
|
||||
|
||||
- interrupts: interrupt for the port
|
||||
- port-id: should be '0' or '1' for ethernet ports, and '2' for the
|
||||
loopback port
|
||||
- port-id: ID of the port from the MAC point of view
|
||||
- gop-port-id: only for marvell,armada-7k-pp2, ID of the port from the
|
||||
GOP (Group Of Ports) point of view. This ID is used to index the
|
||||
per-port registers in the second register area.
|
||||
- phy-mode: See ethernet.txt file in the same directory
|
||||
|
||||
Optional properties (port):
|
||||
@@ -29,7 +42,7 @@ Optional properties (port):
|
||||
- phy: a phandle to a phy node defining the PHY address (as the reg
|
||||
property, a single integer).
|
||||
|
||||
Example:
|
||||
Example for marvell,armada-375-pp2:
|
||||
|
||||
ethernet@f0000 {
|
||||
compatible = "marvell,armada-375-pp2";
|
||||
@@ -57,3 +70,30 @@ ethernet@f0000 {
|
||||
phy-mode = "gmii";
|
||||
};
|
||||
};
|
||||
|
||||
Example for marvell,armada-7k-pp2:
|
||||
|
||||
cpm_ethernet: ethernet@0 {
|
||||
compatible = "marvell,armada-7k-pp22";
|
||||
reg = <0x0 0x100000>, <0x129000 0xb000>;
|
||||
clocks = <&cpm_syscon0 1 3>, <&cpm_syscon0 1 9>, <&cpm_syscon0 1 5>;
|
||||
clock-names = "pp_clk", "gop_clk", "gp_clk";
|
||||
|
||||
eth0: eth0 {
|
||||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
port-id = <0>;
|
||||
gop-port-id = <0>;
|
||||
};
|
||||
|
||||
eth1: eth1 {
|
||||
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
|
||||
port-id = <1>;
|
||||
gop-port-id = <2>;
|
||||
};
|
||||
|
||||
eth2: eth2 {
|
||||
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
|
||||
port-id = <2>;
|
||||
gop-port-id = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
Common MDIO bus properties.
|
||||
|
||||
These are generic properties that can apply to any MDIO bus.
|
||||
|
||||
Optional properties:
|
||||
- reset-gpios: One GPIO that control the RESET lines of all PHYs on that MDIO
|
||||
bus.
|
||||
- reset-delay-us: RESET pulse width in microseconds.
|
||||
|
||||
A list of child nodes, one per device on the bus is expected. These
|
||||
should follow the generic phy.txt, or a device specific binding document.
|
||||
|
||||
The 'reset-delay-us' indicates the RESET signal pulse width in microseconds and
|
||||
applies to all PHY devices. It must therefore be appropriately determined based
|
||||
on all PHY requirements (maximum value of all per-PHY RESET pulse widths).
|
||||
|
||||
Example :
|
||||
This example shows these optional properties, plus other properties
|
||||
required for the TI Davinci MDIO driver.
|
||||
|
||||
davinci_mdio: ethernet@0x5c030000 {
|
||||
compatible = "ti,davinci_mdio";
|
||||
reg = <0x5c030000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
|
||||
reset-delay-us = <2>;
|
||||
|
||||
ethphy0: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
ethphy1: ethernet-phy@3 {
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
@@ -5,8 +5,8 @@ Required properties:
|
||||
- spi-max-frequency: Maximum SPI frequency (<= 2000000).
|
||||
- interrupt-parent: phandle of parent interrupt handler.
|
||||
- interrupts: A single interrupt specifier.
|
||||
- ti,enable-gpios: Two GPIO entries used for 'EN' and 'EN2' pins on the
|
||||
TRF7970A.
|
||||
- ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins on the
|
||||
TRF7970A. EN2 is optional.
|
||||
- vin-supply: Regulator for supply voltage to VIN pin
|
||||
|
||||
Optional SoC Specific Properties:
|
||||
@@ -21,6 +21,8 @@ Optional SoC Specific Properties:
|
||||
- t5t-rmb-extra-byte-quirk: Specify that the trf7970a has the erratum
|
||||
where an extra byte is returned by Read Multiple Block commands issued
|
||||
to Type 5 tags.
|
||||
- vdd-io-supply: Regulator specifying voltage for vdd-io
|
||||
- clock-frequency: Set to specify that the input frequency to the trf7970a is 13560000Hz or 27120000Hz
|
||||
|
||||
Example (for ARM-based BeagleBone with TRF7970A on SPI1):
|
||||
|
||||
@@ -39,10 +41,12 @@ Example (for ARM-based BeagleBone with TRF7970A on SPI1):
|
||||
<&gpio2 5 GPIO_ACTIVE_LOW>;
|
||||
vin-supply = <&ldo3_reg>;
|
||||
vin-voltage-override = <5000000>;
|
||||
vdd-io-supply = <&ldo2_reg>;
|
||||
autosuspend-delay = <30000>;
|
||||
irq-status-read-quirk;
|
||||
en2-rf-quirk;
|
||||
t5t-rmb-extra-byte-quirk;
|
||||
clock-frequency = <27120000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
Nokia Bluetooth Chips
|
||||
---------------------
|
||||
|
||||
Nokia phones often come with UART connected bluetooth chips from different
|
||||
vendors and modified device API. Those devices speak a protocol named H4+
|
||||
(also known as h4p) by Nokia, which is similar to the H4 protocol from the
|
||||
Bluetooth standard. In addition to the H4 protocol it specifies two more
|
||||
UART status lines for wakeup of UART transceivers to improve power management
|
||||
and a few new packet types used to negotiate uart speed.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should contain "nokia,h4p-bluetooth" as well as one of the following:
|
||||
* "brcm,bcm2048-nokia"
|
||||
* "ti,wl1271-bluetooth-nokia"
|
||||
- reset-gpios: GPIO specifier, used to reset the BT module (active low)
|
||||
- bluetooth-wakeup-gpios: GPIO specifier, used to wakeup the BT module (active high)
|
||||
- host-wakeup-gpios: GPIO specifier, used to wakeup the host processor (active high)
|
||||
- clock-names: should be "sysclk"
|
||||
- clocks: should contain a clock specifier for every name in clock-names
|
||||
|
||||
Optional properties:
|
||||
|
||||
- None
|
||||
|
||||
Example:
|
||||
|
||||
/ {
|
||||
/* controlled (enabled/disabled) directly by BT module */
|
||||
bluetooth_clk: vctcxo {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <38400000>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart2_pins>;
|
||||
|
||||
bluetooth {
|
||||
compatible = "ti,wl1271-bluetooth-nokia", "nokia,h4p-bluetooth";
|
||||
|
||||
reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; /* gpio26 */
|
||||
host-wakeup-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* gpio101 */
|
||||
bluetooth-wakeup-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* gpio37 */
|
||||
|
||||
clocks = <&bluetooth_clk>;
|
||||
clock-names = "sysclk";
|
||||
};
|
||||
};
|
||||
@@ -7,9 +7,12 @@ Required properties:
|
||||
- interrupt-parent: Should be the phandle for the interrupt controller
|
||||
that services interrupts for this device
|
||||
- interrupts: Should contain the STMMAC interrupts
|
||||
- interrupt-names: Should contain the interrupt names "macirq"
|
||||
"eth_wake_irq" if this interrupt is supported in the "interrupts"
|
||||
property
|
||||
- interrupt-names: Should contain a list of interrupt names corresponding to
|
||||
the interrupts in the interrupts property, if available.
|
||||
Valid interrupt names are:
|
||||
- "macirq" (combined signal for various interrupt events)
|
||||
- "eth_wake_irq" (the interrupt to manage the remote wake-up packet detection)
|
||||
- "eth_lpi" (the interrupt that occurs when Tx or Rx enters/exits LPI state)
|
||||
- phy-mode: See ethernet.txt file in the same directory.
|
||||
- snps,reset-gpio gpio number for phy reset.
|
||||
- snps,reset-active-low boolean flag to indicate if phy reset is active low.
|
||||
@@ -28,9 +31,9 @@ Optional properties:
|
||||
clocks may be specified in derived bindings.
|
||||
- clock-names: One name for each entry in the clocks property, the
|
||||
first one should be "stmmaceth" and the second one should be "pclk".
|
||||
- clk_ptp_ref: this is the PTP reference clock; in case of the PTP is
|
||||
available this clock is used for programming the Timestamp Addend Register.
|
||||
If not passed then the system clock will be used and this is fine on some
|
||||
- ptp_ref: this is the PTP reference clock; in case of the PTP is available
|
||||
this clock is used for programming the Timestamp Addend Register. If not
|
||||
passed then the system clock will be used and this is fine on some
|
||||
platforms.
|
||||
- tx-fifo-depth: See ethernet.txt file in the same directory
|
||||
- rx-fifo-depth: See ethernet.txt file in the same directory
|
||||
@@ -72,7 +75,45 @@ Optional properties:
|
||||
- snps,mb: mixed-burst
|
||||
- snps,rb: rebuild INCRx Burst
|
||||
- mdio: with compatible = "snps,dwmac-mdio", create and register mdio bus.
|
||||
|
||||
- Multiple RX Queues parameters: below the list of all the parameters to
|
||||
configure the multiple RX queues:
|
||||
- snps,rx-queues-to-use: number of RX queues to be used in the driver
|
||||
- Choose one of these RX scheduling algorithms:
|
||||
- snps,rx-sched-sp: Strict priority
|
||||
- snps,rx-sched-wsp: Weighted Strict priority
|
||||
- For each RX queue
|
||||
- Choose one of these modes:
|
||||
- snps,dcb-algorithm: Queue to be enabled as DCB
|
||||
- snps,avb-algorithm: Queue to be enabled as AVB
|
||||
- snps,map-to-dma-channel: Channel to map
|
||||
- Specifiy specific packet routing:
|
||||
- snps,route-avcp: AV Untagged Control packets
|
||||
- snps,route-ptp: PTP Packets
|
||||
- snps,route-dcbcp: DCB Control Packets
|
||||
- snps,route-up: Untagged Packets
|
||||
- snps,route-multi-broad: Multicast & Broadcast Packets
|
||||
- snps,priority: RX queue priority (Range: 0x0 to 0xF)
|
||||
- Multiple TX Queues parameters: below the list of all the parameters to
|
||||
configure the multiple TX queues:
|
||||
- snps,tx-queues-to-use: number of TX queues to be used in the driver
|
||||
- Choose one of these TX scheduling algorithms:
|
||||
- snps,tx-sched-wrr: Weighted Round Robin
|
||||
- snps,tx-sched-wfq: Weighted Fair Queuing
|
||||
- snps,tx-sched-dwrr: Deficit Weighted Round Robin
|
||||
- snps,tx-sched-sp: Strict priority
|
||||
- For each TX queue
|
||||
- snps,weight: TX queue weight (if using a DCB weight algorithm)
|
||||
- Choose one of these modes:
|
||||
- snps,dcb-algorithm: TX queue will be working in DCB
|
||||
- snps,avb-algorithm: TX queue will be working in AVB
|
||||
[Attention] Queue 0 is reserved for legacy traffic
|
||||
and so no AVB is available in this queue.
|
||||
- Configure Credit Base Shaper (if AVB Mode selected):
|
||||
- snps,send_slope: enable Low Power Interface
|
||||
- snps,idle_slope: unlock on WoL
|
||||
- snps,high_credit: max write outstanding req. limit
|
||||
- snps,low_credit: max read outstanding req. limit
|
||||
- snps,priority: TX queue priority (Range: 0x0 to 0xF)
|
||||
Examples:
|
||||
|
||||
stmmac_axi_setup: stmmac-axi-config {
|
||||
@@ -81,12 +122,41 @@ Examples:
|
||||
snps,blen = <256 128 64 32 0 0 0>;
|
||||
};
|
||||
|
||||
mtl_rx_setup: rx-queues-config {
|
||||
snps,rx-queues-to-use = <1>;
|
||||
snps,rx-sched-sp;
|
||||
queue0 {
|
||||
snps,dcb-algorithm;
|
||||
snps,map-to-dma-channel = <0x0>;
|
||||
snps,priority = <0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
mtl_tx_setup: tx-queues-config {
|
||||
snps,tx-queues-to-use = <2>;
|
||||
snps,tx-sched-wrr;
|
||||
queue0 {
|
||||
snps,weight = <0x10>;
|
||||
snps,dcb-algorithm;
|
||||
snps,priority = <0x0>;
|
||||
};
|
||||
|
||||
queue1 {
|
||||
snps,avb-algorithm;
|
||||
snps,send_slope = <0x1000>;
|
||||
snps,idle_slope = <0x1000>;
|
||||
snps,high_credit = <0x3E800>;
|
||||
snps,low_credit = <0xFFC18000>;
|
||||
snps,priority = <0x1>;
|
||||
};
|
||||
};
|
||||
|
||||
gmac0: ethernet@e0800000 {
|
||||
compatible = "st,spear600-gmac";
|
||||
reg = <0xe0800000 0x8000>;
|
||||
interrupt-parent = <&vic1>;
|
||||
interrupts = <24 23>;
|
||||
interrupt-names = "macirq", "eth_wake_irq";
|
||||
interrupts = <24 23 22>;
|
||||
interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
|
||||
mac-address = [000000000000]; /* Filled in by U-Boot */
|
||||
max-frame-size = <3800>;
|
||||
phy-mode = "gmii";
|
||||
@@ -104,4 +174,6 @@ Examples:
|
||||
phy1: ethernet-phy@0 {
|
||||
};
|
||||
};
|
||||
snps,mtl-rx-config = <&mtl_rx_setup>;
|
||||
snps,mtl-tx-config = <&mtl_tx_setup>;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
TI WiLink 7/8 (wl12xx/wl18xx) Shared Transport BT/FM/GPS devices
|
||||
|
||||
TI WiLink devices have a UART interface for providing Bluetooth, FM radio,
|
||||
and GPS over what's called "shared transport". The shared transport is
|
||||
standard BT HCI protocol with additional channels for the other functions.
|
||||
|
||||
These devices also have a separate WiFi interface as described in
|
||||
wireless/ti,wlcore.txt.
|
||||
|
||||
This bindings follows the UART slave device binding in
|
||||
../serial/slave-device.txt.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of the following:
|
||||
"ti,wl1271-st"
|
||||
"ti,wl1273-st"
|
||||
"ti,wl1831-st"
|
||||
"ti,wl1835-st"
|
||||
"ti,wl1837-st"
|
||||
|
||||
Optional properties:
|
||||
- enable-gpios : GPIO signal controlling enabling of BT. Active high.
|
||||
- vio-supply : Vio input supply (1.8V)
|
||||
- vbat-supply : Vbat input supply (2.9-4.8V)
|
||||
|
||||
Example:
|
||||
|
||||
&serial0 {
|
||||
compatible = "ns16550a";
|
||||
...
|
||||
bluetooth {
|
||||
compatible = "ti,wl1835-st";
|
||||
enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
@@ -51,6 +51,7 @@ brcm Broadcom Corporation
|
||||
buffalo Buffalo, Inc.
|
||||
calxeda Calxeda
|
||||
capella Capella Microsystems, Inc
|
||||
cascoda Cascoda, Ltd.
|
||||
cavium Cavium, Inc.
|
||||
cdns Cadence Design Systems Inc.
|
||||
ceva Ceva, Inc.
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
cfg80211 subsystem
|
||||
==================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Introduction
|
||||
|
||||
Device registration
|
||||
===================
|
||||
|
||||
@@ -179,6 +182,12 @@ Actions and configuration
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ibss_joined
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_resp_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_done
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_result
|
||||
|
||||
|
||||
@@ -595,10 +595,9 @@ got from bpf_prog_create(), and 'ctx' the given context (e.g.
|
||||
skb pointer). All constraints and restrictions from bpf_check_classic() apply
|
||||
before a conversion to the new layout is being done behind the scenes!
|
||||
|
||||
Currently, the classic BPF format is being used for JITing on most of the
|
||||
architectures. x86-64, aarch64 and s390x perform JIT compilation from eBPF
|
||||
instruction set, however, future work will migrate other JIT compilers as well,
|
||||
so that they will profit from the very same benefits.
|
||||
Currently, the classic BPF format is being used for JITing on most 32-bit
|
||||
architectures, whereas x86-64, aarch64, s390x, powerpc64, sparc64 perform JIT
|
||||
compilation from eBPF instruction set.
|
||||
|
||||
Some core changes of the new internal format:
|
||||
|
||||
|
||||
@@ -63,6 +63,78 @@ Additional Configurations
|
||||
The latest release of ethtool can be found from
|
||||
https://www.kernel.org/pub/software/network/ethtool
|
||||
|
||||
|
||||
Flow Director n-ntuple traffic filters (FDir)
|
||||
---------------------------------------------
|
||||
The driver utilizes the ethtool interface for configuring ntuple filters,
|
||||
via "ethtool -N <device> <filter>".
|
||||
|
||||
The sctp4, ip4, udp4, and tcp4 flow types are supported with the standard
|
||||
fields including src-ip, dst-ip, src-port and dst-port. The driver only
|
||||
supports fully enabling or fully masking the fields, so use of the mask
|
||||
fields for partial matches is not supported.
|
||||
|
||||
Additionally, the driver supports using the action to specify filters for a
|
||||
Virtual Function. You can specify the action as a 64bit value, where the
|
||||
lower 32 bits represents the queue number, while the next 8 bits represent
|
||||
which VF. Note that 0 is the PF, so the VF identifier is offset by 1. For
|
||||
example:
|
||||
|
||||
... action 0x800000002 ...
|
||||
|
||||
Would indicate to direct traffic for Virtual Function 7 (8 minus 1) on queue
|
||||
2 of that VF.
|
||||
|
||||
The driver also supports using the user-defined field to specify 2 bytes of
|
||||
arbitrary data to match within the packet payload in addition to the regular
|
||||
fields. The data is specified in the lower 32bits of the user-def field in
|
||||
the following way:
|
||||
|
||||
+----------------------------+---------------------------+
|
||||
| 31 28 24 20 16 | 15 12 8 4 0|
|
||||
+----------------------------+---------------------------+
|
||||
| offset into packet payload | 2 bytes of flexible data |
|
||||
+----------------------------+---------------------------+
|
||||
|
||||
As an example,
|
||||
|
||||
... user-def 0x4FFFF ....
|
||||
|
||||
means to match the value 0xFFFF 4 bytes into the packet payload. Note that
|
||||
the offset is based on the beginning of the payload, and not the beginning
|
||||
of the packet. Thus
|
||||
|
||||
flow-type tcp4 ... user-def 0x8BEAF ....
|
||||
|
||||
would match TCP/IPv4 packets which have the value 0xBEAF 8bytes into the
|
||||
TCP/IPv4 payload.
|
||||
|
||||
For ICMP, the hardware parses the ICMP header as 4 bytes of header and 4
|
||||
bytes of payload, so if you want to match an ICMP frames payload you may need
|
||||
to add 4 to the offset in order to match the data.
|
||||
|
||||
Furthermore, the offset can only be up to a value of 64, as the hardware
|
||||
will only read up to 64 bytes of data from the payload. It must also be even
|
||||
as the flexible data is 2 bytes long and must be aligned to byte 0 of the
|
||||
packet payload.
|
||||
|
||||
When programming filters, the hardware is limited to using a single input
|
||||
set for each flow type. This means that it is an error to program two
|
||||
different filters with the same type that don't match on the same fields.
|
||||
Thus the second of the following two commands will fail:
|
||||
|
||||
ethtool -N <device> flow-type tcp4 src-ip 192.168.0.7 action 5
|
||||
ethtool -N <device> flow-type tcp4 dst-ip 192.168.15.18 action 1
|
||||
|
||||
This is because the first filter will be accepted and reprogram the input
|
||||
set for TCPv4 filters, but the second filter will be unable to reprogram the
|
||||
input set until all the conflicting TCPv4 filters are first removed.
|
||||
|
||||
Note that the user-defined flexible offset is also considered part of the
|
||||
input set and cannot be programmed separately for multiple filters of the
|
||||
same type. However, the flexible data is not part of the input set and
|
||||
multiple filters may use the same offset but match against different data.
|
||||
|
||||
Data Center Bridging (DCB)
|
||||
--------------------------
|
||||
DCB configuration is not currently supported.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user