summaryrefslogtreecommitdiffstats
path: root/arch/arm/Kconfig.debug
Commit message (Collapse)AuthorAgeFilesLines
* ARM: debug-ll: Add support for r8a77470Biju Das2018-04-161-2/+11
| | | | | | | | | | Enable low-level debugging support for RZ/G1C (r8a77470). RZ/G1C uses SCIF1 for the debug console. Signed-off-by: Biju Das <biju.das@bp.renesas.com> Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
* ARM: 8747/1: make CONFIG_DEBUG_WX depend on MMUArnd Bergmann2018-03-241-0/+1
| | | | | | | | | | | | | | | | | | | | | Without CONFIG_MMU, this results in a build failure: ./arch/arm/include/asm/memory.h:92:23: error: initializer element is not constant #define VECTORS_BASE vectors_base arch/arm/mm/dump.c:32:4: note: in expansion of macro 'VECTORS_BASE' { VECTORS_BASE, "Vectors" }, arch/arm/mm/dump.c:71:11: error: 'L_PTE_USER' undeclared here (not in a function); did you mean 'VTIME_USER'? .mask = L_PTE_USER, ^~~~~~~~~~ Obviously the feature only makes sense with an MMU, so let's add the dependency here. Fixes: a8e53c151fe7 ("ARM: 8737/1: mm: dump: add checking for writable and executable") Acked-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
* ARM: 8737/1: mm: dump: add checking for writable and executableJinbum Park2018-01-211-0/+27
| | | | | | | | | | | | | | | | Page mappings with full RWX permissions are a security risk. x86, arm64 has an option to walk the page tables and dump any bad pages. (1404d6f13e47 ("arm64: dump: Add checking for writable and exectuable pages")) Add a similar implementation for arm. Reviewed-by: Kees Cook <keescook@chromium.org> Tested-by: Laura Abbott <labbott@redhat.com> Reviewed-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Jinbum Park <jinb.park7@gmail.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
* ARM: 8735/1: mm: dump: make page table dumping reusableJinbum Park2018-01-211-1/+5
| | | | | | | | | | | | | | | This patch refactors the arm page table dumping code, so multiple tables may be registered with the framework. This patch refers below commits of arm64. (4674fdb9f149 ("arm64: mm: dump: make page table dumping reusable")) (4ddb9bf83349 ("arm64: dump: Make ptdump debugfs a separate option")) Reviewed-by: Kees Cook <keescook@chromium.org> Tested-by: Laura Abbott <labbott@redhat.com> Reviewed-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Jinbum Park <jinb.park7@gmail.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
* Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-armLinus Torvalds2017-11-261-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull ARM fixes from Russell King: - LPAE fixes for kernel-readonly regions - Fix for get_user_pages_fast on LPAE systems - avoid tying decompressor to a particular platform if DEBUG_LL is enabled - BUG if we attempt to return to userspace but the to-be-restored PSR value keeps us in privileged mode (defeating an issue that ftracetest found) * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: BUG if jumping to usermode address in kernel mode ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE ARM: 8721/1: mm: dump: check hardware RO bit for LPAE ARM: make decompressor debug output user selectable ARM: fix get_user_pages_fast
| * ARM: make decompressor debug output user selectableRussell King2017-11-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | Make the decompressor debug output user selectable, otherwise merely enabling DEBUG_LL causes the decompressor to become board specific, thereby preventing a multi-platform kernel from booting. Enabling DEBUG_LL doesn't cause the kernel itself to become platform specific unless EARLY_PRINTK is enabled, or one of the debugging routines is added in a path that results in it being called. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
* | Merge tag 'armsoc-soc' of ↵Linus Torvalds2017-11-161-1/+19
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC platform updates from Arnd Bergmann: "Most of the commits are for defconfig changes, to enable newly added drivers or features that people have started using. For the changed lines lines, we have mostly cleanups, the affected platforms are OMAP, Versatile, EP93xx, Samsung, Broadcom, i.MX, and Actions. The largest single change is the introduction of the TI "sysc" bus driver, with the intention of cleaning up more legacy code. Two new SoC platforms get added this time: - Allwinner R40 is a modernized version of the A20 chip, now with a Quad-Core ARM Cortex-A7. According to the manufacturer, it is intended for "Smart Hardware" - Broadcom Hurricane 2 (Aka Strataconnect BCM5334X) is a family of chips meant for managed gigabit ethernet switches, based around a Cortex-A9 CPU. Finally, we gain SMP support for two platforms: Renesas R-Car E2 and Amlogic Meson8/8b, which were previously added but only supported uniprocessor operation" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (118 commits) ARM: multi_v7_defconfig: Select RPMSG_VIRTIO as module ARM: multi_v7_defconfig: enable CONFIG_GPIO_UNIPHIER arm64: defconfig: enable CONFIG_GPIO_UNIPHIER ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b ARM: meson: Add SMP bringup code for Meson8 and Meson8b ARM: smp_scu: allow the platform code to read the SCU CPU status ARM: smp_scu: add a helper for powering on a specific CPU dt-bindings: Amlogic: Add Meson8 and Meson8b SMP related documentation ARM: OMAP3: Delete an unnecessary variable initialisation in omap3xxx_hwmod_init() ARM: OMAP3: Use common error handling code in omap3xxx_hwmod_init() ARM: defconfig: select the right SX150X driver arm64: defconfig: Enable QCOM_IOMMU arm64: Add ThunderX drivers to defconfig arm64: defconfig: Enable Tegra PCI controller cpufreq: imx6q: Move speed grading check to cpufreq driver arm64: defconfig: re-enable Qualcomm DB410c USB ARM: configs: stm32: Add MDMA support in STM32 defconfig ARM: imx: Enable cpuidle for i.MX6DL starting at 1.1 bus: ti-sysc: Fix unbalanced pm_runtime_enable by adding remove bus: ti-sysc: mark PM functions as __maybe_unused ...
| * \ Merge tag 'arm-soc/for-4.15/soc-part2' of ↵Arnd Bergmann2017-10-301-1/+9
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://github.com/Broadcom/stblinux into next/soc Pull "Broadcom soc changes for 4.15 (part 2)" from Florian Fainelli: This pull request contains Broadcom ARM-based SoC changes for 4.15 (second part), please pull the following: - Florian adds support for the Broadcom Hurricane 2 SoC machine entry point and defines the debug UART address for use with earlyprintk/DEBUG_LL * tag 'arm-soc/for-4.15/soc-part2' of http://github.com/Broadcom/stblinux: ARM: debug: Add Hurricane 2 UART2 debug addresses ARM: bcm: Add support for Broadcom Hurricane 2 SoC
| | * | ARM: debug: Add Hurricane 2 UART2 debug addressesFlorian Fainelli2017-10-121-1/+9
| | |/ | | | | | | | | | | | | | | | | | | | | | Broadcom Hurricane 2 SoCs typically use their secondary UART for debug/console, provide a known good location for that. Acked-by: Jon Mason <jon.mason@broadcom.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
| * / ARM: debug-ll: Add support for r8a7745Fabrizio Castro2017-09-181-0/+10
| |/ | | | | | | | | | | | | | | | | | | Enable low-level debugging support for RZ/G1E (r8a7745). RZ/G1E uses SCIF4 for the debug console. Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Reviewed-by: Chris Paterson <chris.paterson2@renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
* / License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman2017-11-021-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many source files in the tree are missing licensing information, which makes it harder for compliance tools to determine the correct license. By default all files without license information are under the default license of the kernel, which is GPL version 2. Update the files which contain no license information with the 'GPL-2.0' SPDX license identifier. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. This patch is based on work done by Thomas Gleixner and Kate Stewart and Philippe Ombredanne. How this work was done: Patches were generated and checked against linux-4.14-rc6 for a subset of the use cases: - file had no licensing information it it. - file was a */uapi/* one with no licensing information in it, - file was a */uapi/* one with existing licensing information, Further patches will be generated in subsequent months to fix up cases where non-standard license headers were used, and references to license had to be inferred by heuristics based on keywords. The analysis to determine which SPDX License Identifier to be applied to a file was done in a spreadsheet of side by side results from of the output of two independent scanners (ScanCode & Windriver) producing SPDX tag:value files created by Philippe Ombredanne. Philippe prepared the base worksheet, and did an initial spot review of a few 1000 files. The 4.13 kernel was the starting point of the analysis with 60,537 files assessed. Kate Stewart did a file by file comparison of the scanner results in the spreadsheet to determine which SPDX license identifier(s) to be applied to the file. She confirmed any determination that was not immediately clear with lawyers working with the Linux Foundation. Criteria used to select files for SPDX license identifier tagging was: - Files considered eligible had to be source code files. - Make and config files were included as candidates if they contained >5 lines of source - File already had some variant of a license header in it (even if <5 lines). All documentation files were explicitly excluded. The following heuristics were used to determine which SPDX license identifiers to apply. - when both scanners couldn't find any license traces, file was considered to have no license information in it, and the top level COPYING file license applied. For non */uapi/* files that summary was: SPDX license identifier # files ---------------------------------------------------|------- GPL-2.0 11139 and resulted in the first patch in this series. If that file was a */uapi/* path one, it was "GPL-2.0 WITH Linux-syscall-note" otherwise it was "GPL-2.0". Results of that was: SPDX license identifier # files ---------------------------------------------------|------- GPL-2.0 WITH Linux-syscall-note 930 and resulted in the second patch in this series. - if a file had some form of licensing information in it, and was one of the */uapi/* ones, it was denoted with the Linux-syscall-note if any GPL family license was found in the file or had no licensing in it (per prior point). Results summary: SPDX license identifier # files ---------------------------------------------------|------ GPL-2.0 WITH Linux-syscall-note 270 GPL-2.0+ WITH Linux-syscall-note 169 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) 21 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 17 LGPL-2.1+ WITH Linux-syscall-note 15 GPL-1.0+ WITH Linux-syscall-note 14 ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) 5 LGPL-2.0+ WITH Linux-syscall-note 4 LGPL-2.1 WITH Linux-syscall-note 3 ((GPL-2.0 WITH Linux-syscall-note) OR MIT) 3 ((GPL-2.0 WITH Linux-syscall-note) AND MIT) 1 and that resulted in the third patch in this series. - when the two scanners agreed on the detected license(s), that became the concluded license(s). - when there was disagreement between the two scanners (one detected a license but the other didn't, or they both detected different licenses) a manual inspection of the file occurred. - In most cases a manual inspection of the information in the file resulted in a clear resolution of the license that should apply (and which scanner probably needed to revisit its heuristics). - When it was not immediately clear, the license identifier was confirmed with lawyers working with the Linux Foundation. - If there was any question as to the appropriate license identifier, the file was flagged for further research and to be revisited later in time. In total, over 70 hours of logged manual review was done on the spreadsheet to determine the SPDX license identifiers to apply to the source files by Kate, Philippe, Thomas and, in some cases, confirmation by lawyers working with the Linux Foundation. Kate also obtained a third independent scan of the 4.13 code base from FOSSology, and compared selected files where the other two scanners disagreed against that SPDX file, to see if there was new insights. The Windriver scanner is based on an older version of FOSSology in part, so they are related. Thomas did random spot checks in about 500 files from the spreadsheets for the uapi headers and agreed with SPDX license identifier in the files he inspected. For the non-uapi files Thomas did random spot checks in about 15000 files. In initial set of patches against 4.14-rc6, 3 files were found to have copy/paste license identifier errors, and have been fixed to reflect the correct identifier. Additionally Philippe spent 10 hours this week doing a detailed manual inspection and review of the 12,461 patched files from the initial patch version early this week with: - a full scancode scan run, collecting the matched texts, detected license ids and scores - reviewing anything where there was a license detected (about 500+ files) to ensure that the applied SPDX license was correct - reviewing anything where there was no detection but the patch license was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied SPDX license was correct This produced a worksheet with 20 files needing minor correction. This worksheet was then exported into 3 different .csv files for the different types of files to be modified. These .csv files were then reviewed by Greg. Thomas wrote a script to parse the csv files and add the proper SPDX tag to the file, in the format that the file expected. This script was further refined by Greg based on the output to detect more types of files automatically and to distinguish between header and source .c files (which need different comment types.) Finally Greg ran the script using the .csv files to generate the patches. Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* Merge tag 'omap-for-v4.14/debug-ll-signed' of ↵Arnd Bergmann2017-08-161-11/+33
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Pull "Updates to for omap debug_ll code to use generic DEBUG_UART_8250 code" from Tony Lindgren: The legacy code to try to detect the debug_ll uart based on machine is no longer needed, and we can remove it. Note that the Kconfig options stay the same, we just need to define the port configuration now. * tag 'omap-for-v4.14/debug-ll-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: debug: Use generic 8250 debug_ll for am3517 and am335x ARM: debug: Use generic 8250 debug_ll for ti81xx ARM: debug: Use generic 8250 debug_ll for omap3/4/5 ARM: debug: Use generic 8250 debug_ll for omap2 and omap3/4/5 common uarts
| * ARM: debug: Use generic 8250 debug_ll for am3517 and am335xTony Lindgren2017-07-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to use generic 8250 debug_ll code to get DEBUG_UNCOMPRESS working and to simplify the code. The old debug_ll code is no longer needed and the machine ID based detection is no longer used. Note that for most part there's no need to keep DEBUG_LL enabled. We now have CONFIG_SERIAL_EARLYCON working very early as long as the kernel cmdline has "earlycon" in it and the board specific dts file has chosen configured with with the port using stdout-path. Cc: Hoeun Ryu <hoeun.ryu@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: debug: Use generic 8250 debug_ll for ti81xxTony Lindgren2017-07-171-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to use generic 8250 debug_ll code to get DEBUG_UNCOMPRESS working and to simplify the code. The old debug_ll code is no longer needed and the machine ID based detection is no longer used. Note that for most part there's no need to keep DEBUG_LL enabled. We now have CONFIG_SERIAL_EARLYCON working very early as long as the kernel cmdline has "earlycon" in it and the board specific dts file has chosen configured with with the port using stdout-path. Cc: Hoeun Ryu <hoeun.ryu@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: debug: Use generic 8250 debug_ll for omap3/4/5Tony Lindgren2017-07-171-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to use generic 8250 debug_ll code to get DEBUG_UNCOMPRESS working and to simplify the code. The old debug_ll code is no longer needed and the machine ID based detection is no longer used. Note that for most part there's no need to keep DEBUG_LL enabled. We now have CONFIG_SERIAL_EARLYCON working very early as long as the kernel cmdline has "earlycon" in it and the board specific dts file has chosen configured with with the port using stdout-path. Cc: Hoeun Ryu <hoeun.ryu@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: debug: Use generic 8250 debug_ll for omap2 and omap3/4/5 common uartsTony Lindgren2017-07-171-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to use generic 8250 debug_ll code to get DEBUG_UNCOMPRESS working and to simplify the code. The old debug_ll code is no longer needed and the machine ID based detection is no longer used. Note that for most part there's no need to keep DEBUG_LL enabled. We now have CONFIG_SERIAL_EARLYCON working very early as long as the kernel cmdline has "earlycon" in it and the board specific dts file has chosen configured with with the port using stdout-path. Cc: Hoeun Ryu <hoeun.ryu@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | ARM: debug-ll: Add support for r8a7743Chris Paterson2017-07-271-4/+5
|/ | | | | | | | | Enable low-level debugging support for RZ/G1M (r8a7743). RZ/G1M uses SCIF0 for the debug console, like most of the R-Car Gen2 SoCs. Signed-off-by: Chris Paterson <chris.paterson2@renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
* Merge tag 'at91-ab-4.13-soc' of ↵Olof Johansson2017-06-181-0/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/soc SoC for 4.13: - New suspend/resume mode for sama5d2 - Initial support for armv7m based SoCs * tag 'at91-ab-4.13-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: at91: remove atmel_nand_data ARM: at91: fix at91_suspend_entering_slow_clock link error ARM: at91: debug: add samv7x support ARM: at91: add armv7m SoC detection ARM: at91: handle CONFIG_PM for armv7m configurations ARM: at91: Add armv7m support ARM: at91: Document armv7m compatibles ARM: at91: Documentation: add armv7m families ARM: at91: pm: fallback to slowclock when backup mode fails ARM: at91: pm: allow selecting standby and suspend modes ARM: at91: pm: Add sama5d2 backup mode Signed-off-by: Olof Johansson <olof@lixom.net>
| * ARM: at91: debug: add samv7x supportSzemző András2017-06-021-0/+10
| | | | | | | | | | | | | | | | Add support for low level debugging on Atmel samv7x. Signed-off-by: Szemző András <sza@esh.hu> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* | Merge tag 'qcom-soc-for-4.13' of ↵Olof Johansson2017-06-181-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/soc Qualcomm ARM Based SoC Updates for v4.13 * Add debug UART addresses for IPQ4019 * tag 'qcom-soc-for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: ARM: debug: qcom: add UART addresses to Kconfig help for IPQ4019 Signed-off-by: Olof Johansson <olof@lixom.net>
| * | ARM: debug: qcom: add UART addresses to Kconfig help for IPQ4019Christian Lamparter2017-06-051-0/+1
| |/ | | | | | | | | | | | | | | Add information about the IPQ4019 debug UART physical and virtual addresses in the DEBUG_QCOM_UARTDM Kconfig help section. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: Andy Gross <andy.gross@linaro.org>
* / ARM: debug: add low level debug uart for rv1108Andy Yan2017-05-141-0/+30
|/ | | | | | | | | | RK1108 UARTs are Synopsis DesignWare 8250 compatible. Only with different register addresses. Signed-off-by: Andy Yan <andy.yan@rock-chips.com> Tested-by: Jacob Chen <jacob2.chen@rock-chips.com> [rk1108->rv1108 rename] Signed-off-by: Heiko Stuebner <heiko@sntech.de>
* arch: Move CONFIG_DEBUG_RODATA and CONFIG_SET_MODULE_RONX to be commonLaura Abbott2017-02-071-11/+0
| | | | | | | | | | | | | There are multiple architectures that support CONFIG_DEBUG_RODATA and CONFIG_SET_MODULE_RONX. These options also now have the ability to be turned off at runtime. Move these to an architecture independent location and make these options def_bool y for almost all of those arches. Signed-off-by: Laura Abbott <labbott@redhat.com> Acked-by: Ingo Molnar <mingo@kernel.org> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Kees Cook <keescook@chromium.org>
* Merge tag 'renesas-soc-for-v4.9' of ↵Arnd Bergmann2016-09-151-4/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Renesas ARM Based SoC Updates for v4.9" from Simon Horman: Clean-up: * Only use smp_init when SMP is selected Enablement: * Add debug-ll support for r8a7992 * tag 'renesas-soc-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7791: only use smp_init when SMP is selected ARM: shmobile: r8a7790: only use smp_init when SMP is selected ARM: debug-ll: Add support for r8a7992
| * ARM: debug-ll: Add support for r8a7992Geert Uytterhoeven2016-08-171-4/+4
| | | | | | | | | | | | | | | | Enable low-level debugging support for R-Car V2H (r8a7792). V2H uses SCIF0 for the debug console, like most other R-Car Gen2 SoCs. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
* | ARM: brcmstb: Add earlyprintk support using run-time checksFlorian Fainelli2016-08-081-7/+7
|/ | | | | | | | | | | | | The SUN_TOP_CTRL_FAMILY_ID register is at a fixed absolute address for all of our supported chips, so utilize its value to determine what the UARTA base address should be based on the value we read. Since the code is called both during decompressor when the MMU is off, and after the MMU has been turned on in the kernel, and we want to do the lookup only once, we use the same technique as tegra.S and have a shared storage location between the decompressor and the kernel. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
* Merge tag 'arm-soc/for-4.8/soc-part2' of http://github.com/Broadcom/stblinux ↵Arnd Bergmann2016-07-071-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | into next/soc Merge "the second part of the Broadcom ARM-based SoC changes" from Florian Fainelli: - Florian updates the DEBUG_UART_BCM5301X entry to cover both NS and NSP SoCs since they both have the same location * tag 'arm-soc/for-4.8/soc-part2' of http://github.com/Broadcom/stblinux: ARM: debug: Enable DEBUG_BCM_5301X for Northstar Plus SoCs
| * ARM: debug: Enable DEBUG_BCM_5301X for Northstar Plus SoCsFlorian Fainelli2016-07-061-2/+2
| | | | | | | | | | | | | | | | Northstar Plus SoCs (ARCH_BCM_NSP) have the exact same UART location and properties like the register shift of 0, so make it usable. Acked-by: Jon Mason <jon.mason@broadcom.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
* | ARM: at91: debug: add default DEBUG_LL addressesAlexandre Belloni2016-06-101-14/+44
| | | | | | | | | | | | | | | | Add configuration options for the most commonly used UART physical and virtual addresses to ease the use of DEBUG_LL and earlyprintk. Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* | ARM: at91: debug: use DEBUG_UART_VIRTAlexandre Belloni2016-06-101-5/+6
|/ | | | | | | | | | | | AT91 still uses an offset (0x0100 0000) from the physical address to map the debug UART. This is unfortunate as for some platforms (sama5d3 and earlier), it ends up in the PCI zone and PCI is enabled in multi_v7. Switch to DEBUG_UART_VIRT to solve that. Tested on sama5d3 and 9g20. Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
* ARM: debug: remove extraneous DEBUG_HI3716_UART optionArnd Bergmann2016-04-261-8/+0
| | | | | | | | | | | | DEBUG_HI3716_UART was supposed to be renamed to DEBUG_HIX5HD2_UART, but accidentally both got left in place, which results in a build error when CONFIG_DEBUG_UART_PHYS is not set as it should be. This removes the old symbol. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: 12aae3097454 ("ARM: debug: Rename Hi3716 to HIX5HD2") Acked-by: Wei Xu <xuwei5@hisilicon.com>
* ARM: debug: add support for Palmchip BK-310x UARTMans Rullgard2016-02-081-0/+9
| | | | | | | | | | | | | | | Some SoCs use a Palmchip BK-310x UART which is mostly 16550 compatible but with a different register layout. While this UART has previously only been supported in MIPS based chips (Alchemy, Ralink), the ARM based SMP87xx series from Sigma Designs also uses it. This patch allows the debug console to work with this type of UART. Signed-off-by: Mans Rullgard <mans@mansr.com> Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Olof Johansson <olof@lixom.net>
* Merge tag 'armsoc-fixes' of ↵Linus Torvalds2016-01-221-11/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "A few fixes for fallout that we didn't catch in time in -next, or smaller warning fixes that have been discovered since" * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: soc: qcom/spm: shut up uninitialized variable warning ARM: realview: fix device tree build ARM: debug-ll: fix BCM63xx entry for multiplatform ARM: dts: armadillo800eva Correct extal1 frequency to 24 MHz
| * ARM: debug-ll: fix BCM63xx entry for multiplatformArnd Bergmann2016-01-181-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During my randconfig build testing, I found that a kernel with DEBUG_AT91_UART and ARCH_BCM_63XX fails to build: arch/arm/include/debug/at91.S:18:0: error: "CONFIG_DEBUG_UART_VIRT" redefined [-Werror] It turns out that the DEBUG_UART_BCM63XX option is enabled whenever the ARCH_BCM_63XX is, and that breaks multiplatform kernels because we then end up using the UART address from BCM63XX rather than the one we actually configured (if any). This changes the BCM63XX options to only have one Kconfig option, and only enable that if the user explicitly turns it on. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: b51312bebfa4 ("ARM: BCM63XX: add low-level UART debug support") Cc: stable@vger.kernel.org
* | Merge tag 'armsoc-soc' of ↵Linus Torvalds2016-01-201-2/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC platform updates from Olof Johansson: "Updates for new platform support: - New platform: Tango4 from Sigma Designs. - Broadcom BCM2836 (Raspberry Pi 2 SoC) - Enable cpufreq on Freescale i.MX7D - Rockchip: SMP support for rk3036, general support for rk3228 - SMP support on Broadcom Kona and NSP - Cleanups for OMAP removing legacy IOMMU data + a bunch of misc fixes and tweaks for various platforms" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (46 commits) ARM: tango: Fix UP build issues ARM: tango: pass ARM arch level for smc.S ARM: bcm2835: Add Kconfig support for bcm2836 ARM: OMAP2+: Add support for dm814x and dra62x usb ARM: OMAP2+: Add mmc hwmod entries for dm814x ARM: OMAP2+: Update 81xx clock and power domains for default, active and sgx ARM: OMAP2+: Fix SoC detection for dra62x j5-eco ARM: tango4: Initial platform support ARM: bcm2835: Add a compat string for bcm2836 machine probe dt-bindings: Add root properties for Raspberry Pi 2 ARM: imx: select SRC for i.MX7 ARM: uniphier: select PINCTRL ARM: OMAP2+: Remove device creation for omap-pcm-audio ARM: OMAP1: Remove device creation for omap-pcm-audio ARM: rockchip: enable support for RK3228 SoCs ARM: rockchip: use const and __initconst for rk3036 smp_operations ARM: zynq: Select ARCH_HAS_RESET_CONTROLLER ARM: BCM: Add SMP support for Broadcom 4708 ARM: BCM: Add SMP support for Broadcom NSP ARM: BCM: Clean up SMP support for Broadcom Kona ...
| * | ARM: bcm2835: Add Kconfig support for bcm2836Eric Anholt2015-12-261-2/+8
| | | | | | | | | | | | | | | | | | | | | This should be a complete port of bcm2835 functionality to bcm2836 (Raspberry Pi 2). Signed-off-by: Eric Anholt <eric@anholt.net>
* | | Merge tag 'armsoc-multiplatform' of ↵Linus Torvalds2016-01-201-155/+236
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC multiplatform code updates from Arnd Bergmann: "This branch is the culmination of 5 years of effort to bring the ARMv6 and ARMv7 platforms together such that they can all be enabled and boot the same kernel. It has been a tremendous amount of cleanup and refactoring by a huge number of people, and creation of several new (and major) subsystems to better abstract out all the platform details in an appropriate manner. The bulk of this branch is a large patchset from Arnd that brings several of the more minor and older platforms we have closer to multiplatform support. Among these are MMP, S3C64xx, Orion5x, mv78xx0 and realview Much of this is moving around header files from old mach directories, but there are also some cleanup patches of debug_ll (lowlevel debug per-platform options) and other parts. Linus Walleij also has some patchs to clean up the older ARM Realview platforms by finally introducing DT support, and Rob Herring has some for ARM Versatile which is now DT-only. Both of these platforms are now multiplatform. Finally, a couple of patches from Russell for Dove PMU, and a fix from Valentin Rothberg for Exynos ADC, which were rebased on top of the series to avoid conflicts" * tag 'armsoc-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (75 commits) ARM: realview: don't select SMP_ON_UP for UP builds ARM: s3c: simplify s3c_irqwake_{e,}intallow definition ARM: s3c64xx: fix pm-debug compilation iio: exynos-adc: fix irqf_oneshot.cocci warnings ARM: realview: build realview-dt SMP support only when used ARM: realview: select apropriate targets ARM: realview: clean up header files ARM: realview: make all header files local ARM: no longer make CPU targets visible separately ARM: integrator: use explicit core module options ARM: realview: enable multiplatform ARM: make default platform work for NOMMU ARM: debug-ll: move DEBUG_LL_UART_EFM32 to correct Kconfig location ARM: defconfig: use correct debug_ll settings ARM: versatile: convert to multi-platform ARM: versatile: merge mach code into a single file ARM: versatile: switch to DT only booting and remove legacy code ARM: versatile: add DT based PCI detection ARM: pxa: mark ezx structures as __maybe_unused ARM: pxa: mark raumfeld init functions as __maybe_unused ...
| * | ARM: debug-ll: move DEBUG_LL_UART_EFM32 to correct Kconfig locationArnd Bergmann2015-12-171-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | I accidentally move the DEBUG_LL_UART_EFM32 option when sorting all other options alphanumerically, but it belongs into the same group as DEBUG_LL_UART_8250 and DEBUG_LL_UART_PL01X. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: 1dc9341 ("ARM: debug-ll: reorder Kconfig alphanumerically")
| * | Merge branch 's3c64xx/multiplatform' into next/multiplatformArnd Bergmann2015-12-151-1/+18
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s3c64xx/multiplatform: ARM: s3c64xx: allow building without board support ARM: s3c64xx: multiplatform support ARM: s3c64xx: use common debug-ll implementation ARM: s3c64xx: use new adc/touchscreen driver iio: exynos-adc: add experimental touchscreen support ARM: s3c64xx: enable sparse IRQ support ARM: s3c64xx: prepare initcalls for multiplatform gpio: samsung: move gpio-samsung driver back to platform code ASoC: samsung/smartq: use dynamic registration Input: s3c2410_ts: fix S3C_ADC dependency Conflicts: arch/arm/Kconfig.debug
| | * | ARM: s3c64xx: use common debug-ll implementationArnd Bergmann2015-12-011-1/+18
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | The uart on s3c64xx is essentially the same as on s3c24xx, so we can share a single assembler file. However, the addresses are different, and we need to add the respective Kconfig magic to get the right addresses. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | ARM: debug-ll: reorder Kconfig alphanumericallyArnd Bergmann2015-12-151-141/+141
| | | | | | | | | | | | | | | | | | | | | | | | The file has gotten a little out of sync, as platforms got added in the wrong place, or have been renamed. This moves the options around, but should not change any functionality. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | ARM: debug-ll: rework footbridge handlingArnd Bergmann2015-12-151-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Footbridge has two debug ports that are handled a bit differently: The 8250 port uses the normal debug/8250.S implementation that is shared with a lot of other platforms, but it relies on the DEBUG_UART_8250 option to be turned on automatically instead of being selected by DEBUG_FOOTBRIDGE_COM1 as we do for most other platforms. I'm changing this to use a 'select' and change the dependency to the debug symbol rather than the platform symbol for consistency. The DC21285 UART has a separate top-level option, and relies on the traditional include/mach/debug-macro.S method. With the s3c64xx multiplatform series queued up for 4.5, it is now the last one that does this, so by moving this file to include/debug/dc21285.S, we can get all platforms to do things the same way. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | ARM: debug-ll: rework lpc32xx handlingArnd Bergmann2015-12-151-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LPC32xx can not yet be configured in a multiplatform kernel, but if we ever get there, enabling one of the LPC32xx platforms while trying to use DEBUG_LL for another platform can default to the wrong UART address, as the options are purely based on the architecture being enabled or not. This changes the logic to use the LPC32xx default addresses only if we have also picked the respective Kconfig symbols introduced here. While we're at it, this also reorders the virtual address as it should be. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Vladimir Zapolskiy <vz@mleia.com>
| * | ARM: debug-ll: rework gemini handlingArnd Bergmann2015-12-151-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gemini can not yet be configured in a multiplatform kernel, but if we ever get there, enabling one of the gemini platforms while trying to use DEBUG_LL for another platform can default to the wrong UART address, as the options are purely based on the architecture being enabled or not. This changes the logic to use the gemini default addresses and the flow control settings only if we have also picked the respective Kconfig symbols introduced here. While we're at it, this also reorders the virtual address as it should be. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
| * | ARM: debug-ll: rework integrator/versatile handlingArnd Bergmann2015-12-151-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enabling one of the integrator platforms in a multiplatform kernel while trying to use DEBUG_LL for another platform can default to the wrong UART address, as the options are purely based on the architecture being enabled or not. This changes the logic to use the integrator default addresses only if we have also picked the respective Kconfig symbols introduced here. Versatile is not yet part of multiplatform, but hopefully soon will be, so we do the same change for versatile as well. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | ARM: debug-ll: rework SPEAr handlingArnd Bergmann2015-12-151-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enabling one of the SPEAr platforms in a multiplatform kernel while trying to use DEBUG_LL for another platform can default to the wrong UART address, as the options are purely based on the architecture being enabled or not. This changes the logic to use the SPEAr default addresses only if we have also picked the respective Kconfig symbols introduced here. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | ARM: debug-ll: rework ep93xx handlingArnd Bergmann2015-12-151-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes ep93xx debug-ll handling more consistent with the other platforms, by adding a separate Kconfig symbol for it that in turn selects the standard DEBUG_UART_PL01X symbol. We still have to pick a physical address even if DEBUG_LL is disabled here, because the EP93xx uncompress output code uses CONFIG_DEBUG_UART_PHYS. If we ever move to multiplatform support, this can go away. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | ARM: debug-ll: reorganize mvebu debug uart configArnd Bergmann2015-12-151-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As we are moving dove/mv78xx0/orion into multiplatform, the debug-ll configuration options for these platforms are conflicting with the multiplatform configuration: enabling one of those platforms sometimes changes the default addresses to the ones used on one of them, rather than the one that was selected in Kconfig. This changes the configuration so we share the physical address configuration with mach-mvebu. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | ARM: debug-ll: fix UART configuration with ARCH_KEYSTONEArnd Bergmann2015-12-151-2/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | We may have multiple platforms enabled and also DEBUG_LL configured for one of them. However if we enable ARCH_KEYSTONE, we default to using 32-bit UART access independent of which platform we are actually using, which can be confusing. This changes the logic so the 32-bit default gets only used by default if we actually configure the keystone UART, as opposed to picking some other 8250 setting on a kernel that has keystone support enabled. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* / arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debugDan Williams2016-01-091-14/+0
|/ | | | | | | | | | | | | | | | | | | | | | Let all the archs that implement devmem_is_allowed() opt-in to a common definition of CONFIG_STRICT_DEVM in lib/Kconfig.debug. Cc: Kees Cook <keescook@chromium.org> Cc: Russell King <linux@arm.linux.org.uk> Cc: Will Deacon <will.deacon@arm.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: "David S. Miller" <davem@davemloft.net> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> [heiko: drop 'default y' for s390] Acked-by: Ingo Molnar <mingo@redhat.com> Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>