mirror of
https://github.com/ukui/kernel.git
synced 2026-03-09 10:07:04 -07:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking updates from David Miller:
1) Platform regulatory domain support for ath10k, from Bartosz
Markowski.
2) Centralize min/max MTU checking, thus removing tons of duplicated
code all of the the various drivers. From Jarod Wilson.
3) Support ingress actions in act_mirred, from Shmulik Ladkani.
4) Improve device adjacency tracking, from David Ahern.
5) Add support for LED triggers on PHY link state changes, from Zach
Brown.
6) Improve UDP socket memory accounting, from Paolo Abeni.
7) Set SK_MEM_QUANTUM to a fixed size of 4096, instead of PAGE_SIZE.
From Eric Dumazet.
8) Collapse TCP SKBs at retransmit time even if the right side SKB has
frags. Also from Eric Dumazet.
9) Add IP_RECVFRAGSIZE and IPV6_RECVFRAGSIZE cmsgs, from Willem de
Bruijn.
10) Support routing by UID, from Lorenzo Colitti.
11) Handle L3 domain binding (ie. VRF) for RAW sockets, from David
Ahern.
12) tcp_get_info() can run lockless, from Eric Dumazet.
13) 4-tuple UDP hashing in SFC driver, from Edward Cree.
14) Avoid reorders in GRO code, from Eric Dumazet.
15) IPV6 Segment Routing support, from David Lebrun.
16) Support MPLS push and pop for L3 packets in openvswitch, from Jiri
Benc.
17) Add LRU datastructure support for BPF, Martin KaFai Lau.
18) VF support in liquidio driver, from Raghu Vatsavayi.
19) Multiqueue support in alx driver, from Tobias Regnery.
20) Networking cgroup BPF support, from Daniel Mack.
21) TCP chronograph measurements, from Francis Yan.
22) XDP support for qed driver, from Yuval Mintz.
23) BPF based lwtunnels, from Thomas Graf.
24) Consistent FIB dumping to offloading drivers, from Ido Schimmel.
25) Many optimizations for UDP under high load, from Eric Dumazet.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1522 commits)
netfilter: nft_counter: rework atomic dump and reset
e1000: use disable_hardirq() for e1000_netpoll()
i40e: don't truncate match_method assignment
net: ethernet: ti: netcp: add support of cpts
net: phy: phy drivers should not set SUPPORTED_[Asym_]Pause
net: l2tp: ppp: change PPPOL2TP_MSG_* => L2TP_MSG_*
net: l2tp: deprecate PPPOL2TP_MSG_* in favour of L2TP_MSG_*
net: l2tp: export debug flags to UAPI
net: ethernet: stmmac: remove private tx queue lock
net: ethernet: sxgbe: remove private tx queue lock
net: bridge: shorten ageing time on topology change
net: bridge: add helper to set topology change
net: bridge: add helper to offload ageing time
net: nicvf: use new api ethtool_{get|set}_link_ksettings
net: ethernet: ti: cpsw: sync rates for channels in dual emac mode
net: ethernet: ti: cpsw: re-split res only when speed is changed
net: ethernet: ti: cpsw: combine budget and weight split and check
net: ethernet: ti: cpsw: don't start queue twice
net: ethernet: ti: cpsw: use same macros to get active slave
net: mvneta: select GENERIC_ALLOCATOR
...
This commit is contained in:
@@ -2,11 +2,17 @@ Broadcom AMAC Ethernet Controller Device Tree Bindings
|
||||
-------------------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: "brcm,amac" or "brcm,nsp-amac"
|
||||
- reg: Address and length of the GMAC registers,
|
||||
Address and length of the GMAC IDM registers
|
||||
- reg-names: Names of the registers. Must have both "amac_base" and
|
||||
"idm_base"
|
||||
- compatible: "brcm,amac"
|
||||
"brcm,nsp-amac"
|
||||
"brcm,ns2-amac"
|
||||
- reg: Address and length of the register set for the device. It
|
||||
contains the information of registers in the same order as
|
||||
described by reg-names
|
||||
- reg-names: Names of the registers.
|
||||
"amac_base": Address and length of the GMAC registers
|
||||
"idm_base": Address and length of the GMAC IDM registers
|
||||
"nicpm_base": Address and length of the NIC Port Manager
|
||||
registers (required for Northstar2)
|
||||
- interrupts: Interrupt number
|
||||
|
||||
Optional properties:
|
||||
|
||||
@@ -10,6 +10,7 @@ Required properties:
|
||||
"renesas,can-r8a7793" if CAN controller is a part of R8A7793 SoC.
|
||||
"renesas,can-r8a7794" if CAN controller is a part of R8A7794 SoC.
|
||||
"renesas,can-r8a7795" if CAN controller is a part of R8A7795 SoC.
|
||||
"renesas,can-r8a7796" if CAN controller is a part of R8A7796 SoC.
|
||||
"renesas,rcar-gen1-can" for a generic R-Car Gen1 compatible device.
|
||||
"renesas,rcar-gen2-can" for a generic R-Car Gen2 compatible device.
|
||||
"renesas,rcar-gen3-can" for a generic R-Car Gen3 compatible device.
|
||||
@@ -24,11 +25,12 @@ Required properties:
|
||||
- pinctrl-0: pin control group to be used for this controller.
|
||||
- pinctrl-names: must be "default".
|
||||
|
||||
Required properties for "renesas,can-r8a7795" compatible:
|
||||
In R8A7795 SoC, "clkp2" can be CANFD clock. This is a div6 clock and can be
|
||||
used by both CAN and CAN FD controller at the same time. It needs to be scaled
|
||||
to maximum frequency if any of these controllers use it. This is done using
|
||||
the below properties.
|
||||
Required properties for "renesas,can-r8a7795" and "renesas,can-r8a7796"
|
||||
compatible:
|
||||
In R8A7795 and R8A7796 SoCs, "clkp2" can be CANFD clock. This is a div6 clock
|
||||
and can be used by both CAN and CAN FD controller at the same time. It needs to
|
||||
be scaled to maximum frequency if any of these controllers use it. This is done
|
||||
using the below properties:
|
||||
|
||||
- assigned-clocks: phandle of clkp2(CANFD) clock.
|
||||
- assigned-clock-rates: maximum frequency of this clock.
|
||||
|
||||
@@ -5,13 +5,14 @@ Required properties:
|
||||
- compatible: Must contain one or more of the following:
|
||||
- "renesas,rcar-gen3-canfd" for R-Car Gen3 compatible controller.
|
||||
- "renesas,r8a7795-canfd" for R8A7795 (R-Car H3) compatible controller.
|
||||
- "renesas,r8a7796-canfd" for R8A7796 (R-Car M3) compatible controller.
|
||||
|
||||
When compatible with the generic version, nodes must list the
|
||||
SoC-specific version corresponding to the platform first, followed by the
|
||||
family-specific and/or generic versions.
|
||||
|
||||
- reg: physical base address and size of the R-Car CAN FD register map.
|
||||
- interrupts: interrupt specifier for the Global & Channel interrupts
|
||||
- interrupts: interrupt specifiers for the Channel & Global interrupts
|
||||
- clocks: phandles and clock specifiers for 3 clock inputs.
|
||||
- clock-names: 3 clock input name strings: "fck", "canfd", "can_clk".
|
||||
- pinctrl-0: pin control group to be used for this controller.
|
||||
@@ -23,11 +24,12 @@ The name of the child nodes are "channel0" and "channel1" respectively. Each
|
||||
child node supports the "status" property only, which is used to
|
||||
enable/disable the respective channel.
|
||||
|
||||
Required properties for "renesas,r8a7795-canfd" compatible:
|
||||
In R8A7795 SoC, canfd clock is a div6 clock and can be used by both CAN
|
||||
and CAN FD controller at the same time. It needs to be scaled to maximum
|
||||
frequency if any of these controllers use it. This is done using the
|
||||
below properties.
|
||||
Required properties for "renesas,r8a7795-canfd" and "renesas,r8a7796-canfd"
|
||||
compatible:
|
||||
In R8A7795 and R8A7796 SoCs, canfd clock is a div6 clock and can be used by both
|
||||
CAN and CAN FD controller at the same time. It needs to be scaled to maximum
|
||||
frequency if any of these controllers use it. This is done using the below
|
||||
properties:
|
||||
|
||||
- assigned-clocks: phandle of canfd clock.
|
||||
- assigned-clock-rates: maximum frequency of this clock.
|
||||
|
||||
@@ -20,8 +20,6 @@ Required properties:
|
||||
- slaves : Specifies number for slaves
|
||||
- active_slave : Specifies the slave to use for time stamping,
|
||||
ethtool and SIOCGMIIPHY
|
||||
- cpts_clock_mult : Numerator to convert input clock ticks into nanoseconds
|
||||
- cpts_clock_shift : Denominator to convert input clock ticks into nanoseconds
|
||||
|
||||
Optional properties:
|
||||
- ti,hwmods : Must be "cpgmac0"
|
||||
@@ -35,7 +33,11 @@ Optional properties:
|
||||
For example in dra72x-evm, pcf gpio has to be
|
||||
driven low so that cpsw slave 0 and phy data
|
||||
lines are connected via mux.
|
||||
|
||||
- cpts_clock_mult : Numerator to convert input clock ticks into nanoseconds
|
||||
- cpts_clock_shift : Denominator to convert input clock ticks into nanoseconds
|
||||
Mult and shift will be calculated basing on CPTS
|
||||
rftclk frequency if both cpts_clock_shift and
|
||||
cpts_clock_mult properties are not provided.
|
||||
|
||||
Slave Properties:
|
||||
Required properties:
|
||||
|
||||
@@ -14,22 +14,42 @@ The properties described here are those specific to Marvell devices.
|
||||
Additional required and optional properties can be found in dsa.txt.
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be one of "marvell,mv88e6085",
|
||||
- compatible : Should be one of "marvell,mv88e6085" or
|
||||
"marvell,mv88e6190"
|
||||
- reg : Address on the MII bus for the switch.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- reset-gpios : Should be a gpio specifier for a reset line
|
||||
|
||||
- interrupt-parent : Parent interrupt controller
|
||||
- interrupts : Interrupt from the switch
|
||||
- interrupt-controller : Indicates the switch is itself an interrupt
|
||||
controller. This is used for the PHY interrupts.
|
||||
#interrupt-cells = <2> : Controller uses two cells, number and flag
|
||||
- mdio : container of PHY and devices on the switches MDIO
|
||||
bus
|
||||
Example:
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
switch0: switch@0 {
|
||||
compatible = "marvell,mv88e6085";
|
||||
reg = <0>;
|
||||
reset-gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
switch1phy0: switch1phy0@0 {
|
||||
reg = <0>;
|
||||
interrupt-parent = <&switch0>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
Hisilicon hix5hd2 gmac controller
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "hisilicon,hix5hd2-gmac".
|
||||
- compatible: should contain one of the following SoC strings:
|
||||
* "hisilicon,hix5hd2-gemac"
|
||||
* "hisilicon,hi3798cv200-gemac"
|
||||
and one of the following version string:
|
||||
* "hisilicon,hisi-gemac-v1"
|
||||
* "hisilicon,hisi-gemac-v2"
|
||||
- reg: specifies base physical address(s) and size of the device registers.
|
||||
The first region is the MAC register base and size.
|
||||
The second region is external interface control register.
|
||||
@@ -12,6 +17,16 @@ Required properties:
|
||||
- phy-handle: see ethernet.txt [1].
|
||||
- mac-address: see ethernet.txt [1].
|
||||
- clocks: clock phandle and specifier pair.
|
||||
- clock-names: contain the clock name "mac_core"(required) and "mac_ifc"(optional).
|
||||
- resets: should contain the phandle to the MAC core reset signal(optional),
|
||||
the MAC interface reset signal(optional)
|
||||
and the PHY reset signal(optional).
|
||||
- reset-names: contain the reset signal name "mac_core"(optional),
|
||||
"mac_ifc"(optional) and "phy"(optional).
|
||||
- hisilicon,phy-reset-delays-us: triplet of delays if PHY reset signal given.
|
||||
The 1st cell is reset pre-delay in micro seconds.
|
||||
The 2nd cell is reset pulse in micro seconds.
|
||||
The 3rd cell is reset post-delay in micro seconds.
|
||||
|
||||
- PHY subnode: inherits from phy binding [2]
|
||||
|
||||
@@ -20,15 +35,19 @@ Required properties:
|
||||
|
||||
Example:
|
||||
gmac0: ethernet@f9840000 {
|
||||
compatible = "hisilicon,hix5hd2-gmac";
|
||||
compatible = "hisilicon,hi3798cv200-gemac", "hisilicon,hisi-gemac-v2";
|
||||
reg = <0xf9840000 0x1000>,<0xf984300c 0x4>;
|
||||
interrupts = <0 71 4>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
phy-mode = "mii";
|
||||
phy-mode = "rgmii";
|
||||
phy-handle = <&phy2>;
|
||||
mac-address = [00 00 00 00 00 00];
|
||||
clocks = <&clock HIX5HD2_MAC0_CLK>;
|
||||
clocks = <&crg HISTB_ETH0_MAC_CLK>, <&crg HISTB_ETH0_MACIF_CLK>;
|
||||
clock-names = "mac_core", "mac_ifc";
|
||||
resets = <&crg 0xcc 8>, <&crg 0xcc 10>, <&crg 0xcc 12>;
|
||||
reset-names = "mac_core", "mac_ifc", "phy";
|
||||
hisilicon,phy-reset-delays-us = <10000 10000 30000>;
|
||||
|
||||
phy2: ethernet-phy@2 {
|
||||
reg = <2>;
|
||||
|
||||
@@ -45,6 +45,12 @@ Required properties:
|
||||
depends on the hardware user manual.
|
||||
- port-mode-offset: is offset of port mode field for each port in dsaf. Its
|
||||
value depends on the hardware user manual.
|
||||
- mc-mac-mask: mask of multicast address, determines bit in multicast address
|
||||
to set:
|
||||
1 stands for this bit will be precisely matched, TCAM will check this bit of
|
||||
MAC address.
|
||||
0 stands for this bit will be fuzzy matched, TCAM won't care about this bit
|
||||
of MAC address.
|
||||
|
||||
[1] Documentation/devicetree/bindings/net/phy.txt
|
||||
|
||||
@@ -74,10 +80,12 @@ dsaf0: dsa@c7000000 {
|
||||
reg = 0;
|
||||
phy-handle = <&phy0>;
|
||||
serdes-syscon = <&serdes>;
|
||||
mc-mac-mask = [ff f0 00 00 00 00];
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = 1;
|
||||
serdes-syscon = <&serdes>;
|
||||
mc-mac-mask = [ff f0 00 00 00 00];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
* Marvell Armada 370 / Armada XP Ethernet Controller (NETA)
|
||||
* Marvell Armada 370 / Armada XP / Armada 3700 Ethernet Controller (NETA)
|
||||
|
||||
Required properties:
|
||||
- compatible: "marvell,armada-370-neta" or "marvell,armada-xp-neta".
|
||||
- compatible: could be one of the followings
|
||||
"marvell,armada-370-neta"
|
||||
"marvell,armada-xp-neta"
|
||||
"marvell,armada-3700-neta"
|
||||
- reg: address and length of the register set for the device.
|
||||
- interrupts: interrupt for the device
|
||||
- phy: See ethernet.txt file in the same directory.
|
||||
|
||||
@@ -3,7 +3,7 @@ Properties for an MDIO bus multiplexer controlled by a memory-mapped device
|
||||
This is a special case of a MDIO bus multiplexer. A memory-mapped device,
|
||||
like an FPGA, is used to control which child bus is connected. The mdio-mux
|
||||
node must be a child of the memory-mapped device. The driver currently only
|
||||
supports devices with eight-bit registers.
|
||||
supports devices with 8, 16 or 32-bit registers.
|
||||
|
||||
Required properties in addition to the generic multiplexer properties:
|
||||
|
||||
@@ -11,7 +11,7 @@ Required properties in addition to the generic multiplexer properties:
|
||||
|
||||
- reg : integer, contains the offset of the register that controls the bus
|
||||
multiplexer. The size field in the 'reg' property is the size of
|
||||
register, and must therefore be 1.
|
||||
register, and must therefore be 1, 2, or 4.
|
||||
|
||||
- mux-mask : integer, contains an eight-bit mask that specifies which
|
||||
bits in the register control the actual bus multiplexer. The
|
||||
|
||||
@@ -6,22 +6,27 @@ Required properties:
|
||||
Documentation/devicetree/bindings/net/phy.txt
|
||||
|
||||
Optional properties:
|
||||
- vsc8531,vddmac : The vddmac in mV.
|
||||
- vsc8531,vddmac : The vddmac in mV. Allowed values is listed
|
||||
in the first row of Table 1 (below).
|
||||
This property is only used in combination
|
||||
with the 'edge-slowdown' property.
|
||||
Default value is 3300.
|
||||
- vsc8531,edge-slowdown : % the edge should be slowed down relative to
|
||||
the fastest possible edge time. Native sign
|
||||
need not enter.
|
||||
the fastest possible edge time.
|
||||
Edge rate sets the drive strength of the MAC
|
||||
interface output signals. Changing the drive
|
||||
strength will affect the edge rate of the output
|
||||
signal. The goal of this setting is to help
|
||||
reduce electrical emission (EMI) by being able
|
||||
to reprogram drive strength and in effect slow
|
||||
down the edge rate if desired. Table 1 shows the
|
||||
impact to the edge rate per VDDMAC supply for each
|
||||
drive strength setting.
|
||||
Ref: Table:1 - Edge rate change below.
|
||||
|
||||
Note: see dt-bindings/net/mscc-phy-vsc8531.h for applicable values
|
||||
interface output signals. Changing the
|
||||
drive strength will affect the edge rate of
|
||||
the output signal. The goal of this setting
|
||||
is to help reduce electrical emission (EMI)
|
||||
by being able to reprogram drive strength
|
||||
and in effect slow down the edge rate if
|
||||
desired.
|
||||
To adjust the edge-slowdown, the 'vddmac'
|
||||
must be specified. Table 1 lists the
|
||||
supported edge-slowdown values for a given
|
||||
'vddmac'.
|
||||
Default value is 0%.
|
||||
Ref: Table:1 - Edge rate change (below).
|
||||
|
||||
Table: 1 - Edge rate change
|
||||
----------------------------------------------------------------|
|
||||
@@ -29,23 +34,23 @@ Table: 1 - Edge rate change
|
||||
| |
|
||||
| 3300 mV 2500 mV 1800 mV 1500 mV |
|
||||
|---------------------------------------------------------------|
|
||||
| Default Deafult Default Default |
|
||||
| 0% 0% 0% 0% |
|
||||
| (Fastest) (recommended) (recommended) |
|
||||
|---------------------------------------------------------------|
|
||||
| -2% -3% -5% -6% |
|
||||
| 2% 3% 5% 6% |
|
||||
|---------------------------------------------------------------|
|
||||
| -4% -6% -9% -14% |
|
||||
| 4% 6% 9% 14% |
|
||||
|---------------------------------------------------------------|
|
||||
| -7% -10% -16% -21% |
|
||||
| 7% 10% 16% 21% |
|
||||
|(recommended) (recommended) |
|
||||
|---------------------------------------------------------------|
|
||||
| -10% -14% -23% -29% |
|
||||
| 10% 14% 23% 29% |
|
||||
|---------------------------------------------------------------|
|
||||
| -17% -23% -35% -42% |
|
||||
| 17% 23% 35% 42% |
|
||||
|---------------------------------------------------------------|
|
||||
| -29% -37% -52% -58% |
|
||||
| 29% 37% 52% 58% |
|
||||
|---------------------------------------------------------------|
|
||||
| -53% -63% -76% -77% |
|
||||
| 53% 63% 76% 77% |
|
||||
| (slowest) |
|
||||
|---------------------------------------------------------------|
|
||||
|
||||
@@ -54,5 +59,5 @@ Example:
|
||||
vsc8531_0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-id0007.0570";
|
||||
vsc8531,vddmac = <3300>;
|
||||
vsc8531,edge-slowdown = <21>;
|
||||
vsc8531,edge-slowdown = <7>;
|
||||
};
|
||||
|
||||
39
Documentation/devicetree/bindings/net/oxnas-dwmac.txt
Normal file
39
Documentation/devicetree/bindings/net/oxnas-dwmac.txt
Normal file
@@ -0,0 +1,39 @@
|
||||
* Oxford Semiconductor OXNAS DWMAC Ethernet controller
|
||||
|
||||
The device inherits all the properties of the dwmac/stmmac devices
|
||||
described in the file stmmac.txt in the current directory with the
|
||||
following changes.
|
||||
|
||||
Required properties on all platforms:
|
||||
|
||||
- compatible: For the OX820 SoC, it should be :
|
||||
- "oxsemi,ox820-dwmac" to select glue
|
||||
- "snps,dwmac-3.512" to select IP version.
|
||||
|
||||
- clocks: Should contain phandles to the following clocks
|
||||
- clock-names: Should contain the following:
|
||||
- "stmmaceth" for the host clock - see stmmac.txt
|
||||
- "gmac" for the peripheral gate clock
|
||||
|
||||
- oxsemi,sys-ctrl: a phandle to the system controller syscon node
|
||||
|
||||
Example :
|
||||
|
||||
etha: ethernet@40400000 {
|
||||
compatible = "oxsemi,ox820-dwmac", "snps,dwmac-3.512";
|
||||
reg = <0x40400000 0x2000>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq", "eth_wake_irq";
|
||||
mac-address = [000000000000]; /* Filled in by U-Boot */
|
||||
phy-mode = "rgmii";
|
||||
|
||||
clocks = <&stdclk CLK_820_ETHA>, <&gmacclk>;
|
||||
clock-names = "gmac", "stmmaceth";
|
||||
resets = <&reset RESET_MAC>;
|
||||
|
||||
/* Regmap for sys registers */
|
||||
oxsemi,sys-ctrl = <&sys>;
|
||||
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -35,6 +35,12 @@ Optional Properties:
|
||||
- broken-turn-around: If set, indicates the PHY device does not correctly
|
||||
release the turn around line low at the end of a MDIO transaction.
|
||||
|
||||
- enet-phy-lane-swap: If set, indicates the PHY will swap the TX/RX lanes to
|
||||
compensate for the board being designed with the lanes swapped.
|
||||
|
||||
- eee-broken-modes: Bits to clear in the MDIO_AN_EEE_ADV register to
|
||||
disable EEE broken modes.
|
||||
|
||||
Example:
|
||||
|
||||
ethernet-phy@0 {
|
||||
|
||||
@@ -13,3 +13,5 @@ Optional properties:
|
||||
16-bit access only.
|
||||
- power-gpios: GPIO to control the PWRDWN pin
|
||||
- reset-gpios: GPIO to control the RESET pin
|
||||
- pxa-u16-align4 : Boolean, put in place the workaround the force all
|
||||
u16 writes to be 32 bits aligned
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
* STMicroelectronics 10/100/1000 Ethernet driver (GMAC)
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "snps,dwmac-<ip_version>" "snps,dwmac"
|
||||
- compatible: Should be "snps,dwmac-<ip_version>", "snps,dwmac"
|
||||
For backwards compatibility: "st,spear600-gmac" is also supported.
|
||||
- reg: Address and length of the register set for the device
|
||||
- interrupt-parent: Should be the phandle for the interrupt controller
|
||||
@@ -34,7 +34,13 @@ Optional properties:
|
||||
platforms.
|
||||
- tx-fifo-depth: See ethernet.txt file in the same directory
|
||||
- rx-fifo-depth: See ethernet.txt file in the same directory
|
||||
- snps,pbl Programmable Burst Length
|
||||
- snps,pbl Programmable Burst Length (tx and rx)
|
||||
- snps,txpbl Tx Programmable Burst Length. Only for GMAC and newer.
|
||||
If set, DMA tx will use this value rather than snps,pbl.
|
||||
- snps,rxpbl Rx Programmable Burst Length. Only for GMAC and newer.
|
||||
If set, DMA rx will use this value rather than snps,pbl.
|
||||
- snps,no-pbl-x8 Don't multiply the pbl/txpbl/rxpbl values by 8.
|
||||
For core rev < 3.50, don't multiply the values by 4.
|
||||
- snps,aal Address-Aligned Beats
|
||||
- snps,fixed-burst Program the DMA to use the fixed burst mode
|
||||
- snps,mixed-burst Program the DMA to use the mixed burst mode
|
||||
@@ -50,6 +56,8 @@ Optional properties:
|
||||
- snps,ps-speed: port selection speed that can be passed to the core when
|
||||
PCS is supported. For example, this is used in case of SGMII
|
||||
and MAC2MAC connection.
|
||||
- snps,tso: this enables the TSO feature otherwise it will be managed by
|
||||
MAC HW capability register. Only for GMAC4 and newer.
|
||||
- AXI BUS Mode parameters: below the list of all the parameters to program the
|
||||
AXI register inside the DMA module:
|
||||
- snps,lpi_en: enable Low Power Interface
|
||||
@@ -62,8 +70,6 @@ Optional properties:
|
||||
- snps,fb: fixed-burst
|
||||
- snps,mb: mixed-burst
|
||||
- snps,rb: rebuild INCRx Burst
|
||||
- snps,tso: this enables the TSO feature otherwise it will be managed by
|
||||
MAC HW capability register.
|
||||
- mdio: with compatible = "snps,dwmac-mdio", create and register mdio bus.
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -9,6 +9,18 @@ Required properties:
|
||||
- ti,fifo-depth - Transmitt FIFO depth- see dt-bindings/net/ti-dp83867.h
|
||||
for applicable values
|
||||
|
||||
Optional property:
|
||||
- ti,min-output-impedance - MAC Interface Impedance control to set
|
||||
the programmable output impedance to
|
||||
minimum value (35 ohms).
|
||||
- ti,max-output-impedance - MAC Interface Impedance control to set
|
||||
the programmable output impedance to
|
||||
maximum value (70 ohms).
|
||||
|
||||
Note: ti,min-output-impedance and ti,max-output-impedance are mutually
|
||||
exclusive. When both properties are present ti,max-output-impedance
|
||||
takes precedence.
|
||||
|
||||
Default child nodes are standard Ethernet PHY device
|
||||
nodes as described in Documentation/devicetree/bindings/net/phy.txt
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Marvell 8897/8997 (sd8897/sd8997) SDIO devices
|
||||
Marvell 8897/8997 (sd8897/sd8997/pcie8997) SDIO/PCIE devices
|
||||
------
|
||||
|
||||
This node provides properties for controlling the marvell sdio wireless device.
|
||||
The node is expected to be specified as a child node to the SDIO controller that
|
||||
This node provides properties for controlling the Marvell SDIO/PCIE wireless device.
|
||||
The node is expected to be specified as a child node to the SDIO/PCIE controller that
|
||||
connects the device to the system.
|
||||
|
||||
Required properties:
|
||||
@@ -10,6 +10,8 @@ Required properties:
|
||||
- compatible : should be one of the following:
|
||||
* "marvell,sd8897"
|
||||
* "marvell,sd8997"
|
||||
* "pci11ab,2b42"
|
||||
* "pci1b4b,2b42"
|
||||
|
||||
Optional properties:
|
||||
|
||||
48
Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt
Normal file
48
Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt
Normal file
@@ -0,0 +1,48 @@
|
||||
* Qualcomm Atheros ath9k wireless devices
|
||||
|
||||
This node provides properties for configuring the ath9k wireless device. The
|
||||
node is expected to be specified as a child node of the PCI controller to
|
||||
which the wireless chip is connected.
|
||||
|
||||
Required properties:
|
||||
- compatible: For PCI and PCIe devices this should be an identifier following
|
||||
the format as defined in "PCI Bus Binding to Open Firmware"
|
||||
Revision 2.1. One of the possible formats is "pciVVVV,DDDD"
|
||||
where VVVV is the PCI vendor ID and DDDD is PCI device ID.
|
||||
Typically QCA's PCI vendor ID 168c is used while the PCI device
|
||||
ID depends on the chipset - see the following (possibly
|
||||
incomplete) list:
|
||||
- 0023 for AR5416
|
||||
- 0024 for AR5418
|
||||
- 0027 for AR9160
|
||||
- 0029 for AR9220 and AR9223
|
||||
- 002a for AR9280 and AR9283
|
||||
- 002b for AR9285
|
||||
- 002c for AR2427
|
||||
- 002d for AR9227
|
||||
- 002e for AR9287
|
||||
- 0030 for AR9380, AR9381 and AR9382
|
||||
- 0032 for AR9485
|
||||
- 0033 for AR9580 and AR9590
|
||||
- 0034 for AR9462
|
||||
- 0036 for AR9565
|
||||
- 0037 for AR9485
|
||||
- reg: Address and length of the register set for the device.
|
||||
|
||||
Optional properties:
|
||||
- qca,no-eeprom: Indicates that there is no physical EEPROM connected to the
|
||||
ath9k wireless chip (in this case the calibration /
|
||||
EEPROM data will be loaded from userspace using the
|
||||
kernel firmware loader).
|
||||
- mac-address: See ethernet.txt in the parent directory
|
||||
- local-mac-address: See ethernet.txt in the parent directory
|
||||
|
||||
|
||||
In this example, the node is defined as child node of the PCI controller:
|
||||
&pci0 {
|
||||
wifi@168c,002d {
|
||||
compatible = "pci168c,002d";
|
||||
reg = <0x7000 0 0 0 0x1000>;
|
||||
qca,no-eeprom;
|
||||
};
|
||||
};
|
||||
@@ -332,6 +332,10 @@ MEM
|
||||
MFD
|
||||
devm_mfd_add_devices()
|
||||
|
||||
PER-CPU MEM
|
||||
devm_alloc_percpu()
|
||||
devm_free_percpu()
|
||||
|
||||
PCI
|
||||
pcim_enable_device() : after success, all PCI ops become managed
|
||||
pcim_pin_device() : keep PCI device enabled after release
|
||||
|
||||
@@ -32,7 +32,7 @@ compatible interfaces. Once found, it will create subfolders in
|
||||
the /sys directories of each supported interface, e.g.
|
||||
|
||||
# ls /sys/class/net/eth0/batman_adv/
|
||||
# iface_status mesh_iface
|
||||
# elp_interval iface_status mesh_iface throughput_override
|
||||
|
||||
If an interface does not have the "batman_adv" subfolder it prob-
|
||||
ably is not supported. Not supported interfaces are: loopback,
|
||||
@@ -71,17 +71,19 @@ All mesh wide settings can be found in batman's own interface
|
||||
folder:
|
||||
|
||||
# ls /sys/class/net/bat0/mesh/
|
||||
#aggregated_ogms distributed_arp_table gw_sel_class orig_interval
|
||||
#ap_isolation fragmentation hop_penalty routing_algo
|
||||
#bonding gw_bandwidth isolation_mark vlan0
|
||||
#bridge_loop_avoidance gw_mode log_level
|
||||
# aggregated_ogms fragmentation isolation_mark routing_algo
|
||||
# ap_isolation gw_bandwidth log_level vlan0
|
||||
# bonding gw_mode multicast_mode
|
||||
# bridge_loop_avoidance gw_sel_class network_coding
|
||||
# distributed_arp_table hop_penalty orig_interval
|
||||
|
||||
There is a special folder for debugging information:
|
||||
|
||||
# ls /sys/kernel/debug/batman_adv/bat0/
|
||||
# bla_backbone_table log transtable_global
|
||||
# bla_claim_table originators transtable_local
|
||||
# gateways socket
|
||||
# bla_backbone_table log neighbors transtable_local
|
||||
# bla_claim_table mcast_flags originators
|
||||
# dat_cache nc socket
|
||||
# gateways nc_nodes transtable_global
|
||||
|
||||
Some of the files contain all sort of status information regard-
|
||||
ing the mesh network. For example, you can view the table of
|
||||
@@ -159,13 +161,16 @@ file in debugfs
|
||||
The additional debug output is by default disabled. It can be en-
|
||||
abled during run time. Following log_levels are defined:
|
||||
|
||||
0 - All debug output disabled
|
||||
1 - Enable messages related to routing / flooding / broadcasting
|
||||
2 - Enable messages related to route added / changed / deleted
|
||||
4 - Enable messages related to translation table operations
|
||||
8 - Enable messages related to bridge loop avoidance
|
||||
16 - Enable messaged related to DAT, ARP snooping and parsing
|
||||
31 - Enable all messages
|
||||
0 - All debug output disabled
|
||||
1 - Enable messages related to routing / flooding / broadcasting
|
||||
2 - Enable messages related to route added / changed / deleted
|
||||
4 - Enable messages related to translation table operations
|
||||
8 - Enable messages related to bridge loop avoidance
|
||||
16 - Enable messages related to DAT, ARP snooping and parsing
|
||||
32 - Enable messages related to network coding
|
||||
64 - Enable messages related to multicast
|
||||
128 - Enable messages related to throughput meter
|
||||
255 - Enable all messages
|
||||
|
||||
The debug output can be changed at runtime using the file
|
||||
/sys/class/net/bat0/mesh/log_level. e.g.
|
||||
|
||||
@@ -4,20 +4,20 @@
|
||||
|
||||
Introduction
|
||||
============
|
||||
The IEEE 802.15.4 working group focuses on standardization of bottom
|
||||
two layers: Medium Access Control (MAC) and Physical (PHY). And there
|
||||
The IEEE 802.15.4 working group focuses on standardization of the bottom
|
||||
two layers: Medium Access Control (MAC) and Physical access (PHY). And there
|
||||
are mainly two options available for upper layers:
|
||||
- ZigBee - proprietary protocol from the ZigBee Alliance
|
||||
- 6LoWPAN - IPv6 networking over low rate personal area networks
|
||||
|
||||
The linux-wpan project goal is to provide a complete implementation
|
||||
The goal of the Linux-wpan is to provide a complete implementation
|
||||
of the IEEE 802.15.4 and 6LoWPAN protocols. IEEE 802.15.4 is a stack
|
||||
of protocols for organizing Low-Rate Wireless Personal Area Networks.
|
||||
|
||||
The stack is composed of three main parts:
|
||||
- IEEE 802.15.4 layer; We have chosen to use plain Berkeley socket API,
|
||||
the generic Linux networking stack to transfer IEEE 802.15.4 messages
|
||||
and a special protocol over genetlink for configuration/management
|
||||
the generic Linux networking stack to transfer IEEE 802.15.4 data
|
||||
messages and a special protocol over netlink for configuration/management
|
||||
- MAC - provides access to shared channel and reliable data delivery
|
||||
- PHY - represents device drivers
|
||||
|
||||
@@ -33,15 +33,13 @@ include/net/af_ieee802154.h header or in the special header
|
||||
in the userspace package (see either http://wpan.cakelab.org/ or the
|
||||
git tree at https://github.com/linux-wpan/wpan-tools).
|
||||
|
||||
One can use SOCK_RAW for passing raw data towards device xmit function. YMMV.
|
||||
|
||||
|
||||
Kernel side
|
||||
=============
|
||||
|
||||
Like with WiFi, there are several types of devices implementing IEEE 802.15.4.
|
||||
1) 'HardMAC'. The MAC layer is implemented in the device itself, the device
|
||||
exports MLME and data API.
|
||||
exports a management (e.g. MLME) and data API.
|
||||
2) 'SoftMAC' or just radio. These types of devices are just radio transceivers
|
||||
possibly with some kinds of acceleration like automatic CRC computation and
|
||||
comparation, automagic ACK handling, address matching, etc.
|
||||
@@ -106,7 +104,7 @@ Fake drivers
|
||||
|
||||
In addition there is a driver available which simulates a real device with
|
||||
SoftMAC (fakelb - IEEE 802.15.4 loopback driver) interface. This option
|
||||
provides possibility to test and debug stack without usage of real hardware.
|
||||
provides a possibility to test and debug the stack without usage of real hardware.
|
||||
|
||||
See sources in drivers/net/ieee802154 folder for more details.
|
||||
|
||||
@@ -125,17 +123,15 @@ to support the IPv6 minimum MTU requirement [RFC2460], and stateless header
|
||||
compression for IPv6 datagrams (LOWPAN_HC1 and LOWPAN_HC2) to reduce the
|
||||
relatively large IPv6 and UDP headers down to (in the best case) several bytes.
|
||||
|
||||
In Semptember 2011 the standard update was published - [RFC6282].
|
||||
In September 2011 the standard update was published - [RFC6282].
|
||||
It deprecates HC1 and HC2 compression and defines IPHC encoding format which is
|
||||
used in this Linux implementation.
|
||||
|
||||
All the code related to 6lowpan you may find in files: net/6lowpan/*
|
||||
and net/ieee802154/6lowpan/*
|
||||
|
||||
To setup 6lowpan interface you need (busybox release > 1.17.0):
|
||||
1. Add IEEE802.15.4 interface and initialize PANid;
|
||||
To setup a 6LoWPAN interface you need:
|
||||
1. Add IEEE802.15.4 interface and set channel and PAN ID;
|
||||
2. Add 6lowpan interface by command like:
|
||||
# ip link add link wpan0 name lowpan0 type lowpan
|
||||
3. Set MAC (if needs):
|
||||
# ip link set lowpan0 address de:ad:be:ef:ca:fe:ba:be
|
||||
4. Bring up 'lowpan0' interface
|
||||
3. Bring up 'lowpan0' interface
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user