An error occurred fetching the project authors.
- 26 Jan, 2015 1 commit
-
-
David Box authored
This patch implements an I2C bus sharing mechanism between the host and platform hardware on select Intel BayTrail SoC platforms using the X-Powers AXP288 PMIC. On these platforms access to the PMIC must be shared with platform hardware. The hardware unit assumes full control of the I2C bus and the host must request access through a special semaphore. Hardware control of the bus also makes it necessary to disable runtime pm to avoid interfering with hardware transactions. Signed-off-by:
David E. Box <david.e.box@linux.intel.com> Reviewed-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 07 Nov, 2014 1 commit
-
-
Wolfram Sang authored
We have a central copy of the GPL for that. Some addresses were already outdated. Signed-off-by:
Wolfram Sang <wsa+renesas@sang-engineering.com>
-
- 20 Oct, 2014 1 commit
-
-
Wolfram Sang authored
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 06 Oct, 2014 3 commits
-
-
Carl Peng authored
Add support for AMD version of the DW I2C host controller. The device is enumerated from ACPI namespace with ACPI ID AMD0010. Because the core driver needs an input source clock, and this is not an Intel LPSS device where clocks are provided through drivers/acpi/acpi_lpss.c, we register the clock ourselves if the clock rate is given in ->driver_data Signed-off-by:
Carl Peng <carlpeng008@gmail.com> Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Mika Westerberg authored
In order to be able to create missing clock for AMD (and in future possibly others) we move getting clock for the device a bit later. Also make ACPI/DT configuration in the same place depending on from where the device was enumerated from. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Mika Westerberg authored
There is no way in ACPI to tell in which speed the host controller is supposed to run, so we default to fast mode (400KHz). Since this has been the default all the time there should be no functional changes with this change. This is the first step required to refactor the driver probe so that we can supply source clock from ACPI part of the driver to the core. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 29 Sep, 2014 2 commits
-
-
Tan, Raymond authored
Use the platform data to set the clk_freq when there is no DT configuration available. The clk_freq in turn will determine the I2C speed mode. In Quark, there is currently no other configuration mechanism other than board files. Signed-off-by:
Raymond Tan <raymond.tan@intel.com> Reviewed-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by:
Hock Leong Kweh <hock.leong.kweh@intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Romain Baeriswyl authored
Some legacy devices support ony I2C standard mode at 100kHz. This patch allows to select the standard mode through the DTS with the use of the existing clock-frequency parameter. When clock-frequency parameter is not set, the fast mode is selected. Only when the parameter is set at 100000, the standard mode is selected. Signed-off-by:
Romain Baeriswyl <romainba@abilis.com> Reviewed-by:
Christian Ruppert <christian.ruppert@abilis.com> Acked-by:
Alan Tull <atull@opensource.altera.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 02 Aug, 2014 1 commit
-
-
Alan Cox authored
This may appear as PCI or ACPI depending upon the firmware so we have to list both. All share the same ACPI identifier but not the same PCI identifier. Signed-off-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 16 Jul, 2014 1 commit
-
-
Wolfram Sang authored
This driver has been flagged to drop class based instantiation. The removal improves boot-up time and is unneeded for embedded controllers. Users have been warned to switch for some time now, so we can actually do the removal. Keep the DEPRECATED flag, so the core can inform users that the behaviour finally changed now. After another transition period, this flag can go, too. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 02 Jun, 2014 2 commits
-
-
Mika Westerberg authored
It is possible that after entering runtime PM suspend the controller context is lost due the fact that its power is removed. This happens for example on Asus T100, an Intel Baytrail based tablet/laptop. In order to get the controller back to functional state, we need to implement runtime PM hooks which will re-initialize the hardware during runtime PM resume. We can re-use the existing system suspend hooks as the steps to resume/suspend the controller are the same. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Mika Westerberg authored
Userspace can initiate system suspend on arbitrary times which means that device drivers must make sure that their device gets quiesced before system suspend is entered. Therefore disable the I2C host controller in the driver system suspend hook. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 28 Mar, 2014 1 commit
-
-
Wolfram Sang authored
Warn users that class based instantiation is going away soon in favour of more robust probing and faster bootup times. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 09 Mar, 2014 1 commit
-
-
Romain Baeriswyl authored
This patch allows to set independantly SCL and SDA falling times. The tLOW period is computed by taking into account the SCL falling time. The tHIGH period is computed by taking into account the SDA falling time. For instance in case the margin on tLOW is considered too small, it can be increased by increasing the SCL falling time which is by default set at 300ns. The same applies for tHIGH period with the help of SDA falling time. Signed-off-by:
Romain Baeriswyl <romainba@abilis.com> Reviewed-by:
Christian Ruppert <christian.ruppert@abilis.com> Acked-by:
Shinya Kuribayashi <skuribay@pobox.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 14 Nov, 2013 1 commit
-
-
Mika Westerberg authored
Newer Intel PCHs with LPSS have the same Designware I2C controllers than Haswell but the ACPI IDs differ. Add these IDs to the driver list. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 10 Oct, 2013 1 commit
-
-
Wolfram Sang authored
Subsystems like pinctrl and gpio rightfully make use of deferred probing at core level. Now, deferred drivers won't be retried if they don't have a .probe function specified in the driver struct. Fix this driver to have that, so the devices it supports won't get lost in a deferred probe. Reported-by:
Zhangfei Gao <zhangfei.gao@linaro.org> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 28 Aug, 2013 1 commit
-
-
Mika Westerberg authored
Some Intel LPSS I2C devices make the SDA hold time and *CNT parameters available via SSCN (standard mode) and FMCN (fast mode) ACPI methods. Implement support for this so that we check whether an ACPI method exists and if it does, fill in the SDA hold time and *CNT values to the device private structure for core to use. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 23 Aug, 2013 2 commits
-
-
Mika Westerberg authored
This follows what has already been done for the DeviceTree helpers. Move the ACPI helpers from drivers/acpi/acpi_i2c.c to the I2C core and update documentation accordingly. This also solves a problem reported by Jerry Snitselaar that we can't build the ACPI I2C helpers as a module. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Acked-by:
Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Wolfram Sang authored
I2C of helpers used to live in of_i2c.c but experience (from SPI) shows that it is much cleaner to have this in the core. This also removes a circular dependency between the helpers and the core, and so we can finally register child nodes in the core instead of doing this manually in each driver. So, fix the drivers and documentation, too. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 15 Aug, 2013 1 commit
-
-
Jingoo Han authored
Add CONFIG_PM_SLEEP to suspend/resume functions to fix the following build warning when CONFIG_PM_SLEEP is not selected. This is because sleep PM callbacks defined by SIMPLE_DEV_PM_OPS are only used when the CONFIG_PM_SLEEP is enabled. drivers/i2c/busses/i2c-designware-platdrv.c:211:12: warning: 'dw_i2c_suspend' defined but not used [-Wunused-function] drivers/i2c/busses/i2c-designware-platdrv.c:221:12: warning: 'dw_i2c_resume' defined but not used [-Wunused-function] Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 03 Jul, 2013 1 commit
-
-
Vincent Stehlé authored
This fixes the following link error: drivers/built-in.o: In function `dw_i2c_probe': of_iommu.c:(.text+0x18c8f0): undefined reference to `__aeabi_uldivmod' make: *** [vmlinux] Error 1 Signed-off-by:
Vincent Stehlé <vincent.stehle@freescale.com> Tested-by:
Kevin Hilman <khilman@linaro.org> Reviewed-by:
Christian Ruppert <christian.ruppert@abilis.com> Acked-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 26 Jun, 2013 1 commit
-
-
Christian Ruppert authored
This patch makes the SDA hold time configurable through device tree. Signed-off-by:
Christian Ruppert <christian.ruppert@abilis.com> Signed-off-by:
Pierrick Hascoet <pierrick.hascoet@abilis.com> Acked-by: Vineet Gupta <vgupta@synopsys.com> for arch/arc bits Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 12 Jun, 2013 1 commit
-
-
Wolfram Sang authored
devm_ioremap_resource does sanity checks on the given resource. No need to duplicate this in the driver. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 17 May, 2013 1 commit
-
-
Mika Westerberg authored
This is the same controller as on Intel Lynxpoint but the ACPI ID is different (8086F41). Add support for this. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 19 Apr, 2013 1 commit
-
-
Wolfram Sang authored
Driver core already takes care of refcounting, no need to do this on driver level again. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de> Tested-by:
Mika Westerberg <mika.westerberg@linux.intel.com>
-
- 15 Apr, 2013 3 commits
-
-
Mika Westerberg authored
Using autosuspend helps to reduce the resume latency in situations where another I2C message is going to be started soon. For example with HID over I2C touch panels we get several messages in a short period of time while the touch panel is in use. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Mika Westerberg authored
It is not good idea to mix static and dynamic I2C adapter numbering. In this particular case on Lynxpoint we had graphics I2C adapter which took the first numbers preventing the designware I2C driver from using the adapter numbers it preferred. Since Lynxpoint support was just introduced and there is no hardware available outside Intel we can fix this by switching to use dynamic adapter numbering instead of static. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Andy Shevchenko authored
This makes the error handling much more simpler than open-coding everything and in addition makes the probe function smaller and tidier. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 02 Apr, 2013 1 commit
-
-
Rafael J. Wysocki authored
The ACPI handle of struct i2c_adapter's dev member should not be set, because this causes that struct i2c_adapter to be associated with the ACPI device node corresponding to its parent as the second "physical_device", which is incorrect (this happens during the registration of struct i2c_adapter). Consequently, acpi_i2c_register_devices() should use the ACPI handle of the parent of the struct i2c_adapter it is called for rather than the struct i2c_adapter's ACPI handle (which should be NULL). Make that happen and modify the i2c-designware-platdrv driver, which currently is the only driver for ACPI-enumerated I2C controller chips, not to set the ACPI handle for the struct i2c_adapter it creates. Signed-off-by:
Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by:
Aaron Lu <aaron.lu@intel.com> Acked-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Acked-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 21 Feb, 2013 1 commit
-
-
Doug Anderson authored
There is simply no reason to be manually setting the private driver data to NULL in the remove/fail to probe cases. This is just extra cruft code that can be removed. A few notes: * Nothing relies on drvdata being set to NULL. * The __device_release_driver() function eventually calls dev_set_drvdata(dev, NULL) anyway, so there's no need to do it twice. * I verified that there were no cases where xxx_get_drvdata() was being called in these drivers and checking for / relying on the NULL return value. This could be cleaned up kernel-wide but for now just take the baby step and remove from the i2c subsystem. Reported-by:
Wolfram Sang <wsa@the-dreams.de> Reported-by:
Stephen Warren <swarren@wwwdotorg.org> Signed-off-by:
Doug Anderson <dianders@chromium.org> Reviewed-by:
Jean Delvare <khali@linux-fr.org> Acked-by:
Peter Korsgaard <jacmet@sunsite.dk> Reviewed-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by:
Marek Vasut <marex@denx.de> Signed-off-by:
Wolfram Sang <wolfram@the-dreams.de>
-
- 28 Jan, 2013 2 commits
-
-
Mika Westerberg authored
Intel Lynxpoint has two I2C controllers. These controllers are enumerated from ACPI namespace with IDs INT33C2 and INT33C3. Add support for these to the I2C DesignWare platform driver. This is based on the work of Dirk Brandewie. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Mika Westerberg authored
In order to save power the device should be put to low power states whenever it is not being used. We implement this by enabling minimal runtime PM support. There isn't much to do for the device itself as it is disabled once the last transfer is completed but subsystem/domain runtime PM hooks can save more power by power gating the device etc. Signed-off-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
- 22 Dec, 2012 1 commit
-
-
Bill Pemberton authored
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by:
Bill Pemberton <wfp5p@virginia.edu> Acked-by: Peter Korsgaard <peter.korsgaard@barco.com> (for ocores and mux-gpio) Acked-by: Havard Skinnemoen <hskinnemoen@gmail.com> (for i2c-gpio) Acked-by: Guan Xuetao <gxt@mprc.pku.edu.cn> (for puf3) Acked-by: Barry Song <baohua.song@csr.com> (for sirf) Reviewed-by:
Jean Delvare <khali@linux-fr.org> [wsa: Fixed "foo* bar" flaws while we are here] Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
- 12 May, 2012 2 commits
-
-
Viresh Kumar authored
clk_{un}prepare is mandatory for platforms using common clock framework. Since this driver is used by SPEAr platform, which supports common clock framework, add clk_{un}prepare() support for designware i2c. Signed-off-by:
Viresh Kumar <viresh.kumar@st.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Deepak Sikri authored
This patch adds in support for standby/S2R/hybernate for i2c-designware driver. Signed-off-by:
Deepak Sikri <deepak.sikri@st.com> Signed-off-by:
Rajeev Kumar <rajeev-dlh.kumar@st.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
- 29 Feb, 2012 1 commit
-
-
Pratyush Anand authored
There are few drivers which are available on i2c bus but have been initialized with subsys_initcall. Also as I2C is a bus driver, it should be available as early as possible. Signed-off-by:
Pratyush Anand <pratyush.anand@st.com> Signed-off-by:
Viresh Kumar <viresh.kumar@st.com> [wsa: Slightly updated the commit message] Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
- 27 Dec, 2011 1 commit
-
-
Rob Herring authored
Add of_match_table and DT style i2c registration to designware i2c driver. Refactored for pci/plat split by Dirk Brandewie. Signed-off-by:
Rob Herring <rob.herring@calxeda.com> Acked-by:
Grant Likely <grant.likely@secretlab.ca> Signed-off-by:
Dirk Brandewie <dirk.brandewie@gmail.com>
-
- 29 Oct, 2011 3 commits
-
-
Dirk Brandewie authored
Move all register manipulation code into the core, also move register offset definitions to i2c-designware-core.c since the bus specific portions of the driver no longer need/use them. Signed-off-by:
Dirk Brandewie <dirk.brandewie@gmail.com> Signed-off-by:
Ben Dooks <ben-linux@fluff.org>
-
Dirk Brandewie authored
With multiple I2C adapters possible in the system each running at (possibly) different speeds we need to move the controller configuration bit field to the adapter. Signed-off-by:
Dirk Brandewie <dirk.brandewie@gmail.com> Signed-off-by:
Ben Dooks <ben-linux@fluff.org>
-
Dirk Brandewie authored
The functionality of the adapter depends on the configuration of the IP block at silicon compile time and is adapter specific. Signed-off-by:
Dirk Brandewie <dirk.brandewie@gmail.com> Signed-off-by:
Ben Dooks <ben-linux@fluff.org>
-