Skip to content

Commit 7318413

Browse files
committed
Merge branch '4.14-features' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS updates from Ralf Baechle: "This is the main pull request for 4.14 for MIPS; below a summary of the non-merge commits: CM: - Rename mips_cm_base to mips_gcr_base - Specify register size when generating accessors - Use BIT/GENMASK for register fields, order & drop shifts - Add cluster & block args to mips_cm_lock_other() CPC: - Use common CPS accessor generation macros - Use BIT/GENMASK for register fields, order & drop shifts - Introduce register modify (set/clear/change) accessors - Use change_*, set_* & clear_* where appropriate - Add CM/CPC 3.5 register definitions - Use GlobalNumber macros rather than magic numbers - Have asm/mips-cps.h include CM & CPC headers - Cluster support for topology functions - Detect CPUs in secondary clusters CPS: - Read GIC_VL_IDENT directly, not via irqchip driver DMA: - Consolidate coherent and non-coherent dma_alloc code - Don't use dma_cache_sync to implement fd_cacheflush FPU emulation / FP assist code: - Another series of 14 commits fixing corner cases such as NaN propgagation and other special input values. - Zero bits 32-63 of the result for a CLASS.D instruction. - Enhanced statics via debugfs - Do not use bools for arithmetic. GCC 7.1 moans about this. - Correct user fault_addr type Generic MIPS: - Enhancement of stack backtraces - Cleanup from non-existing options - Handle non word sized instructions when examining frame - Fix detection and decoding of ADDIUSP instruction - Fix decoding of SWSP16 instruction - Refactor handling of stack pointer in get_frame_info - Remove unreachable code from force_fcr31_sig() - Convert to using %pOF instead of full_name - Remove the R6000 support. - Move FP code from *_switch.S to *_fpu.S - Remove unused ST_OFF from r2300_switch.S - Allow platform to specify multiple its.S files - Add #includes to various files to ensure code builds reliable and without warning.. - Remove __invalidate_kernel_vmap_range - Remove plat_timer_setup - Declare various variables & functions static - Abstract CPU core & VP(E) ID access through accessor functions - Store core & VP IDs in GlobalNumber-style variable - Unify checks for sibling CPUs - Add CPU cluster number accessors - Prevent direct use of generic_defconfig - Make CONFIG_MIPS_MT_SMP default y - Add __ioread64_copy - Remove unnecessary inclusions of linux/irqchip/mips-gic.h GIC: - Introduce asm/mips-gic.h with accessor functions - Use new GIC accessor functions in mips-gic-timer - Remove counter access functions from irq-mips-gic.c - Remove gic_read_local_vp_id() from irq-mips-gic.c - Simplify shared interrupt pending/mask reads in irq-mips-gic.c - Simplify gic_local_irq_domain_map() in irq-mips-gic.c - Drop gic_(re)set_mask() functions in irq-mips-gic.c - Remove gic_set_polarity(), gic_set_trigger(), gic_set_dual_edge(), gic_map_to_pin() and gic_map_to_vpe() from irq-mips-gic.c. - Convert remaining shared reg access, local int mask access and remaining local reg access to new accessors - Move GIC_LOCAL_INT_* to asm/mips-gic.h - Remove GIC_CPU_INT* macros from irq-mips-gic.c - Move various definitions to the driver - Remove gic_get_usm_range() - Remove __gic_irq_dispatch() forward declaration - Remove gic_init() - Use mips_gic_present() in place of gic_present and remove gic_present - Move gic_get_c0_*_int() to asm/mips-gic.h - Remove linux/irqchip/mips-gic.h - Inline __gic_init() - Inline gic_basic_init() - Make pcpu_masks a per-cpu variable - Use pcpu_masks to avoid reading GIC_SH_MASK* - Clean up mti, reserved-cpu-vectors handling - Use cpumask_first_and() in gic_set_affinity() - Let the core set struct irq_common_data affinity microMIPS: - Fix microMIPS stack unwinding on big endian systems MIPS-GIC: - SYNC after enabling GIC region NUMA: - Remove the unused parent_node() macro R6: - Constify r2_decoder_tables - Add accessor & bit definitions for GlobalNumber SMP: - Constify smp ops - Allow boot_secondary SMP op to return errors VDSO: - Drop gic_get_usm_range() usage - Avoid use of linux/irqchip/mips-gic.h Platform changes: Alchemy: - Add devboard machine type to cpuinfo - update cpu feature overrides - Threaded carddetect irqs for devboards AR7: - allow NULL clock for clk_get_rate BCM63xx: - Fix ENETDMA_6345_MAXBURST_REG offset - Allow NULL clock for clk_get_rate CI20: - Enable GPIO and RTC drivers in defconfig - Add ethernet and fixed-regulator nodes to DTS Generic platform: - Move Boston and NI 169445 FIT image source to their own files - Include asm/bootinfo.h for plat_fdt_relocated() - Include asm/time.h for get_c0_*_int() - Include asm/bootinfo.h for plat_fdt_relocated() - Include asm/time.h for get_c0_*_int() - Allow filtering enabled boards by requirements - Don't explicitly disable CONFIG_USB_SUPPORT - Bump default NR_CPUS to 16 JZ4700: - Probe the jz4740-rtc driver from devicetree Lantiq: - Drop check of boot select from the spi-falcon driver. - Drop check of boot select from the lantiq-flash MTD driver. - Access boot cause register in the watchdog driver through regmap - Add device tree binding documentation for the watchdog driver - Add docs for the RCU DT bindings. - Convert the fpi bus driver to a platform_driver - Remove ltq_reset_cause() and ltq_boot_select( - Switch to a proper reset driver - Switch to a new drivers/soc GPHY driver - Add an USB PHY driver for the Lantiq SoCs using the RCU module - Use of_platform_default_populate instead of __dt_register_buses - Enable MFD_SYSCON to be able to use it for the RCU MFD - Replace ltq_boot_select() with dummy implementation. Loongson 2F: - Allow NULL clock for clk_get_rate Malta: - Use new GIC accessor functions NI 169445: - Add support for NI 169445 board. - Only include in 32r2el kernels Octeon: - Add support for watchdog of 78XX SOCs. - Add support for watchdog of CN68XX SOCs. - Expose support for mips32r1, mips32r2 and mips64r1 - Enable more drivers in config file - Add support for accessing the boot vector. - Remove old boot vector code from watchdog driver - Define watchdog registers for 70xx, 73xx, 78xx, F75xx. - Make CSR functions node aware. - Allow access to CIU3 IRQ domains. - Misc cleanups in the watchdog driver Omega2+: - New board, add support and defconfig Pistachio: - Enable Root FS on NFS in defconfig Ralink: - Add Mediatek MT7628A SoC - Allow NULL clock for clk_get_rate - Explicitly request exclusive reset control in the pci-mt7620 PCI driver. SEAD3: - Only include in 32 bit kernels by default VoCore: - Add VoCore as a vendor t0 dt-bindings - Add defconfig file" * '4.14-features' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (167 commits) MIPS: Refactor handling of stack pointer in get_frame_info MIPS: Stacktrace: Fix microMIPS stack unwinding on big endian systems MIPS: microMIPS: Fix decoding of swsp16 instruction MIPS: microMIPS: Fix decoding of addiusp instruction MIPS: microMIPS: Fix detection of addiusp instruction MIPS: Handle non word sized instructions when examining frame MIPS: ralink: allow NULL clock for clk_get_rate MIPS: Loongson 2F: allow NULL clock for clk_get_rate MIPS: BCM63XX: allow NULL clock for clk_get_rate MIPS: AR7: allow NULL clock for clk_get_rate MIPS: BCM63XX: fix ENETDMA_6345_MAXBURST_REG offset mips: Save all registers when saving the frame MIPS: Add DWARF unwinding to assembly MIPS: Make SAVE_SOME more standard MIPS: Fix issues in backtraces MIPS: jz4780: DTS: Probe the jz4740-rtc driver from devicetree MIPS: Ci20: Enable RTC driver watchdog: octeon-wdt: Add support for 78XX SOCs. watchdog: octeon-wdt: Add support for cn68XX SOCs. watchdog: octeon-wdt: File cleaning. ...
2 parents 8d93c7a + 35eed7c commit 7318413

File tree

205 files changed

+6399
-3427
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+6399
-3427
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
Lantiq XWAY SoC FPI BUS binding
2+
============================
3+
4+
5+
-------------------------------------------------------------------------------
6+
Required properties:
7+
- compatible : Should be one of
8+
"lantiq,xrx200-fpi"
9+
- reg : The address and length of the XBAR
10+
configuration register.
11+
Address and length of the FPI bus itself.
12+
- lantiq,rcu : A phandle to the RCU syscon
13+
- lantiq,offset-endianness : Offset of the endianness configuration
14+
register
15+
16+
-------------------------------------------------------------------------------
17+
Example for the FPI on the xrx200 SoCs:
18+
fpi@10000000 {
19+
compatible = "lantiq,xrx200-fpi";
20+
ranges = <0x0 0x10000000 0xf000000>;
21+
reg = <0x1f400000 0x1000>,
22+
<0x10000000 0xf000000>;
23+
lantiq,rcu = <&rcu0>;
24+
lantiq,offset-endianness = <0x4c>;
25+
#address-cells = <1>;
26+
#size-cells = <1>;
27+
28+
gptu@e100a00 {
29+
......
30+
};
31+
};
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Lantiq XWAY SoC GPHY binding
2+
============================
3+
4+
This binding describes a software-defined ethernet PHY, provided by the RCU
5+
module on newer Lantiq XWAY SoCs (xRX200 and newer).
6+
7+
-------------------------------------------------------------------------------
8+
Required properties:
9+
- compatible : Should be one of
10+
"lantiq,xrx200a1x-gphy"
11+
"lantiq,xrx200a2x-gphy"
12+
"lantiq,xrx300-gphy"
13+
"lantiq,xrx330-gphy"
14+
- reg : Addrress of the GPHY FW load address register
15+
- resets : Must reference the RCU GPHY reset bit
16+
- reset-names : One entry, value must be "gphy" or optional "gphy2"
17+
- clocks : A reference to the (PMU) GPHY clock gate
18+
19+
Optional properties:
20+
- lantiq,gphy-mode : GPHY_MODE_GE (default) or GPHY_MODE_FE as defined in
21+
<dt-bindings/mips/lantiq_xway_gphy.h>
22+
23+
24+
-------------------------------------------------------------------------------
25+
Example for the GPHys on the xRX200 SoCs:
26+
27+
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
28+
gphy0: gphy@20 {
29+
compatible = "lantiq,xrx200a2x-gphy";
30+
reg = <0x20 0x4>;
31+
32+
resets = <&reset0 31 30>, <&reset1 7 7>;
33+
reset-names = "gphy", "gphy2";
34+
clocks = <&pmu0 XRX200_PMU_GATE_GPHY>;
35+
lantiq,gphy-mode = <GPHY_MODE_GE>;
36+
};
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
Lantiq XWAY SoC RCU binding
2+
===========================
3+
4+
This binding describes the RCU (reset controller unit) multifunction device,
5+
where each sub-device has it's own set of registers.
6+
7+
The RCU register range is used for multiple purposes. Mostly one device
8+
uses one or multiple register exclusively, but for some registers some
9+
bits are for one driver and some other bits are for a different driver.
10+
With this patch all accesses to the RCU registers will go through
11+
syscon.
12+
13+
14+
-------------------------------------------------------------------------------
15+
Required properties:
16+
- compatible : The first and second values must be:
17+
"lantiq,xrx200-rcu", "simple-mfd", "syscon"
18+
- reg : The address and length of the system control registers
19+
20+
21+
-------------------------------------------------------------------------------
22+
Example of the RCU bindings on a xRX200 SoC:
23+
rcu0: rcu@203000 {
24+
compatible = "lantiq,xrx200-rcu", "simple-mfd", "syscon";
25+
reg = <0x203000 0x100>;
26+
ranges = <0x0 0x203000 0x100>;
27+
big-endian;
28+
29+
gphy0: gphy@20 {
30+
compatible = "lantiq,xrx200a2x-gphy";
31+
reg = <0x20 0x4>;
32+
33+
resets = <&reset0 31 30>, <&reset1 7 7>;
34+
reset-names = "gphy", "gphy2";
35+
lantiq,gphy-mode = <GPHY_MODE_GE>;
36+
};
37+
38+
gphy1: gphy@68 {
39+
compatible = "lantiq,xrx200a2x-gphy";
40+
reg = <0x68 0x4>;
41+
42+
resets = <&reset0 29 28>, <&reset1 6 6>;
43+
reset-names = "gphy", "gphy2";
44+
lantiq,gphy-mode = <GPHY_MODE_GE>;
45+
};
46+
47+
reset0: reset-controller@10 {
48+
compatible = "lantiq,xrx200-reset";
49+
reg = <0x10 4>, <0x14 4>;
50+
51+
#reset-cells = <2>;
52+
};
53+
54+
reset1: reset-controller@48 {
55+
compatible = "lantiq,xrx200-reset";
56+
reg = <0x48 4>, <0x24 4>;
57+
58+
#reset-cells = <2>;
59+
};
60+
61+
usb_phy0: usb2-phy@18 {
62+
compatible = "lantiq,xrx200-usb2-phy";
63+
reg = <0x18 4>, <0x38 4>;
64+
status = "disabled";
65+
66+
resets = <&reset1 4 4>, <&reset0 4 4>;
67+
reset-names = "phy", "ctrl";
68+
#phy-cells = <0>;
69+
};
70+
71+
usb_phy1: usb2-phy@34 {
72+
compatible = "lantiq,xrx200-usb2-phy";
73+
reg = <0x34 4>, <0x3C 4>;
74+
status = "disabled";
75+
76+
resets = <&reset1 5 4>, <&reset0 4 4>;
77+
reset-names = "phy", "ctrl";
78+
#phy-cells = <0>;
79+
};
80+
81+
reboot@10 {
82+
compatible = "syscon-reboot";
83+
reg = <0x10 4>;
84+
85+
regmap = <&rcu0>;
86+
offset = <0x10>;
87+
mask = <0x40000000>;
88+
};
89+
};
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
National Instruments MIPS platforms
2+
3+
required root node properties:
4+
- compatible: must be "ni,169445"
5+
6+
CPU Nodes
7+
- compatible: must be "mti,mips14KEc"

Documentation/devicetree/bindings/mips/ralink.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ value must be one of the following values:
1515
ralink,rt5350-soc
1616
ralink,mt7620a-soc
1717
ralink,mt7620n-soc
18+
ralink,mt7628a-soc
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
Lantiq XWAY SoC RCU USB 1.1/2.0 PHY binding
2+
===========================================
3+
4+
This binding describes the USB PHY hardware provided by the RCU module on the
5+
Lantiq XWAY SoCs.
6+
7+
This node has to be a sub node of the Lantiq RCU block.
8+
9+
-------------------------------------------------------------------------------
10+
Required properties (controller (parent) node):
11+
- compatible : Should be one of
12+
"lantiq,ase-usb2-phy"
13+
"lantiq,danube-usb2-phy"
14+
"lantiq,xrx100-usb2-phy"
15+
"lantiq,xrx200-usb2-phy"
16+
"lantiq,xrx300-usb2-phy"
17+
- reg : Defines the following sets of registers in the parent
18+
syscon device
19+
- Offset of the USB PHY configuration register
20+
- Offset of the USB Analog configuration
21+
register (only for xrx200 and xrx200)
22+
- clocks : References to the (PMU) "phy" clk gate.
23+
- clock-names : Must be "phy"
24+
- resets : References to the RCU USB configuration reset bits.
25+
- reset-names : Must be one of the following:
26+
"phy" (optional)
27+
"ctrl" (shared)
28+
29+
-------------------------------------------------------------------------------
30+
Example for the USB PHYs on an xRX200 SoC:
31+
usb_phy0: usb2-phy@18 {
32+
compatible = "lantiq,xrx200-usb2-phy";
33+
reg = <0x18 4>, <0x38 4>;
34+
35+
clocks = <&pmu PMU_GATE_USB0_PHY>;
36+
clock-names = "phy";
37+
resets = <&reset1 4 4>, <&reset0 4 4>;
38+
reset-names = "phy", "ctrl";
39+
#phy-cells = <0>;
40+
};
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Lantiq XWAY SoC RCU reset controller binding
2+
============================================
3+
4+
This binding describes a reset-controller found on the RCU module on Lantiq
5+
XWAY SoCs.
6+
7+
This node has to be a sub node of the Lantiq RCU block.
8+
9+
-------------------------------------------------------------------------------
10+
Required properties:
11+
- compatible : Should be one of
12+
"lantiq,danube-reset"
13+
"lantiq,xrx200-reset"
14+
- reg : Defines the following sets of registers in the parent
15+
syscon device
16+
- Offset of the reset set register
17+
- Offset of the reset status register
18+
- #reset-cells : Specifies the number of cells needed to encode the
19+
reset line, should be 2.
20+
The first cell takes the reset set bit and the
21+
second cell takes the status bit.
22+
23+
-------------------------------------------------------------------------------
24+
Example for the reset-controllers on the xRX200 SoCs:
25+
reset0: reset-controller@10 {
26+
compatible = "lantiq,xrx200-reset";
27+
reg <0x10 0x04>, <0x14 0x04>;
28+
29+
#reset-cells = <2>;
30+
};

Documentation/devicetree/bindings/vendor-prefixes.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,7 @@ variscite Variscite Ltd.
361361
via VIA Technologies, Inc.
362362
virtio Virtual I/O Device Specification, developed by the OASIS consortium
363363
vivante Vivante Corporation
364+
vocore VoCore Studio
364365
voipac Voipac Technologies s.r.o.
365366
wd Western Digital Corp.
366367
wetek WeTek Electronics, limited.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Lantiq WTD watchdog binding
2+
============================
3+
4+
This describes the binding of the Lantiq watchdog driver.
5+
6+
-------------------------------------------------------------------------------
7+
Required properties:
8+
- compatible : Should be one of
9+
"lantiq,wdt"
10+
"lantiq,xrx100-wdt"
11+
"lantiq,xrx200-wdt", "lantiq,xrx100-wdt"
12+
"lantiq,falcon-wdt"
13+
- reg : Address of the watchdog block
14+
- lantiq,rcu : A phandle to the RCU syscon (required for
15+
"lantiq,falcon-wdt" and "lantiq,xrx100-wdt")
16+
17+
-------------------------------------------------------------------------------
18+
Example for the watchdog on the xRX200 SoCs:
19+
watchdog@803f0 {
20+
compatible = "lantiq,xrx200-wdt", "lantiq,xrx100-wdt";
21+
reg = <0x803f0 0x10>;
22+
23+
lantiq,rcu = <&rcu0>;
24+
};

MAINTAINERS

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7717,6 +7717,7 @@ M: John Crispin <[email protected]>
77177717
77187718
S: Maintained
77197719
F: arch/mips/lantiq
7720+
F: drivers/soc/lantiq
77207721

77217722
LAPB module
77227723
@@ -8982,6 +8983,7 @@ M: Paul Burton <[email protected]>
89828983
89838984
S: Supported
89848985
F: arch/mips/generic/
8986+
F: arch/mips/tools/generic-board-config.sh
89858987

89868988
MIPS/LOONGSON1 ARCHITECTURE
89878989
M: Keguang Zhang <[email protected]>
@@ -8992,6 +8994,13 @@ F: arch/mips/include/asm/mach-loongson32/
89928994
F: drivers/*/*loongson1*
89938995
F: drivers/*/*/*loongson1*
89948996

8997+
MIPS RINT INSTRUCTION EMULATION
8998+
M: Aleksandar Markovic <[email protected]>
8999+
9000+
S: Supported
9001+
F: arch/mips/math-emu/sp_rint.c
9002+
F: arch/mips/math-emu/dp_rint.c
9003+
89959004
MIROSOUND PCM20 FM RADIO RECEIVER DRIVER
89969005
M: Hans Verkuil <[email protected]>
89979006
@@ -9869,6 +9878,12 @@ F: drivers/regulator/twl-regulator.c
98699878
F: drivers/regulator/twl6030-regulator.c
98709879
F: include/linux/i2c-omap.h
98719880

9881+
ONION OMEGA2+ BOARD
9882+
M: Harvey Hunt <[email protected]>
9883+
9884+
S: Maintained
9885+
F: arch/mips/boot/dts/ralink/omega2p.dts
9886+
98729887
OMFS FILESYSTEM
98739888
M: Bob Copeland <[email protected]>
98749889
@@ -14390,6 +14405,12 @@ L: [email protected]
1439014405
S: Maintained
1439114406
F: drivers/net/vmxnet3/
1439214407

14408+
VOCORE VOCORE2 BOARD
14409+
M: Harvey Hunt <[email protected]>
14410+
14411+
S: Maintained
14412+
F: arch/mips/boot/dts/ralink/vocore2.dts
14413+
1439314414
VOLTAGE AND CURRENT REGULATOR FRAMEWORK
1439414415
M: Liam Girdwood <[email protected]>
1439514416
M: Mark Brown <[email protected]>

0 commit comments

Comments
 (0)