summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)AuthorFilesLines
2015-11-04Merge pull request #15 from jk-ozlabs/openbmc/config-fixesopenbmc-20151104-1devJeremy Kerr1-4/+2
Openbmc/config fixes
2015-11-04arm/configs/aspeed_defconfig: Enable i2c driversJeremy Kerr1-1/+2
We have these listed in the device tree. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2015-11-04arm/configs/aspeed_defconfig: Remove i2c debuggingJeremy Kerr1-3/+0
... so we don't lose too much dmesg output. These can be enabled through dynamic debug anyway. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2015-11-04arch/arm/boot/dts/ast2400: Add #address- & #size-cells properties to i2cJeremy Kerr1-0/+26
We geta bunch of warnings at the moment. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2015-11-04arch/arm/boot/dts: Use a common dtsi file for aspeed devicesJeremy Kerr3-585/+326
the dts files for palmetto and barreleye are mostly the same; use a dtsi file for the common chip parts, keeping only the board-specific things in the per-platform files. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2015-11-02arm/dts/aspeed: Added i2c busses and devicesopenbmc-20151102-1Norman James2-7/+354
Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-10-30aspeed/i2c: add all buses to device treeJoel Stanley1-0/+99
They will only be enabled if the status property is changed from "disabled". Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-10-30aspeed/i2c: Add working driver for multiple busesJoel Stanley1-18/+16
We do not support DMA, and have not tested any slave support, however master mode byte-at-a-time is working. The device tree currently includes the first and second buses. Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-10-27gpio/aspeed: Implement interrupts for GPIO banksJeremy Kerr1-0/+1
We have a set of interrupt registers in each bank; this change adds a gpio irqchip to hook them up to the GPIO code. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2015-10-27gpio/aspeed: Expose entire bank as one gpio chipJeremy Kerr1-27/+2
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2015-10-23arm/dts/aspeeed: Fix unit address for ibtJeremy Kerr1-1/+1
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2015-10-23misc/bt-host: use a more explicit compatible stringJeremy Kerr1-1/+1
The interface we're using here is specific to the aspeed hardware implementation. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2015-10-16arm/aspeed_defconfig: change CONFIG_USB_G_SERIAL to yJeremy Kerr1-1/+1
It's the only module present. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2015-10-16arm/mach-aspeed: Enable UART clock divisorJeremy Kerr1-0/+10
Our .dts assumes that the UART clock is divided by 13, but different u-boots may leave this bit in different states. Initialise it in aspeed_early_init explicitly. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2015-10-13arm/aspeed_defconfig: Add required options to boot with systemdCyril Bur1-3/+8
2015-10-06config: update defconfig for ipmi bt host driverJoel Stanley1-0/+5
Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-10-06dts: update device tree for ncsi supportJoel Stanley1-0/+1
Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-10-06bt/ipmi: Add Aspeed BT IPMI host driverAlistair Popple1-0/+5
This patch adds a simple device driver to expose the iBT interface on Aspeed chips as a character device (/dev/bt). Signed-off-by: Alistair Popple <alistair@popple.id.au>
2015-10-06aspeed: update defconfigJoel Stanley1-2438/+13
Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-10-06i2c wipJoel Stanley1-2/+10
2015-09-14Add DS3231 driver to device tree and defconfigJoel Stanley1-2/+1
Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14i2c: fix crap driver so it worksJoel Stanley3-1/+19
Only the first I2C master for now
2015-09-14gpio: Add Aspeed AST2400 driverJoel Stanley2-0/+42
Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14aspeed: Build sram driverJoel Stanley2-0/+6
We have a 32K chunk of SRAM on the AHB bus. Use the existing driver to provide access to the memory via genalloc. Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14aspeed: Add hpll to dtsJoel Stanley1-7/+12
The i2c driver might need to query what the frequency is Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14LOCAL: add path to my initramfsJoel Stanley1-0/+1
2015-09-14Add aspeed defconfig suitable for palmettoJoel Stanley1-0/+2618
Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14rtc: Add Aspeed AST2400 rtc driverJoel Stanley2-0/+6
Read and writes the time to the non-battery backed RTC in the Aspeed AST2400 system on chip. TODO: support timer functionality. Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14watchdog: Add Aspeed ast2400 watchdog driverJoel Stanley2-10/+7
We now use a notifier to perform reset, so the reboot callback can be removed from the platform code. Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14aspeed: Register APB clock with clk subsystemJoel Stanley1-0/+14
This uses the fixed clock that Ben added to the device tree. It allows us to use the clock framework to query speeds from drivers.
2015-09-14aspeed: Add syscon device to platformJoel Stanley2-1/+10
Adds the device tree and kconfig options. The reg and interrupt properties should be correct. Doesn't do anything yet. Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14pinctl: Add Aspeed driverJoel Stanley1-0/+2
Doesn't do anything yet. Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14arm: ast2400.h was not being included due to thisJoel Stanley1-2/+0
TODO: Fix it properly Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14aspeed: Use defines for aspeed machineJoel Stanley2-22/+20
2015-09-14aspeed: Add some device definitionsJoel Stanley2-16/+137
Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14Fix rebootJoel Stanley1-1/+1
aspeed_restart was declarted __init, so machine_restart was jumping into random memory. We can now reboot using the watchdog. Signed-off-by: Joel Stanley <joel@jms.id.au>
2015-09-14Get some network going...Benjamin Herrenschmidt1-1/+7
2015-09-14WIPBenjamin Herrenschmidt9-0/+372
2015-08-23Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-armLinus Torvalds2-1/+4
Pull ARM fixes from Russell King: "Another couple of small ARM fixes. A patch from Masahiro Yamada who noticed that "make -jN all zImage" would end up generating bad images where N > 1, and a patch from Nicolas to fix the Marvell CPU user access optimisation code when page faults are disabled" * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: 8418/1: add boot image dependencies to not generate invalid images ARM: 8414/1: __copy_to_user_memcpy: fix mmap semaphore usage
2015-08-20ARM: OMAP: wakeupgen: Restore the irq_set_type() mechanismGrygorii Strashko1-0/+1
The conversion of the wakeupgen irqchip to hierarchical irq domains failed to provide a mechanism to properly set the trigger type of an interrupt. The wakeupgen irq chip itself has no mechanism and therefor no irq_set_type() callback. The code before the conversion relayed the trigger configuration directly to the underlying GIC. Restore the correct behaviour by setting the wakeupgen irq_set_type callback to irq_chip_set_type_parent(). This propagates the set_trigger() call to the underlying GIC irqchip. [ tglx: Massaged changelog ] Fixes: 7136d457f365 ('ARM: omap: convert wakeupgen to stacked domains') Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: <linux@arm.linux.org.uk> Cc: <nsekhar@ti.com> Cc: <jason@lakedaemon.net> Cc: <balbi@ti.com> Cc: <linux-arm-kernel@lists.infradead.org> Cc: <marc.zyngier@arm.com> Cc: stable@vger.kernel.org # 4.1 Link: http://lkml.kernel.org/r/1439554830-19502-5-git-send-email-grygorii.strashko@ti.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2015-08-18ARM: 8418/1: add boot image dependencies to not generate invalid imagesMasahiro Yamada1-0/+3
U-Boot is often used to boot the kernel on ARM boards, but uImage is not built by "make all", so we are often inclined to do "make all uImage" to generate DTBs, modules and uImage in a single command, but we should notice a pitfall behind it. In fact, "make all uImage" could generate an invalid uImage if it is run with the parallel option (-j). You can reproduce this problem with the following procedure: [1] First, build "all" and "uImage" separately. You will get a valid uImage $ git clean -f -x -d $ export CROSS_COMPILE=<your-tools-prefix> $ make -s -j8 ARCH=arm multi_v7_defconfig $ make -s -j8 ARCH=arm all $ make -j8 ARCH=arm UIMAGE_LOADADDR=0x80208000 uImage CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h make[1]: `include/generated/mach-types.h' is up to date. CHK include/generated/timeconst.h CHK include/generated/bounds.h CHK include/generated/asm-offsets.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/zImage is ready UIMAGE arch/arm/boot/uImage Image Name: Linux-4.2.0-rc5-00156-gdd2384a-d Created: Sat Aug 8 23:21:35 2015 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 6138648 Bytes = 5994.77 kB = 5.85 MB Load Address: 80208000 Entry Point: 80208000 Image arch/arm/boot/uImage is ready $ ls -l arch/arm/boot/*Image -rwxrwxr-x 1 masahiro masahiro 13766656 Aug 8 23:20 arch/arm/boot/Image -rw-rw-r-- 1 masahiro masahiro 6138712 Aug 8 23:21 arch/arm/boot/uImage -rwxrwxr-x 1 masahiro masahiro 6138648 Aug 8 23:20 arch/arm/boot/zImage [2] Update some source file(s) $ touch init/main.c [3] Then, re-build "all" and "uImage" simultaneously. You will get an invalid uImage at random. $ make -j8 ARCH=arm UIMAGE_LOADADDR=0x80208000 all uImage CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h make[1]: `include/generated/mach-types.h' is up to date. CHK include/generated/timeconst.h CHK include/generated/bounds.h CHK include/generated/asm-offsets.h CALL scripts/checksyscalls.sh CC init/main.o CHK include/generated/compile.h LD init/built-in.o LINK vmlinux LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o KSYM .tmp_kallsyms1.o KSYM .tmp_kallsyms2.o LD vmlinux SORTEX vmlinux SYSMAP System.map OBJCOPY arch/arm/boot/Image Building modules, stage 2. Kernel: arch/arm/boot/Image is ready GZIP arch/arm/boot/compressed/piggy.gzip AS arch/arm/boot/compressed/piggy.gzip.o Kernel: arch/arm/boot/Image is ready LD arch/arm/boot/compressed/vmlinux GZIP arch/arm/boot/compressed/piggy.gzip OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready UIMAGE arch/arm/boot/uImage Image Name: Linux-4.2.0-rc5-00156-gdd2384a-d Created: Sat Aug 8 23:23:14 2015 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 26472 Bytes = 25.85 kB = 0.03 MB Load Address: 80208000 Entry Point: 80208000 Image arch/arm/boot/uImage is ready MODPOST 192 modules AS arch/arm/boot/compressed/piggy.gzip.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready $ ls -l arch/arm/boot/*Image -rwxrwxr-x 1 masahiro masahiro 13766656 Aug 8 23:23 arch/arm/boot/Image -rw-rw-r-- 1 masahiro masahiro 26536 Aug 8 23:23 arch/arm/boot/uImage -rwxrwxr-x 1 masahiro masahiro 6138648 Aug 8 23:23 arch/arm/boot/zImage Please notice the uImage is extremely small when this issue is encountered. Besides, "Kernel: arch/arm/boot/zImage is ready" is displayed twice, before and after the uImage log. The root cause of this is the race condition between zImage and uImage. Actually, uImage depends on zImage, but the dependency between the two is only described in arch/arm/boot/Makefile. Because arch/arm/boot/Makefile is not included from the top-level Makefile, it cannot know the dependency between zImage and uImage. Consequently, when we run make with the parallel option, Kbuild updates vmlinux first, and then two different threads descends into the arch/arm/boot/Makefile almost at the same time, one for updating zImage and the other for uImage. While one thread is re-generating zImage, the other also tries to update zImage before creating uImage on top of that. zImage is overwritten by the slower thread and then uImage is created based on the half-written zImage. This is the reason why "Kernel: arch/arm/boot/zImage is ready" is displayed twice, and a broken uImage is created. The same problem could happen on bootpImage. This commit adds dependencies among Image, zImage, uImage, and bootpImage to arch/arm/Makefile, which is included from the top-level Makefile. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-08-18ARM: 8414/1: __copy_to_user_memcpy: fix mmap semaphore usageNicolas Pitre1-1/+1
The mmap semaphore should not be taken when page faults are disabled. Since pagefault_disable() no longer disables preemption, we now need to use faulthandler_disabled() in place of in_atomic(). Signed-off-by: Nicolas Pitre <nico@linaro.org> Tested-by: Mark Salter <msalter@redhat.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-08-17Merge tag 'armsoc-for-linus' of ↵Linus Torvalds11-56/+72
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "A smallish batch of fixes, a little more than expected this late, but all fixes are contained to their platforms and seem reasonably low risk: - a somewhat large SMP fix for ux500 that still seemed warranted to include here - OMAP DT fixes for pbias regulator specification that broke due to some DT reshuffling - PCIe IRQ routing bugfix for i.MX - networking fixes for keystone - runtime PM for OMAP GPMC - a couple of error path bug fixes for exynos" * tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: dts: keystone: Fix the mdio bindings by moving it to soc specific file ARM: dts: keystone: fix the clock node for mdio memory: omap-gpmc: Don't try to save uninitialized GPMC context ARM: imx6: correct i.MX6 PCIe interrupt routing ARM: ux500: add an SMP enablement type and move cpu nodes ARM: dts: dra7: Fix broken pbias device creation ARM: dts: OMAP5: Fix broken pbias device creation ARM: dts: OMAP4: Fix broken pbias device creation ARM: dts: omap243x: Fix broken pbias device creation ARM: EXYNOS: fix double of_node_put() on error path ARM: EXYNOS: Fix potentian kfree() of ro memory
2015-08-16Merge tag 'keystone-dts-late-fixes-v2' of ↵Olof Johansson4-20/+33
git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into fixes ARM: Couple of Keysyone MDIO DTS fixes for 4.2-rc6+ These are necessary to get the NIC card working on all Keystone EVMs. Couple of boards are broken without these two fixes. * tag 'keystone-dts-late-fixes-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: dts: keystone: Fix the mdio bindings by moving it to soc specific file ARM: dts: keystone: fix the clock node for mdio Signed-off-by: Olof Johansson <olof@lixom.net>
2015-08-14Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-armLinus Torvalds4-5/+8
Pull ARM fixes from Russell King: "Another few small ARM fixes, mostly addressing some VDSO issues" * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: 8410/1: VDSO: fix coarse clock monotonicity regression ARM: 8409/1: Mark ret_fast_syscall as a function ARM: 8408/1: Fix the secondary_startup function in Big Endian case ARM: 8405/1: VDSO: fix regression with toolchains lacking ld.bfd executable
2015-08-13ARM: dts: keystone: Fix the mdio bindings by moving it to soc specific fileMurali Karicheri4-20/+33
Currently mdio bindings are defined in keystone.dtsi and this results in incorrect unit address for the node on K2E and K2L SoCs. Fix this by moving them to SoC specific DTS file. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2015-08-13ARM: dts: keystone: fix the clock node for mdioMurali Karicheri1-1/+1
Currently the MDIO clock is pointing to clkpa instead of clkcpgmac. MDIO is part of the ethss and the clock should be clkcpgmac. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2015-08-13Merge tag 'imx-fixes-4.2-3' of ↵Olof Johansson1-4/+4
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes The i.MX fixes for 4.2, 3rd round: - Fix i.MX6 PCIe interrupt routing which gets missed from stacked IRQ domain conversion. The PCIe wakeup support is currently broken because of this. * tag 'imx-fixes-4.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx6: correct i.MX6 PCIe interrupt routing Signed-off-by: Olof Johansson <olof@lixom.net>
2015-08-13Merge tag 'samsung-mach-fixes-4.2' of https://github.com/krzk/linux into fixesOlof Johansson1-2/+1
Two fixes for bugs in Exynos power domain error exit path: 1. kfree() of read-only memory (name of power domain returned by kstrdup_const()), 2. Doubled of_node_put() leading to invalid ref count for OF node. * tag 'samsung-mach-fixes-4.2' of https://github.com/krzk/linux: ARM: EXYNOS: fix double of_node_put() on error path ARM: EXYNOS: Fix potentian kfree() of ro memory Signed-off-by: Olof Johansson <olof@lixom.net>
2015-08-11Merge tag 'omap-for-v4.2/fixes-rc5' of ↵Olof Johansson4-4/+7
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Few trivial omap MMC regression fixes for card voltages where the syscon areas for PBIAS regulator were missing "simple-bus" that prevents probing of the children in the mapped region. This probably was not noticed earlier as the bootloader has already configured the regulator for the card in the slot. * tag 'omap-for-v4.2/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: dra7: Fix broken pbias device creation ARM: dts: OMAP5: Fix broken pbias device creation ARM: dts: OMAP4: Fix broken pbias device creation ARM: dts: omap243x: Fix broken pbias device creation Signed-off-by: Olof Johansson <olof@lixom.net>