aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/debug (follow)
AgeCommit message (Collapse)AuthorFilesLines
2018-12-03Merge tag 'arm-soc/for-4.21/soc' of https://github.com/Broadcom/stblinux into next/socOlof Johansson1-11/+13
This pull request contains Broadcom ARM-based SoCs machine files updates for 4.21, please pull the following: - Stefan switches relevant BCM283x files under arch/arm/mach-bcm to the SPDX license identifiers - Justin adds an entry in the Broadcom STB debug LL stub for 7255 - Florian enables reset controller support for BCM63xx SoCs * tag 'arm-soc/for-4.21/soc' of https://github.com/Broadcom/stblinux: ARM: mach-bcm: Switch bcm2835 and platsmp to SPDX identifier ARM: BCM63XX: Enable reset controller support ARM: brcmstb: Add entry for 7255 Signed-off-by: Olof Johansson <olof@lixom.net>
2018-11-12ARM: stm32: debug: add low-level debug supportGerald Baeza1-0/+41
This adds low-level debug support on USART1 for STM32F4 and STM32F7. Compiled via 'CONFIG_DEBUG_LL' and 'CONFIG_EARLY_PRINTK'. Enabled via 'earlyprintk' in bootargs. Signed-off-by: Gerald Baeza <gerald.baeza@st.com> Signed-off-by: Bich Hemon <bich.hemon@st.com> Acked-by: Alexandre TORGUE <alexandre.torgue@st.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-11-06ARM: brcmstb: Add entry for 7255Justin Chen1-11/+13
Add in BCM7255 entry and reorder entries to keep ascending order. Also moved 7278 cause it was out of order. Signed-off-by: Justin Chen <justinpopo6@gmail.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2018-06-18ARM: shmobile: convert to SPDX identifierWolfram Sang1-4/+1
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-05-09ARM: brcmstb: Add support for the V7 memory mapDoug Berger1-1/+20
The 7278 device is the first device that includes support for the V7 memory map developed for use in 64-bit architecture brcmstb devices. This map relocates the register physical offset from 0xF0000000 to 0x0000000008000000. Since the ARM PERIPHBASE value is also relocated in the V7 memory map we can use its value to determine whether this device uses the new V7 memory map and therefore where to look for the SUN_TOP_CTRL register used to identify the chip family. Signed-off-by: Doug Berger <opendmb@gmail.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2018-02-12ARM: EXYNOS: Add SPDX license identifiersKrzysztof Kozlowski2-12/+5
Replace GPL license statements with SPDX GPL-2.0 and GPL-2.0+ license identifiers. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2017-11-16Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-socLinus Torvalds1-0/+3
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 ...
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman2-0/+2
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>
2017-09-25ARM: brcmstb: Add appropriate ARM_BE8() macros for swappingFlorian Fainelli1-0/+3
Building a big-endian kernel for ARCH_BRCMSTB revealed that we would not be correctly polling for the right bit in the busyuart macro, turns out there are a few transformations needed to work with big-endian kernels. First we need to swap the value we read from SUN_TOP_CTRL to properly compare it against our local tables. Then, just like 8250.S we need to swap the value before storing it, and conversely swap it after a load. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-09-12Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-armLinus Torvalds1-0/+1
Pull ARM updates from Russell King: "Low priority fixes and updates for ARM: - add some missing includes - efficiency improvements in system call entry code when tracing is enabled - ensure ARMv6+ is always built as EABI - export save_stack_trace_tsk() - fix fatal signal handling during mm fault - build translation table base address register from scratch - appropriately align the .data section to a word boundary where we rely on that data being word aligned" * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: 8691/1: Export save_stack_trace_tsk() ARM: 8692/1: mm: abort uaccess retries upon fatal signal ARM: 8690/1: lpae: build TTB control register value from scratch in v7_ttb_setup ARM: align .data section ARM: always enable AEABI for ARMv6+ ARM: avoid saving and restoring registers unnecessarily ARM: move PC value into r9 ARM: obtain thread info structure later ARM: use aliases for registers in entry-common ARM: 8689/1: scu: add missing errno include ARM: 8688/1: pm: add missing types include
2017-08-14ARM: align .data sectionRussell King1-0/+1
Robert Jarzmik reports that his PXA25x system fails to boot with 4.12, failing at __flush_whole_cache in arch/arm/mm/proc-xscale.S:215: 0xc0019e20 <+0>: ldr r1, [pc, #788] 0xc0019e24 <+4>: ldr r0, [r1] <== here with r1 containing 0xc06f82cd, which is the address of "clean_addr". Examination of the System.map shows: c06f22c8 D user_pmd_table c06f22cc d __warned.19178 c06f22cd d clean_addr indicating that a .data.unlikely section has appeared just before the .data section from proc-xscale.S. According to objdump -h, it appears that our assembly files default their .data alignment to 2**0, which is bad news if the preceding .data section size is not power-of-2 aligned at link time. Add the appropriate .align directives to all assembly files in arch/arm that are missing them where we require an appropriate alignment. Reported-by: Robert Jarzmik <robert.jarzmik@free.fr> Tested-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-07-17ARM: debug: Use generic 8250 debug_ll for am3517 and am335xTony Lindgren1-25/+0
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>
2017-07-17ARM: debug: Use generic 8250 debug_ll for ti81xxTony Lindgren1-28/+0
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>
2017-07-17ARM: debug: Use generic 8250 debug_ll for omap3/4/5Tony Lindgren1-32/+0
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>
2017-07-17ARM: debug: Use generic 8250 debug_ll for omap2 and omap3/4/5 common uartsTony Lindgren1-23/+0
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>
2017-03-15ARM: brcmstb: Add entry for 7260Florian Fainelli1-8/+10
BCM7260 has the same UART base address as 7268, order the entries by ascending chip number and alias the 7268 definition to the 7260 definition. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-08-08ARM: brcmstb: Add earlyprintk support using run-time checksFlorian Fainelli1-0/+145
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>
2016-07-06ARM: clps711x: Reduce static map sizeAlexander Shiyan1-2/+2
Last CLPS711X CPU register is PLLR has 0xa5a8 address, so we can reduce the map to 48k and align the end of the static at VMALLOC_START. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-07-05Merge tag 'samsung-soc-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/socOlof Johansson2-1/+13
Samsung mach/soc update for v4.8, part 2: 1. Endian-friendly fixes. 2. Maintainers update. * tag 'samsung-soc-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: MAINTAINERS: Extend Samsung SoC entry with S3C/S5P drivers ARM: SAMSUNG: Fix missing s5p_init_cpu() declaration ARM: EXYNOS: Fix UART address selection for DEBUG_LL ARM: EXYNOS: Fixup for __raw operations in suspend.c ARM: SAMSUNG: Fixup usage of __raw IO in PM ARM: EXYNOS: Fixup endian in pm/pmu ARM: EXYNOS: Fixups for big-endian operation ARM: SAMSUNG: Fixup endian issues in CPU detection ARM: EXYNOS: Fixup debug macros for big-endian ARM: s3c24xx: Sort cpufreq tables ARM: SAMSUNG: Fix typos Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-22ARM: EXYNOS: Fix UART address selection for DEBUG_LLJoonyoung Shim1-1/+5
The Exynos542x SoCs using A15+A7 can boot to A15 or A7. If it boots using A7 (like on Odroid XU family boards), it can't choose right UART physical address only the part number of CP15. Fix the detection logic by checking the Cluster ID additionally. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> [k.kozlowski: Extend commit message] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-06-21ARM: EXYNOS: Fixup debug macros for big-endianBen Dooks1-0/+8
The exynos low-level debug macros need to be fixed if the system is being built big endian. Add the necessary endian swaps for accessing the registers to get output working again Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-06-10ARM: at91: debug: use DEBUG_UART_VIRTAlexandre Belloni1-9/+1
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>
2016-03-02Merge tag 'imx-soc-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/socArnd Bergmann1-0/+3
Merge "i.MX SoC update for 4.6" from Shawn Guo: - Enable big endian mode support for i.MX platform - Add support for i.MX6QP SoC which is the latest i.MX6 family addition - Add basic suspend/resume support for i.MX25 - A couple of i.MX7D support updates - A few random code cleanups * tag 'imx-soc-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: Make reset_control_ops const ARM: imx: Do L2 errata only if the L2 cache isn't enabled ARM: imx: select ARM_CPU_SUSPEND only for imx6 ARM: mx25: Add basic suspend/resume support ARM: imx: Add msl code support for imx6qp ARM: imx: enable big endian mode ARM: imx: use endian-safe readl/readw/writel/writew ARM: imx7d: correct chip version information ARM: imx: select HAVE_ARM_ARCH_TIMER if selected i.MX7D ARM: imx6: fix cleanup path in imx6q_suspend_init()
2016-03-02ARM: at91: avoid defining CONFIG_* symbols in source codeArnd Bergmann1-2/+2
In an invalid randconfig build (fixed by another patch), I ran across this warning: arch/arm/include/debug/at91.S:18:0: error: "CONFIG_DEBUG_UART_VIRT" redefined [-Werror] #define CONFIG_DEBUG_UART_VIRT AT91_IO_P2V(CONFIG_DEBUG_UART_PHYS) As Russell pointed out, we should never #define a macro starting with CONFIG_ in a source file, as that is rather confusing. This renames the macro to avoid the symbol clash. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Suggested-by: Russell King <linux@arm.linux.org.uk> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-02-26Merge tag 'zynq-soc-for-4.6' of https://github.com/Xilinx/linux-xlnx into next/socArnd Bergmann1-2/+2
Merge "ARM: Xilinx Zynq patches for v4.6" from Michal Simek: - SLCR early init - Fix L2 cache data corruption - Fix early printk uart setting * tag 'zynq-soc-for-4.6' of https://github.com/Xilinx/linux-xlnx: ARM: zynq: Move early printk virtual address to vmalloc area ARM: zynq: address L2 cache data corruption ARM: zynq: initialize slcr mapping earlier
2016-02-25ARM: zynq: Move early printk virtual address to vmalloc areaMichal Simek1-2/+2
The patch "ARM: 8432/1: move VMALLOC_END from 0xff000000 to 0xff800000" (sha1: 6ff0966052c46efb53980b8a1add2e7b49c9f560) has moved also start of VMALLOC area because size didn't change. That's why origin location of vmalloc was vmalloc : 0xf0000000 - 0xff000000 ( 240 MB) and now is vmalloc : 0xf0800000 - 0xff800000 ( 240 MB) That's why uart virtual addresses need to be changed to reflect this new memory setup. Starting address should be vmalloc start address. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
2016-02-08ARM: debug: add support for Palmchip BK-310x UARTMans Rullgard1-0/+11
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>
2016-02-02ARM: imx: enable big endian modeJohannes Berg1-0/+3
Enable ARM big-endian mode on mach-imx. This requires adding some byte swapping in the debug functions (which otherwise hang forever) and of course the secondary core bringup. Tested (on top of 4.4) on i.MX6 HummingBoard quad-core (IMX6Q). The patch is pretty much as suggested by Arnd Bergmann, thanks! Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2015-12-15ARM: debug-ll: rework footbridge handlingArnd Bergmann1-0/+42
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>
2015-09-21ARM: at91: debug: use DEBUG_UART_PHYSAlexandre Belloni1-14/+4
Instead of having to add a new configuration option each time support for new SoC is added, use CONFIG_DEBUG_UART_PHYS. For now, CONFIG_DEBUG_UART_VIRT is automatically computed. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-08-18Merge tag 'imx-soc-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/socOlof Johansson1-0/+13
The i.MX SoC changes for 4.3: - Add i.MX6 Ultralite SoC support, which is the newest addition to i.MX6 family. It integrates a single Cortex-A7 core and a power management module that reduces the complexity of external power supply and simplifies power sequencing. - Change SNVS RTC driver to use syscon interface for register access, and add SNVS power key driver support. - Add a second clock for mxc rtc driver, and support device tree probe for the driver. - Add FEC MAC reference clock and phy fixup initialization for i.MX6UL platform. * tag 'imx-soc-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: rtc: snvs: select option REGMAP_MMIO ARM: imx6ul: add fec MAC refrence clock and phy fixup init ARM: imx6ul: add fec bits to GPR syscon definition rtc: mxc: add support of device tree dt-binding: document the binding for mxc rtc rtc: mxc: use a second rtc clock input: snvs_pwrkey: use "wakeup-source" as deivce tree property name Document: devicetree: input: imx: i.mx snvs power device tree bindings input: keyboard: imx: add snvs power key driver Document: dt: fsl: snvs: change support syscon rtc: snvs: use syscon to access register ARM: imx: add low-level debug support for i.mx6ul ARM: imx: add i.mx6ul msl support Signed-off-by: Olof Johansson <olof@lixom.net>
2015-08-05Merge tag 'zynq-soc-for-4.3' of https://github.com/Xilinx/linux-xlnx into next/socOlof Johansson1-1/+1
arm: Xilinx Zynq SoC patches for v4.2 - Fix earlyprintk, jump trampoline for SMP - Update git tree location - Setup PL310 aux (bit 22) * tag 'zynq-soc-for-4.3' of https://github.com/Xilinx/linux-xlnx: ARM: zynq: reserve space for jump target in secondary trampoline clk: zynq: remove redundant $(CONFIG_ARCH_ZYNQ) in Makefile MAINTAINERS: Update Zynq git tree location ARM: zynq: Set bit 22 in PL310 AuxCtrl register (6395/1) ARM: zynq: Fix earlyprintk in big endian mode Signed-off-by: Olof Johansson <olof@lixom.net>
2015-08-05ARM: at91/soc: add basic support for new sama5d2 SoCNicolas Ferre1-1/+4
Add Kconfig entries, header file changes and addition to the documentation. The early debug infrastructure is also added for easy development. Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-22ARM: zynq: Fix earlyprintk in big endian modeArun Chandran1-1/+1
earlyprintk messages are not appearing on the terminal emulator during a big endian kernel boot. In BE mode sending full words to UART will result in unprintable characters as they are byte swapped versions of printable ones. So send only bytes. Signed-off-by: Arun Chandran <achandran@mvista.com> Tested-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-14ARM: imx: add low-level debug support for i.mx6ulAnson Huang1-0/+13
Enable low-level debug support for i.MX6UL by adding the debug port definitions for the SoC. Singed-off-by: Anson Huang <b20788@freescale.com> Signed-off-by: Fugang Duan <B38611@freescale.com> Signed-off-by: Frank Li <Frank.Li@freescale.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2015-06-10Merge tag 'imx-soc-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/socKevin Hilman1-1/+14
The i.MX SoC updates for 4.2: - Add new SoC i.MX7D support, which integrates two Cortex-A7 and one Cortex-M4 cores. - Support suspend from IRAM on i.MX53, so that DDR pins can be set to high impedance for more power saving during suspend. - Move i.MX clock drivers from arch/arm/mach-imx to drivers/clk/imx. - Move i.MX GPT timer driver from arch/arm/mach-imx into drivers/clocksource. - A couple of clock driver update for VF610 and i.MX6Q. - A few random code correction and improvement. * tag 'imx-soc-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (44 commits) ARM: imx: imx7d requires anatop clocksource: timer-imx-gpt: remove include of <asm/mach/time.h> ARM: imx: move timer driver into drivers/clocksource ARM: imx: remove platform headers from timer driver ARM: imx: provide gpt device specific irq functions ARM: imx: get rid of variable timer_base ARM: imx: define gpt register offset per device type ARM: imx: move clock event variables into imx_timer ARM: imx: set up .set_next_event hook via imx_gpt_data ARM: imx: setup tctl register in device specific function ARM: imx: initialize gpt device type for DT boot ARM: imx: define an enum for gpt timer device type ARM: imx: move timer resources into a structure ARM: imx: use relaxed IO accessor in timer driver ARM: imx: make imx51/3 suspend optional ARM: clk-imx6q: refine sata's parent ARM: imx: clk-v610: Add clock for I2C2 and I2C3 ARM: mach-imx: iomux-imx31: Use DECLARE_BITMAP ARM: imx: add imx7d clk tree support ARM: clk: imx: update pllv3 to support imx7 ... Conflicts: arch/arm/mach-imx/Kconfig
2015-06-03ARM: imx7d: add low level debug uart supportAnson Huang1-1/+14
Add low level uart debug support for imx7d Signed-off-by: Frank Li <Frank.Li@freescale.com> Signed-off-by: Bai Ping <b51503@freescale.com> Signed-off-by: Anson Huang <b20788@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2015-05-20ARM: unify MMU/!MMU addruart callsStefan Agner1-1/+1
Remove the needless differences between MMU/!MMU addruart calls. This allows to use the same addruart macro on SoC level. Useful for SoC consisting of multiple CPUs with and without MMU such as Freescale Vybrid. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-05-15ARM: zx: add low level debug support for zx296702Jun Nie1-0/+7
Use the UART0 peripheral for low level debug. Only the UART port 0 is currently supported. Signed-off-by: Jun Nie <jun.nie@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-05-11ARM: debug: fix big endian operation for 8250 word modeBen Dooks1-0/+3
If the 8250 debug code is used in word mode on an big endian host then the writes need to be change into little endian for the bus. Note, we have to re-convert the value back as the debug code will inspect the value after writing it to see if a newline has been written. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
2015-04-03Merge tag 'qcom-cleanup-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/cleanupOlof Johansson1-14/+0
Merge "qcom cleanup changes for 4.1" from Kumar Gala: General cleanups for MSM/QCOM for 4.1 * Removal of mach-msm and associated drivers cleanups that have been ack'd by associated maintainers * tag 'qcom-cleanup-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: mmc: Remove msm_sdcc driver gpio: Remove gpio-msm-v1 driver ARM: Remove mach-msm and associated ARM architecture code + Linux 4.0-rc3 Signed-off-by: Olof Johansson <olof@lixom.net>
2015-03-27ARM: Remove mach-msm and associated ARM architecture codeStephen Boyd1-14/+0
The maintainers for mach-msm no longer have any plans to support or test the platforms supported by this architecture[1]. Most likely there aren't any active users of this code anyway, so let's delete it. [1] http://lkml.kernel.org/r/20150307031212.GA8434@fifo99.com Cc: David Brown <davidb@codeaurora.org> Cc: Bryan Huntsman <bryanh@codeaurora.org> Cc: Daniel Walker <dwalker@fifo99.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Kumar Gala <galak@codeaurora.org>
2015-03-05ARM: at91: debug: fix non MMU debugAlexandre Belloni1-1/+4
Linux may be used without MMU on atmel SoCs, fix debug in this configuration. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-02-17Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-socLinus Torvalds3-17/+54
Pull ARM SoC platform changes from Olof Johansson: "New and updated SoC support. Also included are some cleanups where the platform maintainers hadn't separated cleanups from new developent in separate branches. Some of the larger things worth pointing out: - A large set of changes from Alexandre Belloni and Nicolas Ferre preparing at91 platforms for multiplatform and cleaning up quite a bit in the process. - Removal of CSR's "Marco" SoC platform that never made it out to the market. We love seeing these since it means the vendor published support before product was out, which is exactly what we want! New platforms this release are: - Conexant Digicolor (CX92755 SoC) - Hisilicon HiP01 SoC - CSR/sirf Atlas7 SoC - ST STiH418 SoC - Common code changes for Nvidia Tegra132 (64-bit SoC) We're seeing more and more platforms having a harder time labelling changes as cleanups vs new development -- which is a good sign that we've come quite far on the cleanup effort. So over time we might start combining the cleanup and new-development branches more" * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (124 commits) ARM: at91/trivial: unify functions and machine names ARM: at91: remove at91_dt_initialize and machine init_early() ARM: at91: change board files into SoC files ARM: at91: remove at91_boot_soc ARM: at91: move alternative initial mapping to board-dt-sama5.c ARM: at91: merge all SOC_AT91SAM9xxx ARM: at91: at91rm9200: set idle and restart from rm9200_dt_device_init() ARM: digicolor: select syscon and timer ARM: zynq: Simplify SLCR initialization ARM: zynq: PM: Fixed simple typo. ARM: zynq: Setup default gpio number for Xilinx Zynq ARM: digicolor: add low level debug support ARM: initial support for Conexant Digicolor CX92755 SoC ARM: OMAP2+: Add dm816x hwmod support ARM: OMAP2+: Add clock domain support for dm816x ARM: OMAP2+: Add board-generic.c entry for ti81xx ARM: at91: pm: remove warning to remove SOC_AT91SAM9263 usage ARM: at91: remove unused mach/system_rev.h ARM: at91: stop using HAVE_AT91_DBGUx ARM: at91: fix ordering of SRAM and PM initialization ...
2015-02-17Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-socLinus Torvalds1-0/+49
Pull ARM SoC cleanups from Olof Johansson: "This is a good healthy set of various code removals. Total net delta is 8100 lines removed. Among the larger cleanups are: - Removal of old Samsung S3C DMA infrastructure by Arnd - Removal of the non-DT version of the 'lager' board by Magnus Damm - General stale code removal on OMAP and Davinci by Rickard Strandqvist - Removal of non-DT support on am3517 platforms by Tony Lindgren ... plus several other cleanups of various platforms across the board" * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (47 commits) ARM: sirf: drop redundant function and marco declaration arm: omap: specify PMUs are for ARMv7 CPUs arm: shmobile: specify PMUs are for ARMv7 CPUs arm: iop: specify PMUs are for XScale CPUs arm: pxa: specify PMUs are for XScale CPUs arm: realview: specify PMU types ARM: SAMSUNG: remove unused DMA infrastructure ARM: OMAP3: Add back Kconfig option MACH_OMAP3517EVM for ASoC ARM: davinci: Remove CDCE949 driver ARM: at91: remove useless at91rm9200_set_type() ARM: at91: remove useless at91rm9200_dt_initialize() ARM: at91: move debug-macro.S into the common space ARM: at91: remove useless at91_sysirq_mask_rtx ARM: at91: remove useless config MACH_AT91SAM9_DT ARM: at91: remove useless config MACH_AT91RM9200_DT ARM: at91: remove unused mach/memory.h ARM: at91: remove useless header file includes ARM: at91: remove unneeded header file rtc: at91/Kconfig: remove useless options ARM: at91/Documentation: add a README for Atmel SoCs ...
2015-01-27ARM: digicolor: add low level debug supportBaruch Siach1-0/+35
Use the USART peripheral as UART for low level debug. Only the UA0 port is currently supported. Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-23Merge tag 'qcom-soc-for-3.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/socOlof Johansson1-0/+6
merge "qcom SoC changes for v3.20-2" from Kumar Gala: Qualcomm ARM Based SoC Updates for v3.20-2 * Various bug fixes and minor feature additions to scm code * Added big-endian support to debug MSM uart * Added big-endian support to ARCH_QCOM * Cleaned up some Kconfig options associated with ARCH_QCOM * Added Andy Gross as co-maintainer * tag 'qcom-soc-for-3.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: MAINTAINERS: Add co-maintainer for ARM/Qualcomm Support ARM: qcom: Drop unnecessary selects from ARCH_QCOM ARM: qcom: Fix SCM interface for big-endian kernels ARM: qcom: scm: Clarify boot interface ARM: qcom: Add SCM warmboot flags for quad core targets. ARM: qcom: scm: Add logging of actual return code from scm call ARM: qcom: scm: Flush the command buffer only instead of the entire cache ARM: qcom: scm: Get cacheline size from CTR ARM: qcom: scm: Fix incorrect cache invalidation ARM: qcom: Select ARCH_SUPPORTS_BIG_ENDIAN ARM: debug: msm: Support big-endian CPUs ARM: debug: Update MSM and QCOM DEBUG_LL help Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21Merge tag 'at91-cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/socOlof Johansson1-0/+49
Merge "at91: cleanup for 3.20 #2" from Nicolas Ferre: Second batch of cleanup for 3.20: - By reworking the PM code, we can remove the AT91 more specific initialization - We are using DT for SRAM initialization now, so we can remove its explicit mapping - The PMC clock driver now hosts IDLE function for at91rm9200 with other SoCs ones. * tag 'at91-cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (37 commits) ARM: at91: move at91rm9200_idle() to clk/at91/pmc.c ARM: at91: remove unused at91_init_sram ARM: at91: sama5d4: remove useless call to at91_init_sram ARM: at91: remove useless map_io ARM: at91: pm: prepare for multiplatform ARM: at91: pm: add UDP and UHP checks to newer SoCs ARM: at91: pm: use the mmio-sram pool to access SRAM ARM: at91: pm: rework cpu detection ARM: at91: dts: sama5d3: add ov2640 camera sensor support ARM: at91: dts: sama5d3: change name of pinctrl of ISI_MCK ARM: at91: dts: sama5d3: change name of pinctrl_isi_{power,reset} ARM: at91: dts: sama5d3: move the isi mck pin to mb ARM: at91: dts: sama5d3: add missing pins of isi ARM: at91: dts: sama5d3: split isi pinctrl ARM: at91: dts: sama5d3: add isi clock ARM: at91/dt: ethernut5: use at91sam9xe.dtsi ARM: at91/dt: Add a dtsi for at91sam9xe ARM: at91/dt: add SRAM nodes ARM: at91/dt: at91rm9200ek: enable RTC ARM: at91/dt: rm9200: add RTC node ... Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21ARM: 8272/1: netx: Migrate DEBUG_LL macros to shared directoryDaniel Thompson1-0/+36
As part of the migration we introduce DEBUG_UART_PHYS/DEBUG_UART_VIRT which default to UART1 but allow a user to configure UART2 or UART3. We also introduce symbolic names for the registers and flags. Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org> Acked-by: Arnd Bergmann <arnd.bergmann@linaro.org> Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-21ARM: 8270/1: ks8695: Migrate debug_ll macros to shared directoryDaniel Thompson1-0/+40
As part of the migration a couple of uart definitions have been copied from of the platform specific header files. Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org> Cc: Greg Ungerer <gerg@uclinux.org> Cc: Arnd Bergmann <arnd.bergmann@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>