- 02 Sep, 2019 1 commit
-
-
The actual device name of the SPI controller being registered on EP93xx is "spi0" (as seen by gpiod_find_lookup_table()). This patch fixes all relevant lookup tables and the following failure (seen on EDB9302): ep93xx-spi ep93xx-spi.0: failed to register SPI master ep93xx-spi: probe of ep93xx-spi.0 failed with error -22 Fixes: 1dfbf334 ("spi: ep93xx: Convert to use CS GPIO descriptors") Cc: stable@vger.kernel.org Signed-off-by:
Alexander Sverdlin <alexander.sverdlin@gmail.com> Reviewed-by:
Linus Walleij <linus.walleij@linaro.org> Reviewed-by:
Lukasz Majewski <lukma@denx.de> Link: https://lore.kernel.org/r/20190831180402.10008-1-alexander.sverdlin@gmail.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 30 May, 2019 1 commit
-
-
Thomas Gleixner authored
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 3029 file(s). Signed-off-by:
Thomas Gleixner <tglx@linutronix.de> Reviewed-by:
Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 02 May, 2019 1 commit
-
-
This converts the EP93xx SPI master driver to use GPIO descriptors for chip select handling. EP93xx was using platform data to pass in GPIO lines, by converting all board files to use GPIO descriptor tables the core will look up the GPIO lines from the SPI device in the same manner as for device tree. Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 29 Apr, 2019 1 commit
-
-
Arnd Bergmann authored
gpio-ep93xx.h, hardware.h, and platform.h are only used in arch/arm/mach-ep93xx, so we can move them one there and no longer expose them to device drivers. Acked-by:
Alexander Sverdlin <alexander.sverdlin@gmail.com> Acked-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
Olof Johansson <olof@lixom.net>
-
- 30 Oct, 2017 1 commit
-
-
Linus Walleij authored
This converts the GPIO-based I2C-driver to using GPIO descriptors instead of the old global numberspace-based GPIO interface. We: - Convert the driver to unconditionally grab two GPIOs from the device by index 0 (SDA) and 1 (SCL) which will work fine with device tree and descriptor tables. The existing device trees will continue to work just like before, but without any roundtrip through the global numberspace. - Brutally convert all boardfiles still passing global GPIOs by registering descriptor tables associated with the devices instead so this driver does not need to keep supporting passing any GPIO numbers as platform data. There is no stepwise approach as elegant as this, I strongly prefer this big hammer over any antsteps for this conversion. This way the old GPIO numbers go away and NEVER COME BACK. Special conversion for the different boards utilizing I2C-GPIO: - EP93xx (arch/arm/mach-ep93xx): pretty straight forward as all boards were using the same two GPIO lines, just define these two in a lookup table for "i2c-gpio" and register these along with the device. None of them define any other platform data so just pass NULL as platform data. This platform selects GPIOLIB so all should be smooth. The pins appear on a gpiochip for bank "G" as pins 1 (SDA) and 0 (SCL). - IXP4 (arch/arm/mach-ixp4): descriptor tables have to be registered for each board separately. They all use "IXP4XX_GPIO_CHIP" so it is pretty straight forward. Most board define no other platform data than SCL/SDA so they can drop the #include of <linux/i2c-gpio.h> and assign NULL to platform data. The "goramo_mlr" (Goramo Multilink Router) board is a bit worrisome: it implements its own I2C bit-banging in the board file, and optionally registers an I2C serial port, but claims the same GPIO lines for itself in the board file. This is not going to work: there will be competition for the GPIO lines, so delete the optional extra I2C bus instead, no I2C devices are registered on it anyway, there are just hints that it may contain an EEPROM that may be accessed from userspace. This needs to be fixed up properly by the serial clock using I2C emulation so drop a note in the code. - KS8695 board acs5k (arch/arm/mach-ks8695/board-acs5.c) has some platform data in addition to the pins so it needs to be kept around sans GPIO lines. Its GPIO chip is named "KS8695" and the arch selects GPIOLIB. - PXA boards (arch/arm/mach-pxa/*) use some of the platform data so it needs to be preserved here. The viper board even registers two GPIO I2Cs. The gpiochip is named "gpio-pxa" and the arch selects GPIOLIB. - SA1100 Simpad (arch/arm/mach-sa1100/simpad.c) defines a GPIO I2C bus, and the arch selects GPIOLIB. - Blackfin boards (arch/blackfin/bf533 etc) for these I assume their I2C GPIOs refer to the local gpiochip defined in arch/blackfin/kernel/bfin_gpio.c names "BFIN-GPIO". The arch selects GPIOLIB. The boards get spiked with IF_ENABLED(I2C_GPIO) but that is a side effect of it being like that already (I would just have Kconfig select I2C_GPIO and get rid of them all.) I also delete any platform data set to 0 as it will get that value anyway from static declartions of platform data. - The MIPS selects GPIOLIB and the Alchemy machine is using two local GPIO chips, one of them has a GPIO I2C. We need to adjust the local offset from the global number space here. The ATH79 has a proper GPIO driver in drivers/gpio/gpio-ath79.c and AFAICT the chip is named "ath79-gpio" and the PB44 PCF857x expander spawns from this on GPIO 1 and 0. The latter board only use the platform data to specify pins so it can be cut altogether after this. - The MFD Silicon Motion SM501 is a special case. It dynamically spawns an I2C bus off the MFD using sm501_create_subdev(). We use an approach to dynamically create a machine descriptor table and attach this to the "SM501-LOW" or "SM501-HIGH" gpiochip. We use chip-local offsets to grab the right lines. We can get rid of two local static inline helpers as part of this refactoring. Cc: Steven Miao <realmz6@gmail.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Magnus Damm <magnus.damm@gmail.com> Cc: Ben Dooks <ben.dooks@codethink.co.uk> Cc: Heiko Schocher <hs@denx.de> Acked-by:
Wu, Aaron <Aaron.Wu@analog.com> Acked-by:
Olof Johansson <olof@lixom.net> Acked-by:
Lee Jones <lee.jones@linaro.org> Acked-by:
Ralf Baechle <ralf@linux-mips.org> Tested-by:
Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 27 Jul, 2017 1 commit
-
-
Alexander Sverdlin authored
This enables the creation of ADC platform device on EDB93xx series of Cirrus Logic evaluation boards. The driver for this device must be enabled separately, either as built-in, or a module. Signed-off-by:
Alexander Sverdlin <alexander.sverdlin@gmail.com>
-
- 16 Feb, 2017 1 commit
-
-
This driver requires a GPIO line to be used for the chip select of each SPI device. Remove the ep93xx_spi_chip_ops definition from the platform data and use the spi core GPIO handling for the chip selects. Fix all the ep93xx platforms that use this driver and remove the old Documentation. Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- 13 Aug, 2015 1 commit
-
-
Linus Walleij authored
All the EP93xx boards exclusively use modedb to look up video modes from the command line. Root out the parametrization of custom video modes from the platform data and board files and simplify the driver. Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Reviewed-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Olof Johansson <olof@lixom.net>
-
- 12 Jan, 2013 2 commits
-
-
Rob Herring authored
Numerous includes of asm/hardware/vic.h aren't needed, so remove them. Signed-off-by:
Rob Herring <rob.herring@calxeda.com> Acked-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ryan Mallon <rmallon@gmail.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Hubert Feurstein <hubert.feurstein@contec.at> Cc: Alessandro Rubini <rubini@unipv.it> Acked-by:
Linus Walleij <linus.walleij@linaro.org> Cc: STEricsson <STEricsson_nomadik_linux@list.st.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Acked-By:
Maxime Ripard <maxime.ripard@free-electrons.com> Cc: linux-samsung-soc@vger.kernel.org Cc: patches@opensource.wolfsonmicro.com Acked-by:
Arnd Bergmann <arnd@arndb.de>
-
Rob Herring authored
Now that the VIC initialization sets up the handle_arch_irq pointer, we can remove it for all machines and make it static. Move vic_handle_irq to avoid a forward declaration. Signed-off-by:
Rob Herring <rob.herring@calxeda.com> Cc: Ryan Mallon <rmallon@gmail.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Hubert Feurstein <hubert.feurstein@contec.at> Cc: Alessandro Rubini <rubini@unipv.it> Cc: STEricsson <STEricsson_nomadik_linux@list.st.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Shiraz Hashim <shiraz.hashim@st.com> Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com> Acked-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Jamie Iles <jamie@jamieiles.com> Acked-by:
Linus Walleij <linus.walleij@linaro.org> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by:
Viresh Kumar <viresh.kumar@linaro.org> Acked-by:
Kukjin Kim <kgene.kim@samsung.com> Acked-by:
Olof Johansson <olof@lixom.net> Acked-by:
Arnd Bergmann <arnd@arndb.de>
-
- 24 Dec, 2012 1 commit
-
-
Stephen Warren authored
Now that the only field in struct sys_timer is .init, delete the struct, and replace the machine descriptor .timer field with the initialization function itself. This will enable moving timer drivers into drivers/clocksource without having to place a public prototype of each struct sys_timer object into include/linux; the intent is to create a single of_clocksource_init() function that determines which timer driver to initialize by scanning the device dtree, much like the proposed irqchip_init() at: http://www.spinics.net/lists/arm-kernel/msg203686.html Includes mach-omap2 fixes from Igor Grinberg. Tested-by:
Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by:
Stephen Warren <swarren@nvidia.com>
-
- 14 Sep, 2012 1 commit
-
-
Arnd Bergmann authored
Platform data for device drivers should be defined in include/linux/platform_data/*.h, not in the architecture and platform specific directories. This moves such data out of the ep93xx include directories Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by:
Nicolas Pitre <nico@linaro.org> Acked-by:
Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Ryan Mallon <rmallon@gmail.com> Acked-by:
Vinod Koul <vinod.koul@linux.intel.com> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Jeff Garzik <jgarzik@pobox.com> Cc: Dan Williams <djbw@fb.com> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: Liam Girdwood <lrg@ti.com> Cc: Jaroslav Kysela <perex@perex.cz> Cc: Takashi Iwai <tiwai@suse.de> Cc: Mika Westerberg <mika.westerberg@iki.fi> Cc: Axel Lin <axel.lin@gmail.com>
-
- 10 Jun, 2012 1 commit
-
-
Todor Colov authored
Enable i2c support for ep9302. i2c support is needed when external RTC is used. Signed-off-by:
Todor Colov <todorcolov@gmail.com> Signed-off-by:
Ryan Mallon <rmallon@gmail.com>
-
- 04 Jun, 2012 1 commit
-
-
Rafal Prylowski authored
Add IDE support to edb93xx boards. Signed-off-by:
Rafal Prylowski <prylowski@metasoft.pl> Acked-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by:
Ryan Mallon <rmallon@gmail.com>
-
- 05 May, 2012 1 commit
-
-
Shawn Guo authored
Cc: Ryan Mallon <rmallon@gmail.com> Signed-off-by:
Shawn Guo <shawn.guo@linaro.org> Acked-by:
H Hartley Sweeten <hsweeten@visionengravers.com>
-
- 14 Mar, 2012 1 commit
-
-
Ryan Mallon authored
The PHYS_BASE defines in arch/arm/mach-ep93xx/include/mach-ep93xx-regs.h are only used in the SoC code. Move the defines to a local header file. Signed-off-by:
Ryan Mallon <rmallon@gmail.com> Reviewed-by:
Mika Westerberg <mika.westerberg@iki.fi> Acked-by:
Hartley Sweeten <hsweeten@visionengravers.com>
-
- 05 Jan, 2012 1 commit
-
-
Russell King authored
Hook these platforms restart code into the new restart hook rather than using arch_reset(). Acked-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- 15 Nov, 2011 1 commit
-
-
Jamie Iles authored
Now that there is a generic IRQ handler for multiple VIC devices use it for ep93xx to help building multi platform kernels. Cc: Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ryan Mallon <rmallon@gmail.com> Signed-off-by:
Jamie Iles <jamie@jamieiles.com>
-
- 01 Oct, 2011 1 commit
-
-
Linus Walleij authored
The <mach/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: Ryan Mallon <rmallon@gmail.com> Acked-by:
Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Grant Likely <grant.likely@secretlab.ca> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- 16 Sep, 2011 1 commit
-
-
Mika Westerberg authored
Since the ASoC machine driver is now a platform driver we need to register a matching platform device. Signed-off-by:
Mika Westerberg <mika.westerberg@iki.fi> Reviewed-by:
Ryan Mallon <rmallon@gmail.com> Acked-by:
Liam Girdwood <lrg@ti.com> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
- 21 Aug, 2011 1 commit
-
-
Nicolas Pitre authored
Signed-off-by:
Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by:
Petr Štetiar <ynezz@true.cz> Acked-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Tested-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Arnd Bergmann <arnd@arndb.de>
-
- 06 Mar, 2011 1 commit
-
-
Alexander Sverdlin authored
Add support for CS4271 SPI-connected CODEC to EDB93xx. Signed-off-by:
Alexander Sverdlin <subaparts@yandex.ru> Acked-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- 05 Feb, 2011 1 commit
-
-
Hartley Sweeten authored
The ep9307, ep9312, and ep9315 variants of the ep93xx processor include the raster engine needed for framebuffer support. This allows the EDB93xx boards with those processors to use the framebuffer driver. Tested on an EDB9307A with the following kernel parameters: video=640x480-16@60 video=1024x768-16@60 Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Ryan Mallon <ryan@bluewatersys.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- 20 Oct, 2010 1 commit
-
-
Nicolas Pitre authored
Since we're now using addruart to establish the debug mapping, we can remove the io_pg_offst and phys_io members of struct machine_desc. The various declarations were removed using the following script: grep -rl MACHINE_START arch/arm | xargs \ sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }' [ Initial patch was from Jeremy Kerr, example script from Russell King ] Signed-off-by:
Nicolas Pitre <nicolas.pitre@linaro.org> Acked-by: Eric Miao <eric.miao at canonical.com>
-
- 16 Jun, 2010 1 commit
-
-
Hartley Sweeten authored
Create a core.c __init function to handle the physmap flash registration for all the ep93xx platforms. Also, modify all the ep93xx platforms to use this new function. This simplifies all the ep93xx platform init code and reduces the size of the kernel when including multiple ep93xx boards. Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Ryan Mallon <ryan@bluewatersys.com> Acked-by:
Martin Guy <martinwguy@gmail.com> Acked-by:
Hubert Feurstein <hubert.feurstein@contec.at> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- 14 Apr, 2010 1 commit
-
-
Hartley Sweeten authored
A number of the peripherals for the ep93xx are registered at startup using platform_data that is passed from the board init code to the core code. This data is then copied to a local static variable in the core code. Since the data is copied, the original data can be marked as __initdata and discarded after startup is complete. This adds the __initdata tag to all the appropriate data in the various ep93xx board init's. Specifically, all the struct ep93xx_eth_data, struct ep93xxfb_mach_info, and struct i2c_gpio_platform_data. Also, document the various registration functions and note what data should be marked as __initdata. While here, also cleanup a couple over zealous whitespace tabs. Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Ryan Mallon <ryan@bluewatersys.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- 12 Jan, 2010 1 commit
-
-
Hartley Sweeten authored
Add the platform init code to register the pwm devices that exist on the various edb93xx development boards. Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Ryan Mallon <ryan@bluewatersys.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- 14 Oct, 2009 1 commit
-
-
Hartley Sweeten authored
Fix a build error due to a typo (missing comma) in: ARM: 5754/1: ep93xx: update i2c support Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Ryan Mallon <ryan@bluewatersys.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- 10 Oct, 2009 1 commit
-
-
Hartley Sweeten authored
Update the ep93xx i2c support: 1) The platform init code passes the configuration data for the i2c-gpio driver. This allows any gpio pin do be used for the sda and scl pins. It also allows the platform to specify the udelay and timeout. 2) Program the gpio configuration register to enable/disable the open drain drivers. Note that this really only works if the sda and scl pins are set to EP93XX_GPIO_LINE_EEDAT and EP93XX_GPIO_LINE_EECLK. 3) Update the edb93xx.c platform init to use the new support. Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Ryan Mallon <ryan@bluewatersys.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- 09 Jul, 2009 1 commit
-
-
Hartley Sweeten authored
arch/arm/mach-ep93xx/include/mach/hardware.h 1. Properly name the include files so that they are loaded from the <mach/*> directory and not the local directory. 2. Remove including the ts72xx.h header. This header is not generic to the ep93xx platform. It should only be included by the ts72xx specific files that require it. The only two users in the tree are arch/arm/mach-ep93xx/ts72xx.c and drivers/mtd/nand/ts7250.c. arch/arm/mach-ep93xx/include/mach/ts72xx.h 1. <linux/io.h> should already be included by any user of this header. Doing the include here hides it from being needed by the calling source file. arch/arm/mach-ep93xx/core.c 1. Remove unnecessary headers. They were probably included originally due to cut-and-paste from other files. 2. <linux/io.h> should be included not <mach/gpio.h> arch/arm/mach-ep93xx/adsphere.c arch/arm/mach-ep93xx/edb93xx.c arch/arm/mach-ep93xx/gesbc9312.c arch/arm/mach-ep93xx/micro9.c arch/arm/mach-ep93xx/ts72xx.c 1. Remove unnecessary headers. arch/arm/mach-ep93xx/ts72xx.c 1. Remove unnecessary headers. 2. Add platform specific header <mach/ts72xx.h>. drivers/mtd/nand/ts7250.c 1. <linux/io.h> should be included not <asm/io.h>. 2. Add platform specific header <mach/ts72xx.h>. Cc: Ryan Mallon <ryan@bluewatersys.com> Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- 15 May, 2009 1 commit
-
-
Hartley Sweeten authored
The Cirrus Logic EDB93xx development board platform init files share redundant code. The only differences are in the flash memory configuration, MACH_TYPE, and additional on-board I2C devices. This patch merges all of them into one file. Cc: Lennert Buytenhek <buytenh@wantstofly.org> Cc: Herbert Valerio Riedel <hvr@gnu.org> Cc: Toufeeq Hussain <toufeeq_hussain@infosys.com> Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by:
Ryan Mallon <ryan@bluewatersys.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-