Commit Graph

62562 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
007e337080 Merge tag 'usb-serial-5.11-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next
Johan writes:

USB-serial updates for 5.11-rc1

Here are the USB-serial updates for 5.11-rc1, including:

 - keyspan_pda write-implementation fixes
 - digi_acceleport write-wakeup fix
 - mos7720 parport-restore fix
 - mos7720 parport-tasklet removal
 - cp210x termios-handling cleanups
 - option device-flag fix
 - ftdi_sio GPIO CBUS-configuration improvements
 - removal of in_interrupt() uses

Included are also various clean ups.

All have been in linux-next with no reported issues.

* tag 'usb-serial-5.11-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial: (30 commits)
  USB: serial: ftdi_sio: log the CBUS GPIO validity
  USB: serial: ftdi_sio: drop GPIO line checking dead code
  USB: serial: ftdi_sio: report the valid GPIO lines to gpiolib
  USB: serial: option: add interface-number sanity check to flag handling
  USB: serial: cp210x: clean up dtr_rts()
  USB: serial: cp210x: refactor flow-control handling
  USB: serial: cp210x: drop flow-control debugging
  USB: serial: cp210x: set terminal settings on open
  USB: serial: cp210x: clean up line-control handling
  USB: serial: cp210x: return early on unchanged termios
  USB: serial: mos7720: defer state restore to a workqueue
  USB: serial: mos7720: fix parallel-port state restore
  USB: serial: remove write wait queue
  USB: serial: digi_acceleport: fix write-wakeup deadlocks
  USB: serial: keyspan_pda: drop redundant usb-serial pointer
  USB: serial: keyspan_pda: use BIT() macro
  USB: serial: keyspan_pda: clean up comments and whitespace
  USB: serial: keyspan_pda: clean up xircom/entrega support
  USB: serial: keyspan_pda: add write-fifo support
  USB: serial: keyspan_pda: increase transmitter threshold
  ...
2020-12-11 16:16:52 +01:00
Miquel Raynal
e5acf9c862 mtd: nand: ecc-hamming: Move Hamming code to the generic NAND layer
Hamming ECC code might be later re-used by the SPI NAND layer.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20200929230124.31491-12-miquel.raynal@bootlin.com
2020-12-10 22:37:29 +01:00
Zhen Lei
387270cb0b ARM: dts: mmp2-olpc-xo-1-75: clear the warnings when make dtbs
The check_spi_bus_bridge() in scripts/dtc/checks.c requires that the node
have "spi-slave" property must with "#address-cells = <0>" and
"#size-cells = <0>". But currently both "#address-cells" and "#size-cells"
properties are deleted, the corresponding default values are 2 and 1. As a
result, the check fails and below warnings is displayed.

arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): \
/soc/apb@d4000000/spi@d4037000: incorrect #address-cells for SPI bus
  also defined at arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3
arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): \
/soc/apb@d4000000/spi@d4037000: incorrect #size-cells for SPI bus
  also defined at arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3
arch/arm/boot/dts/mmp2-olpc-xo-1-75.dtb: Warning (spi_bus_reg): \
Failed prerequisite 'spi_bus_bridge'

Because the value of "#size-cells" is already defined as zero in the node
"ssp3: spi@d4037000" in arch/arm/boot/dts/mmp2.dtsi. So we only need to
explicitly add "#address-cells = <0>" and keep "#size-cells" no change.

Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20201207084752.1665-2-thunder.leizhen@huawei.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 23:00:14 +01:00
Arnd Bergmann
a05c51e04d Merge tag 'zynq-dt-for-v5.10' of https://github.com/Xilinx/linux-xlnx into arm/dt
ARM: dts: zynq: DT changes for v5.11

- Adding support for Zturn-v5
- Small DT changes to clean errors from dt_binding_check

* tag 'zynq-dt-for-v5.10' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: Fix incorrect reference to XM013 instead of XM011
  ARM: zynq: Convert at25 binding to new description on zc770-xm013
  ARM: zynq: Fix OCM mapping to be aligned with binding on zc702
  ARM: zynq: Fix leds subnode name for zc702/zybo-z7
  ARM: zynq: Rename bus to be align with simple-bus yaml
  ARM: zynq: Fix compatible string for adi,adxl345 chip
  ARM: zynq: Add Z-turn board V5
2020-12-09 18:00:06 +01:00
Arnd Bergmann
419fd28627 Merge tag 'aspeed-5.11-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into arm/dt
ASPEED device tree updates for 5.11

 - New machines

   * Bytedance G220A, an AST2500 BMC for an x86 server
   * Facebook Galaxy100, an AST2400 BMC for a network switch
   * IBM Rainier 4U, an AST2600 BMC for a PowerPC server

 - Reworking of Facebook device trees to use common dtsi

 - A 64MB flash layout used by the G220A

 - Misc updates to tiogapass, ethanolx, s2600wf, tacoma and rainier

* tag 'aspeed-5.11-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed: (25 commits)
  ARM: dts: aspeed: ast2600evb: Add MAC0
  ARM: dts: aspeed: rainier: Don't shout addresses
  ARM: dts: aspeed: rainier: Mark FSI SPI controllers as restricted
  ARM: dts: tacoma: Add reserved memory for ramoops
  ARM: dts: rainier: Add reserved memory for ramoops
  ARM: dts: tacoma: Fix node vs reg mismatch for flash memory
  ARM: dts: aspeed: rainier: Add 4U device-tree
  arm: dts: aspeed: tiogapass: Enable second MAC
  ARM: dts: aspeed: minipack: Fixup I2C tree
  ARM: dts: aspeed: wedge400: Fix FMC flash0 layout
  ARM: dts: aspeed: Add Facebook Galaxy100 (AST2400) BMC
  ARM: dts: aspeed: wedge100: Use common dtsi
  ARM: dts: aspeed: wedge40: Use common dtsi
  ARM: dts: aspeed: Common dtsi for Facebook AST2400 Network BMCs
  ARM: dts: aspeed: amd-ethanolx: Add GPIO line names
  ARM: dts: aspeed: amd-ethanolx: Enable devices for the iKVM functionality
  ARM: dts: aspeed: amd-ethanolx: Enable KCS channel 3
  ARM: dts: aspeed: tiogapass: Remove vuart
  ARM: dts: Fix label address for 64MiB OpenBMC flash layout
  ARM: dts: aspeed: g220a: Add some gpios
  ...

Link: https://lore.kernel.org/r/CACPK8Xfd7AmuEaUdFfYLu4ktcrpTnYUgwQSxUbC-McB02hvo_g@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:48:21 +01:00
Daniel Palmer
5919eec0f0 ARM: mstar: SMP support
This patch adds SMP support for MStar/Sigmastar chips that have a second core
like those in the infinity2m family.

So far only single and dual core chips have been found so this does
the bare minimum to boot the second core. From what I can tell not having
the "holding pen" code to handle multiple cores is fine if there is only
one core the will get booted. This might need to be reconsidered if chips
with more cores turn up.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20201201134330.3037007-11-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:45:40 +01:00
Daniel Palmer
ecaafac1eb ARM: mstar: Wire up smpctrl for SSD201/SSD202D
Add the specific compat string for the smpctrl registers to the
SSD201/SSD202D common dtsi.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20201201134330.3037007-10-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:45:40 +01:00
Daniel Palmer
570e471ce0 ARM: mstar: Add smp ctrl registers to infinity2m dtsi
Add the smpctrl registers to the infinity2m dtsi so that the
second CPU can be enabled on chips in this family.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20201201134330.3037007-9-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:45:40 +01:00
Daniel Palmer
418cb58b45 ARM: mstar: Add dts for Honestar ssd201htv2
Add a dts for the Honestar ssd201htv2 devkit.
This is for the board populated with a SSD202D.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20201201134330.3037007-8-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:45:40 +01:00
Daniel Palmer
dbbaf35d58 ARM: mstar: Add chip level dtsi for SSD202D
Add a chip level dtsi for the SigmaStar SSD202D

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20201201134330.3037007-7-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:45:40 +01:00
Daniel Palmer
572ef97bc7 ARM: mstar: Add common dtsi for SSD201/SSD202D
The SSD201 and SSD202D are basically the same chip with a different DDR die
packaged (64MB DDR2 or 128MB DDR3).

This patch adds a shared dtsi for the common parts of these chips like
gpio, pinctrl etc.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20201201134330.3037007-6-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:45:40 +01:00
Daniel Palmer
ba2290b1b7 ARM: mstar: Add infinity2m support
The infinity2m series of chips are like the other Mstar/Sigmastar
chips in that they have a Cortex A7 system with DDR memory integrated
in a single package.

The infinity2m chips are intended for recording the incoming streams
from IP cameras. So instead of video encoders they have video decoders,
instead of a camera interface they have display hardware and so on.

Aside from the above points the big difference about these chips is that
they include a second Cortex A7 core.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20201201134330.3037007-5-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:45:39 +01:00
Daniel Palmer
5b8a05b9e8 ARM: mstar: Fill in GPIO controller properties for infinity
Fill in the properties needed to use the GPIO controller
in the infinity and infinity3 chips.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20201129110803.2461700-6-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:42:30 +01:00
Daniel Palmer
74530d6451 ARM: mstar: Add gpio controller to MStar base dtsi
The GPIO controller is at the same address in all of the
currently known chips so create a node for it in the base
dtsi.

Some extra properties are needed to actually use it so
disable it by default.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20201129110803.2461700-5-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:42:29 +01:00
Arnd Bergmann
e7e499ee8a Merge tag 'imx-soc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/soc
i.MX SoC update for 5.11:

- Add revision detection support for i.MX7ULP revision 2.2.
- Add a little document for i.MX7ULP B2 silicon version.
- Add serial number support for i.MX23, i.MX28 SoCs through soc_device.
- Improve the identifying of i.MX6QP SoCs.

* tag 'imx-soc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: mxs: Add serial number support for i.MX23, i.MX28 SoCs
  ARM: imx: mach-imx6q: correctly identify i.MX6QP SoCs
  ARM: imx: imx7ulp: Add a comment explaining the B2 silicon version
  ARM: imx: Add revision support for i.MX7ULP revision 2.2

Link: https://lore.kernel.org/r/20201202142717.9262-2-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 17:27:35 +01:00
Arnd Bergmann
2efc35dc43 Merge tag 'samsung-soc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc
Samsung mach/soc changes for v5.11

1. Do not use of_machine_is_compatible() in early CPU hotplug core. Full
   device tree walk causes "suspicious RCU usage" warnings.
2. Clear prefetch bits in default l2c_aux_val of L310 L2C - they are not
   needed.
3. Extend cpuidle support to P4 Note boards (Exynos4412).

* tag 'samsung-soc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: exynos: extend cpuidle support to P4 Note boards
  ARM: exynos: clear prefetch bits in default l2c_aux_val
  ARM: exynos: Simplify code in Exynos3250 CPU core restart path

Link: https://lore.kernel.org/r/20201201204404.22675-4-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 16:58:48 +01:00
Michal Simek
a508f620b5 ARM: zynq: Fix incorrect reference to XM013 instead of XM011
Fix comment about targeted extension card. It was likely just c&p error.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/39e16e667aa8f132496092d4fa554935ddd5a55f.1606399500.git.michal.simek@xilinx.com
2020-12-09 15:20:11 +01:00
Michal Simek
536fada0cc ARM: zynq: Convert at25 binding to new description on zc770-xm013
The commit f8f79fa6bb ("dt-bindings: at25: convert the binding document
to yaml") converted binding to yaml and 3 deprecated properties pop up.

The patch is fixing these warnings:
.../zynq-zc770-xm013.dt.yaml: eeprom@2: 'pagesize' is a required property
.../zynq-zc770-xm013.dt.yaml: eeprom@2: 'size' is a required property
.../zynq-zc770-xm013.dt.yaml: eeprom@2: 'address-width' is a required property
>From schema: .../Documentation/devicetree/bindings/eeprom/at25.yaml

by converting them to new binding.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/be2c1125d98386033e182012eb08986924707a76.1606397101.git.michal.simek@xilinx.com
2020-12-09 15:18:31 +01:00
Michal Simek
225c132377 ARM: zynq: Fix OCM mapping to be aligned with binding on zc702
The commit f696299199 ("dt-bindings: sram: Convert SRAM bindings to
json-schema") converted binding to yaml and some missing required
properties started to be reported. Align binding based on it.

The patch is fixing these warnings:
.../zynq-zc702.dt.yaml: sram@fffc0000: '#address-cells' is a required property
.../zynq-zc702.dt.yaml: sram@fffc0000: '#size-cells' is a required property
.../zynq-zc702.dt.yaml: sram@fffc0000: 'ranges' is a required property
>From schema: .../Documentation/devicetree/bindings/sram/sram.yaml

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/87c02786ccd8d7827827a9d95a8737bb300caeb0.1606397101.git.michal.simek@xilinx.com
2020-12-09 15:18:29 +01:00
Michal Simek
38d1985fdf ARM: zynq: Fix leds subnode name for zc702/zybo-z7
Fix the leds subnode names to match (^led-[0-9a-f]$|led).

Similar change has been also done by commit 9a19a39ee4 ("arm64: dts:
zynqmp: Fix leds subnode name for zcu100/ultra96 v1").

The patch is fixing these warnings:
.../zynq-zc702.dt.yaml: leds: 'ds23' does not match any of the regexes:
'(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'
>From schema: .../Documentation/devicetree/bindings/leds/leds-gpio.yaml
.../zynq-zybo-z7.dt.yaml: gpio-leds: 'ld4' does not match any of the
regexes: '(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'
>From schema: .../Documentation/devicetree/bindings/leds/leds-gpio.yaml

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/607a66783b129294364abf09a6fc8abd241ff4ee.1606397101.git.michal.simek@xilinx.com
2020-12-09 15:18:28 +01:00
Michal Simek
3880c39a80 ARM: zynq: Rename bus to be align with simple-bus yaml
Rename amba to AXI. Based on Xilinx Zynq TRM (Chapter 5) chip is "AXI
point-to-point channels for communicating addresses, data, and response
transactions between master and slave clients. This ARM AMBA 3.0..."

Issues are reported as:
.. amba: $nodename:0: 'amba' does not match
'^([a-z][a-z0-9\\-]+-bus|bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
>From schema:
../github.com/devicetree-org/dt-schema/dtschema/schemas/simple-bus.yaml

Similar change has been done for Xilinx ZynqMP SoC.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/8a4bc80debfbb79c296e76fc1e4c173e62657286.1606397101.git.michal.simek@xilinx.com
2020-12-09 15:18:27 +01:00
Michal Simek
23ab93a148 ARM: zynq: Fix compatible string for adi,adxl345 chip
The commit e359a29225 ("dt-bindings: iio: accel: adxl345: switch to YAML
bindings") switched binding to yaml and the following error pop up:
../zynq-zturn-v5.dt.yaml: accelerometer@53: compatible: 'oneOf' conditional
failed, one must be
fixed:
['adi,adxl345', 'adxl345', 'adi,adxl34x', 'adxl34x'] is too long
Additional items are not allowed ('adi,adxl34x', 'adxl34x' were unexpected)
Additional items are not allowed ('adxl345', 'adi,adxl34x', 'adxl34x' were
unexpected)
'adi,adxl346' was expected
'adi,adxl345' was expected

Use only one compatible string to be aligned with the binding.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/a9075ab54df13461380e46d3002302d3672325b5.1606397101.git.michal.simek@xilinx.com
2020-12-09 15:18:21 +01:00
Ard Biesheuvel
54649911f3 efi: stub: get rid of efi_get_max_fdt_addr()
Now that ARM started following the example of arm64 and RISC-V, and
no longer imposes any restrictions on the placement of the FDT in
memory at boot, we no longer need per-arch implementations of
efi_get_max_fdt_addr() to factor out the differences. So get rid of
it.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Link: https://lore.kernel.org/r/20201029134901.9773-1-ardb@kernel.org
2020-12-09 08:37:27 +01:00
Ard Biesheuvel
c0249238fe efi: arm: reduce minimum alignment of uncompressed kernel
Now that we reduced the minimum relative alignment between PHYS_OFFSET
and PAGE_OFFSET to 2 MiB, we can take this into account when allocating
memory for the decompressed kernel when booting via EFI. This minimizes
the amount of unusable memory we may end up with due to the base of DRAM
being occupied by firmware.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-12-09 08:37:27 +01:00
Ard Biesheuvel
4dbe44fb53 efi: capsule: clean scatter-gather entries from the D-cache
Scatter-gather lists passed to UpdateCapsule() should be cleaned
from the D-cache to ensure that they are visible to the CPU after a
warm reboot before the MMU is enabled. On ARM and arm64 systems, this
implies a D-cache clean by virtual address to the point of coherency.

However, due to the fact that the firmware itself is not able to map
physical addresses back to virtual addresses when running under the OS,
this must be done by the caller.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-12-09 08:37:27 +01:00
Arnd Bergmann
4cc6ae9896 Merge tag 'omap-for-v5.11/genpd-drivers-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/drivers
Driver changes for omaps for genpd for v5.11 merge window

This series of changes allows booting am335x with genpd and
device tree data without the legacy platform data. Also at
least am437x can be booted with gendp with power domain and
dts data. The SoC specific dts changes will be a separate
pull request.

We need the following driver changes merged before the dts
changes can be done:

- platform code needs a few improvments to probe l4_wkup first
  for clocks, and to bail out when there is no platform data

- ti-sysc driver needs a non-urgent fix for asserting rstctrl
  reset only after disabling the clocks, to probe modules with
  no known control registers, and added quirk handling for gpmc
  devices

- omap-prm driver needs a non-urgent fix for reset status bit,
  support added for pm_clk, and then we add the rest of am335x
  power domain data

- clock driver for am335x needs to keep l3_main clock enabled
  with genpd for suspend and resume to work

- wkup_m3 remoteproc driver needs support added for reset
  control if available instead of the legacy pdata callbacks

- pm33xx driver needs PM runtime support added for genpd

The am335x specific driver changes for the clock, wkup_m3,
pm33xx and remoteproc drivers are quite trivial and have not
caused merge conflicts in Linux next. I did not get acks for
these changes except from Santosh but had already pushed out
the branch already at that point. So I've added the related
driver maintainers to Cc.

* tag 'omap-for-v5.11/genpd-drivers-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  remoteproc/wkup_m3: Use reset control driver if available
  soc: ti: pm33xx: Enable basic PM runtime support for genpd
  soc: ti: omap-prm: am3: add genpd support for remaining PRM instances
  soc: ti: omap-prm: Add pm_clk for genpd
  clk: ti: am33xx: Keep am3 l3 main clock always on for genpd
  bus: ti-sysc: Implement GPMC debug quirk to drop platform data
  bus: ti-sysc: Support modules without control registers
  ARM: OMAP2+: Probe PRCM first to probe l4_wkup with simple-pm-bus
  ARM: OMAP2+: Check for inited flag
  bus: ti-sysc: Assert reset only after disabling clocks
  soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted
  bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw
  bus: ti-sysc: Fix reset status check for modules with quirks
  ARM: OMAP2+: Fix missing select PM_GENERIC_DOMAINS_OF
  ARM: OMAP2+: Fix location for select PM_GENERIC_DOMAINS

Link: https://lore.kernel.org/r/pull-1606806458-694517@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 00:39:53 +01:00
Arnd Bergmann
4f9f1415bb Merge tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt
arm64: dts: amlogic updates for v5.11, round 2
- audio support for several more boards
- PHY timing fixes

* tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson: add i2c3/rtc nodes and vrtc alias to GT-King/GT-King-Pro
  arm64: dts: meson: g12b: w400: fix PHY deassert timing requirements
  arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements
  ARM: dts: meson: fix PHY deassert timing requirements
  arm64: dts: meson: fix PHY deassert timing requirements
  arm64: dts: meson: g12b: odroid-n2: fix PHY deassert timing requirements
  arm64: dts: meson: minor fixups for Khadas VIM/VIM2 dts
  arm64: dts: meson: add audio playback to wetek-play2
  arm64: dts: meson: add audio playback to wetek-hub
  arm64: dts: meson: add audio playback to odroid-c2
  arm64: dts: meson: add audio playback to nanopi-k2
  arm64: dts: meson: add audio playback to khadas-vim2
  arm64: dts: meson: add audio playback to khadas-vim
  arm64: dts: meson: add audio playback to a95x
  arm64: dts: meson-axg: add GE2D node

Link: https://lore.kernel.org/r/7ho8j4gkxo.fsf@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 00:06:33 +01:00
Arnd Bergmann
b4e217d0b3 Merge tag 'samsung-dt-5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt
Samsung DTS ARM changes for v5.11, part three

1. S3C bindings and DTS cleanup,
2. Correct the clock rates for SPI0 in Artik 5 which is a fix for recently
   introduced Ethernet on SPI on Artik 5 board.

* tag 'samsung-dt-5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: Reduce assigned-clocks entries for SPI0 on Artik5 board
  ARM: dts: s3c6410: correct SMDK6410 board compatible
  ARM: dts: s3c24xx: add SMDK2416 board compatible
  dt-bindings: arm: samsung: document S3C6410-based boards binding
  dt-bindings: arm: samsung: document SMDK2416 board binding

Link: https://lore.kernel.org/r/20201207074528.4475-2-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 00:05:30 +01:00
Arnd Bergmann
4569830224 Merge tag 'v5.11-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt
Veyron backlight fix, another fix for dtbs-check and some additions
to the rk3288-based VMARC boards.

* tag 'v5.11-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: Add SDIO0 node for VMARC SOM
  ARM: dts: rockchip: Add rtc node for VMARC SOM
  ARM: dts: rockchip: rename wdt nodename to watchdog on rv1108
  ARM: dts: rockchip: Remove 0 point from brightness-levels on rk3288-veyron

Link: https://lore.kernel.org/r/4582475.GXAFRqVoOG@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 00:04:35 +01:00
Arnd Bergmann
f8ff2f057e Merge tag 'at91-dt-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/dt
AT91 DT for 5.11 #2:

 - switch to new TCB PWM bindings
 - rework ADC bindings
 - fix sama5d2 securam and can1

* tag 'at91-dt-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: sama5d2: fix CAN message ram offset and size
  ARM: dts: at91: sama5d2: map securam as device
  ARM: dts: at91: sam9x60ek: remove bypass property
  ARM: dts: at91: remove deprecated ADC properties
  ARM: dts: at91: at91sam9rl: fix ADC triggers
  ARM: dts: at91: sama5d3: use proper ADC compatible
  ARM: dts: at91: kizbox: switch to new pwm-atmel-tcb binding

Link: https://lore.kernel.org/r/20201206013840.GA627225@piout.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-09 00:01:59 +01:00
Arnd Bergmann
aa66be3bff Merge tag 'imx-dt-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt
i.MX device tree update for 5.11:

- New board support: imx6dl-alti6p, imx6dl-lanmcu, mx6qp-prtwd3,
  imx6ul-phytec-segin and imx7d-flex-concentrator.
- Fix schema warnings for pwm-leds, watchdog and GPIO hog devices.
- A few patches from Krzysztof Kozlowski to correct compatibles for
  i.MX6/7 boards.
- A series from Matthias Schiffer to polish imx7-mba7 board support.
- Update i.MX6/7 device trees for fsl,stop-mode support.
- Correct fsl,rcpm-wakeup of LS1021A to get flextimer wake-up work.
- A series of patch from Stefan Riedmueller to update phytec and segin
  devices.
- Other small and random changes.

* tag 'imx-dt-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (40 commits)
  ARM: dts: imx28: Fix label name for L2 switch
  ARM: dts: add Protonic WD3 board
  ARM: dts: imx6qdl-kontron-samx6i: increase i2c-frequency
  ARM: dts: imx7: add support for kamstrup flex concentrator
  ARM: dts: ls1021a: update calibration table for TMU module
  ARM: dts: ls1021a: fix rcpm failed to claim resource
  ARM: dts: ls1021a: fix flextimer failed to wake system
  ARM: dts: imx50-kobo-aura: Enable eKTF2132 touchscreen
  ARM: dts: imx: Change flexcan node name to "can"
  ARM: dts: imx6q-pico: fix board compatibles
  ARM: dts: add Van der Laan LANMCU board
  ARM: dts: add Altesco I6P board
  ARM: dts: imx6ul: segin: peb-av-02: Mark stmpe touch as wakeup-source
  ARM: dts: imx6ul: phytec: Add support for optional PEB-AV-02 LCD adapter
  ARM: dts: imx6ul: segin: Add phyBOARD-Segin with eMMC phyCORE-i.MX6UL
  ARM: dts: imx50-kobo-aura: Add 'grp' suffix to pinctrl node names
  ARM: dts: imx: add usb alias
  ARM: dts: imx6/7: sync fsl,stop-mode with current flexcan driver
  ARM: dts: imx: Fix schema warnings for pwm-leds
  ARM: dts: imx7s-warp: correct vendor in compatible to Element14
  ...

Link: https://lore.kernel.org/r/20201202142717.9262-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 23:58:19 +01:00
Arnd Bergmann
ff741319bc Merge tag 'samsung-dt-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt
Samsung DTS ARM changes for v5.11, part two

1. Add devicetree of Samsung Galaxy Note 10.1 tablets
   (GT-N8010/GT-N8013), called P4 Note.  These are quite old but
   still functional devices, based on Exynos4412.
2. Minor cleanups in Odroid XU3 Ethernet.
3. Minor fixes: ADC io-channel-ranges and P4 Note touchscreen GPIO
   polarity.

* tag 'samsung-dt-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: switch Atmel mxt reset GPIO to active low on P4 Note
  ARM: dts: s5pv210: Drop unneeded io-channel-ranges property in Aries
  ARM: dts: s5pv210: Drop incorrect use of io-channel-ranges property
  ARM: dts: exynos: Drop incorrect use of io-channel-ranges
  ARM: dts: exynos: add Samsung's Exynos4412-based P4 Note boards
  dt-bindings: arm: samsung: document bindings for P4 Note family board
  ARM: dts: exynos: Add an alias for the Ethernet interface on Odroid XU3
  ARM: dts: exynos: Fix Ethernet interface description on Odroid XU3

Link: https://lore.kernel.org/r/20201201204404.22675-2-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 23:54:12 +01:00
Arnd Bergmann
30912c3ce6 Merge tag 'keystone_dts_for_5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into arm/dt
ARM: dts: Keystone DTS update for v5.11

- HDMI Support
- Analog Audio data support

* tag 'keystone_dts_for_5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone-k2g-evm: add HDMI and analog audio data

Link: https://lore.kernel.org/r/1606851472-26593-1-git-send-email-santosh.shilimkar@oracle.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 23:53:14 +01:00
Arnd Bergmann
6ce23595b5 Merge tag 'qcom-dts-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt
Qualcomm DT updates for 5.11

This adds support for SD card, WiFi, LED, touchscreeni, touchkey and
fuel gauge to the Samsung Galaxy S5. Nexus 5 also gains fuel gauge
support.

Finally IPQ6016 gains support for the QPIC NAND controller.

* tag 'qcom-dts-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: dts: ipq6018: Add the QPIC peripheral nodes
  ARM: dts: qcom-pma8084: Drop incorrect use of io-channel-ranges
  ARM: dts: qcom: msm8974-lge-nexus5: Add fuel gauge
  ARM: dts: qcom: msm8974-klte: Add fuel gauge
  ARM: dts: qcom: msm8974-klte: Add support for SD card
  ARM: dts: qcom: msm8974-klte: Add support for wifi
  ARM: dts: qcom: msm8974-klte: Add gpio expander chip
  ARM: dts: qcom: msm8974-klte: Add support for led
  ARM: dts: qcom: msm8974-klte: Add support for touchscreen
  ARM: dts: qcom: msm8974-klte: Add support for touchkey
  ARM: dts: qcom: msm8974-klte: Merge pinctrl nodes

Link: https://lore.kernel.org/r/20201130190148.345302-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 23:51:52 +01:00
Arnd Bergmann
9bc08aa60f Merge tag 'mvebu-dt-5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into arm/dt
mvebu dt for 5.11 (part 1)

 - Add support for MikroTik CRS3xx switches
 - Add support for RD-AC3X-48G4X2XL board : Armada 382 SoC connected
   to Prestera AC3X ASIC through PCI
 - Clean-up kirkwood device tree: replace "ok" by "okay"
 - Improve device tree for PCA953x gpio expander nodes
 - Use compliant node name for USB3 on armada 375
 - 98dx3236 SoCs:
    - remove non-existent i2c1
    - add i2c0 pinctrl information
 - Improve device tree for Turris Omnia

* tag 'mvebu-dt-5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: dts: mvebu: Add device tree for RD-AC3X-48G4X2XL board
  arm: dts: marvell: armada-375: Harmonize DWC USB3 DT nodes name
  ARM: dts: turris-omnia: remove unneeded status = "okay" properties
  ARM: dts: turris-omnia: update ethernet-phy node and handle name
  ARM: dts: turris-omnia: add LED controller node
  ARM: dts: turris-omnia: add SFP node
  ARM: dts: turris-omnia: describe switch interrupt
  ARM: dts: turris-omnia: add comphy handle to eth2
  ARM: dts: turris-omnia: enable HW buffer management
  ARM: dts: Add i2c0 pinctrl information for 98dx3236
  ARM: dts: Remove non-existent i2c1 from 98dx3236
  ARM: dts: armada: align GPIO hog names with dtschema
  ARM: dts: dove: fix PCA95xx GPIO expander properties on A510
  ARM: dts: kirkwood: replace status value "ok" by "okay"
  ARM: dts: mvebu: Add CRS328-4C-20S-4S board
  ARM: dts: mvebu: Add CRS305-1G-4S board
  ARM: dts: mvebu: Add CRS326-24G-2S board

Link: https://lore.kernel.org/r/87h7p6j0m7.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 23:44:46 +01:00
Arnd Bergmann
f458d69bf7 Merge tag 'nuvoton-5.11-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into arm/dt
Nuvoton device tree updates for 5.11

 - New machines

   * Fii Kudo, a NPCM730 BMC
   * Quanta GSJ, a NPCM750 BMC
   * Qanta Olympus RunBMC, a NPCM750 BMC

 - Updates to the common device trees and NCPM750 EVB

* tag 'nuvoton-5.11-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc:
  dt-bindings: vendor-prefixes: Add FII
  ARM: dts: nuvoton: Add Fii Kudo system
  ARM: dts: nuvoton: Add NPCM7xx RunBMC Olympus Quanta machine
  ARM: dts: nuvoton: Add Quanta GSJ BMC
  ARM: dts: nuvoton: Add Quanta GSJ BMC pinctrl
  ARM: dts: nuvoton: Add Nuvoton NPCM730 device tree
  ARM: dts: nuvoton: Add new device nodes to NPCM750 EVB
  ARM: dts: nuvoton: Add new device nodes
  ARM: dts: nuvoton: Add pinctrl and GPIO node
  ARM: dts: nuvoton: Modify timer register size
  ARM: dts: nuvoton: Modify clock parameters

Link: https://lore.kernel.org/r/CACPK8Xd8RaLv_p6t9ckBwCwtZww+2YYOAoAYQdvni0dxc2mS7A@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 23:43:33 +01:00
Arnd Bergmann
c8b53b1c6b Merge tag 'arm-soc/for-5.11/devicetree' of https://github.com/Broadcom/stblinux into arm/dt
This pull request contains Broadcom ARM-based SoCs changes for 5.11,
please pull the following:

- Vivek updates the Linksys EA9500 DTS by adding the two additional
  switch port nodes (5 & 7), providing a flash partition layout to
  make the device usable with OpenWrt, and finally switches to using
  the pin controller rather than using mdio-mux to get the same outcome.

- Serge fixes the USB Device Tree nodes unit name to be conformant to
  the recommended name patterns.

- Rafal re-arranges all the nodes that belonged to the CRU block to be
  under the CRU node (such as PLLs). He also disables the USB3 PHY node
  for devices that lack USB3 and adds USB3 support to the Luxul XWR-3150
  DTS.

- Jonathan drops the incorrect 'io-channel-ranges' from the Cygnus SoC
  DTSI.

- Maxime disables the Wi-Fi frequencies (around 2.4GHz) for HDMI on the
  Raspberry Pi 4 due to some cross-talk between the two blocks.

- Pavel updates the DWC2 USB controller RX FIFO sizes to be more
  accurate for all BCM283x (Raspberr Pi) SoCs.

- Florian updates all BCM5301x and NSP Device Tree files to allow
  switching the Broadcom B53 Ethernet switch device tree binding to YAML.

* tag 'arm-soc/for-5.11/devicetree' of https://github.com/Broadcom/stblinux: (22 commits)
  dt-bindings: net: dsa: b53: Add YAML bindings
  ARM: dts: NSP: Provide defaults ports container node
  ARM: dts: NSP: Add a SRAB compatible string for each board
  ARM: dts: NSP: Fix Ethernet switch SGMII register name
  ARM: dts: NSP: Update ethernet switch node name
  ARM: dts: BCM5301X: Provide defaults ports container node
  ARM: dts: BCM5301X: Add a default compatible for switch node
  ARM: dts: BCM5301X: Update Ethernet switch node name
  dt-bindings: net: dsa: Document sfp and managed properties
  dt-bindings: net: dsa: Extend switch nodes pattern
  ARM: dts: bcm283x: increase dwc2's RX FIFO size
  ARM: dts: rpi-4: disable wifi frequencies
  ARM: dts: Cygnus: Drop incorrect io-channel-ranges property.
  ARM: dts: BCM5301X: Enable USB 3 PHY on Luxul XWR-3150
  ARM: dts: BCM5301X: Disable USB 3 PHY on devices without USB 3
  ARM: dts: BCM5301X: Move CRU devices to the CRU node
  ARM: dts: BCM5301X: Linksys EA9500 make use of pinctrl
  ARM: dts: BCM5301X: Use corretc pinctrl compatible for 4709x
  ARM: dts: BCM5301X: Linksys EA9500 add fixed partitions
  ARM: dts: BCM5310X: Harmonize xHCI DT nodes name
  ...

Link: https://lore.kernel.org/r/20201128163410.1691529-3-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 23:36:22 +01:00
Arnd Bergmann
915a391915 Merge tag 'sunxi-dt-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt
Our usual bunch of patches to support the Allwinner SoCs, this time
adding:
  - Some nice pinephone additions
  - I2S support for the A64, H3, H5 and H6
  - New boards: Elimo Impetus, Elimo Initium, FriendlyArm ZeroPi, NanoPi R1

* tag 'sunxi-dt-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (21 commits)
  ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add gpio-line-names
  ARM: dts: sun8i: h3: Add initial NanoPi R1 support
  arm64: dts: allwinner: pinephone: Use generic sensor node names
  ARM: dts: sun8i: s3: Add dts for the Elimo Initium SBC
  dt-bindings: arm: sunxi: add Elimo bindings
  ARM: dts: sun8i: s3: Add dtsi for the Elimo Impetus SoM
  arm64: dts: allwinner: pinephone: Add Bluetooth support
  arm64: dts: allwinner: pinephone: Add WiFi support
  arm64: dts: allwinner: pinephone: Add light/proximity sensor
  arm64: dts: allwinner: pinephone: Add LED flash
  arm64: dts: allwinner: pinephone: Set ALDO3 to exactly 3v0
  arm64: dts: allwinner: pinephone: Remove AC power supply
  arm: dts: sunxi: h3/h5: Add I2S2 node
  arm64: dts: allwinner: a64: Add I2S2 node
  arm64: dts: allwinner: h6: Add I2S1 node
  arm64: dts: allwinner: h6: PineH64 model B: Add wifi
  ARM: dts: sun8i-v3s: Add I2C1 PB pins description
  ARM: dts: sun8i: V3/S3: Add UART1 pin definitions to the V3/S3 dtsi
  dt-bindings: vendors: add Elimo Engineering vendor prefix
  ARM: dts: sun8i: add FriendlyArm ZeroPi support
  ...

Link: https://lore.kernel.org/r/551fdf4f-8a0b-4a22-ba49-b4f61520a9ab.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 23:34:53 +01:00
Arnd Bergmann
ab8d302c48 Merge tag 'at91-dt-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/dt
AT91 DT for 5.11:

 - fix USB host pinctrl
 - fix DT schema warnings

* tag 'at91-dt-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
  ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
  ARM: dts: at91: sam9x60: add pincontrol for USB Host
  ARM: dts: at91: at91-sama5d27_som1: fix EEPROM compatible
  ARM: dts: at91: Fix schema warnings for pwm-leds
  ARM: dts: at91: smartkiz: Reference led node directly

Link: https://lore.kernel.org/r/20201127220403.GA1735041@piout.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 23:33:37 +01:00
Andrey Zhizhikin
0437141b4e ARM: configs: drop unused BACKLIGHT_GENERIC option
Commit 7ecdea4a02 ("backlight: generic_bl: Remove this driver as it is
unused") removed geenric_bl driver from the tree, together with
corresponding config option.

Remove BACKLIGHT_GENERIC config item from all ARM configurations.

Fixes: 7ecdea4a02 ("backlight: generic_bl: Remove this driver as it is unused")
Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Link: https://lore.kernel.org/r/20201201222922.3183-2-andrey.zhizhikin@leica-geosystems.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 17:30:24 +01:00
Arnd Bergmann
1fe9c25319 Merge tag 'samsung-defconfig-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/defconfig
Samsung defconfig changes for v5.11

1. Enable sound driver for Midas (Exynos4412 based) boards.
2. Enable ax88796c Ethernet driver for Artik5 (Exynos3250) board.
3. Enable Atmel touchscreen and STMPE ADC drivers for P4 Note board.
4. Build Samsung Exynos EHCI as module, to match the setting for the PHY
   driver.

* tag 'samsung-defconfig-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: multi_v7_defconfig: make Samsung Exynos EHCI driver a module
  ARM: exynos_defconfig: compile Atmel MXT touchscreeen as module
  ARM: defconfig: add STMPE ADC driver for P4 Note
  ARM: defconfig: Enable ax88796c driver for Exynos boards
  ARM: multi_v7_defconfig: enable sound driver for Midas platform
  ARM: exynos_defconfig: enable sound driver for Midas platform

Link: https://lore.kernel.org/r/20201201204404.22675-1-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 17:20:05 +01:00
Arnd Bergmann
6f7cdd2fbf Merge tag 'arm-soc/for-5.11/defconfig' of https://github.com/Broadcom/stblinux into arm/defconfig
This pull request contains ARM multi_v7_defconfig changes for 5.11,
please pull the following:

- Florian enables the ARM SCMI protocol, and the common clock, HWMON and
  CPU frequency scaling drivers since those are used by ARCH_BRCMSTB
  platforms

* tag 'arm-soc/for-5.11/defconfig' of https://github.com/Broadcom/stblinux:
  ARM: multi_v7_defconfig: Enable ARM SCMI protocol and drivers

Link: https://lore.kernel.org/r/20201128163410.1691529-1-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 17:16:00 +01:00
Arnd Bergmann
11de454b4c Merge tag 'sunxi-config-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/defconfig
One patch to add the Realtek PHY driver to sunxi_defconfig

* tag 'sunxi-config-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  ARM: configs: sunxi: enable Realtek PHY

Link: https://lore.kernel.org/r/dffb8a7e-27ea-4025-868a-caa5868eb1ef.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 17:14:16 +01:00
Arnd Bergmann
d4ff08d6e2 Merge tag 'at91-defconfig-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/defconfig
AT91 defconfig for 5.11:

 - filter compiled media drivers

* tag 'at91-defconfig-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: configs: at91_dt: resync with media changes
  ARM: configs: at91: sama5: resync with media changes

Link: https://lore.kernel.org/r/20201127215517.GA1733715@piout.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-12-08 17:03:22 +01:00
Nicolas Pitre
e64ab473dd ARM: 9034/1: __div64_32(): straighten up inline asm constraints
The ARM version of __div64_32() encapsulates a call to __do_div64 with
non-standard argument passing. In particular, __n is a 64-bit input
argument assigned to r0-r1 and __rem is an output argument sharing half
of that r0-r1 register pair.

With __n being an input argument, the compiler is in its right to
presume that r0-r1 would still hold the value of __n past the inline
assembly statement. Normally, the compiler would have assigned non
overlapping registers to __n and __rem if the value for __n is needed
again.

However, here we enforce our own register assignment and gcc fails to
notice the conflict. In practice this doesn't cause any problem as __n
is considered dead after the asm statement and *n is overwritten.
However this is not always guaranteed and clang rightfully complains.

Let's fix it properly by making __n into an input-output variable. This
makes it clear that those registers representing __n have been modified.
Then we can extract __rem as the high part of __n with plain C code.

This asm constraint "abuse" was likely relied upon back when gcc didn't
handle 64-bit values optimally. Turns out that gcc is now able to
optimize things and produces the same code with this patch applied.

Reported-by: Antony Yu <swpenim@gmail.com>
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Tested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-12-08 10:15:52 +00:00
Ard Biesheuvel
f77ac2e378 ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel mode
There are a couple of problems with the exception entry code that deals
with FP exceptions (which are reported as UND exceptions) when building
the kernel in Thumb2 mode:
- the conditional branch to vfp_kmode_exception in vfp_support_entry()
  may be out of range for its target, depending on how the linker decides
  to arrange the sections;
- when the UND exception is taken in kernel mode, the emulation handling
  logic is entered via the 'call_fpe' label, which means we end up using
  the wrong value/mask pairs to match and detect the NEON opcodes.

Since UND exceptions in kernel mode are unlikely to occur on a hot path
(as opposed to the user mode version which is invoked for VFP support
code and lazy restore), we can use the existing undef hook machinery for
any kernel mode instruction emulation that is needed, including calling
the existing vfp_kmode_exception() routine for unexpected cases. So drop
the call to call_fpe, and instead, install an undef hook that will get
called for NEON and VFP instructions that trigger an UND exception in
kernel mode.

While at it, make sure that the PC correction is accurate for the
execution mode where the exception was taken, by checking the PSR
Thumb bit.

Cc: Dmitry Osipenko <digetx@gmail.com>
Cc: Kees Cook <keescook@chromium.org>
Fixes: eff8728fe6 ("vmlinux.lds.h: Add PGO and AutoFDO input sections")
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-12-08 10:15:00 +00:00
Jian Cai
3c9f5708b7 ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler
This patch replaces 6 IWMMXT instructions Clang's integrated assembler
does not support in iwmmxt.S using macros, while making sure GNU
assembler still emit the same instructions. This should be easier than
providing full IWMMXT support in Clang.  This is one of the last bits of
kernel code that could be compiled but not assembled with clang. Once
all of it works with IAS, we no longer need to special-case 32-bit Arm
in Kbuild, or turn off CONFIG_IWMMXT when build-testing.

"Intel Wireless MMX Technology - Developer Guide - August, 2002" should
be referenced for the encoding schemes of these extensions.

Link: https://github.com/ClangBuiltLinux/linux/issues/975

Suggested-by: Nick Desaulniers <ndesaulniers@google.com>
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Jian Cai <jiancai@google.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-12-08 10:14:59 +00:00
Ard Biesheuvel
4d576cab16 ARM: 9028/1: disable KASAN in call stack capturing routines
KASAN uses the routines in stacktrace.c to capture the call stack each
time memory gets allocated or freed. Some of these routines are also
used to log CPU and memory context when exceptions are taken, and so
in some cases, memory accesses may be made that are not strictly in
line with the KASAN constraints, and may therefore trigger false KASAN
positives.

So follow the example set by other architectures, and simply disable
KASAN instrumentation for these routines.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-12-08 10:14:57 +00:00
Nick Desaulniers
331b9d02d7 ARM: 9026/1: unwind: remove old check for GCC <= 4.2
Since
commit 0bddd227f3 ("Documentation: update for gcc 4.9 requirement")
the minimum supported version of GCC is gcc-4.9. It's now safe to remove
this code.

Link: https://github.com/ClangBuiltLinux/linux/issues/427

Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-12-08 10:13:59 +00:00
Nick Desaulniers
28187dc8eb ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN depends on !LD_IS_LLD
LLD does not yet support any big endian architectures. Make this config
non-selectable when using LLD until LLD is fixed.

Link: https://github.com/ClangBuiltLinux/linux/issues/965

Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-12-08 10:13:54 +00:00