Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bbe05e54 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull more i2c updates from Wolfram Sang:
 "I2C has two more new drivers: Altera FPGA and STM32F7"

* 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: i2c-stm32f7: add driver
  i2c: i2c-stm32f4: use generic definition of speed enum
  dt-bindings: i2c-stm32: Document the STM32F7 I2C bindings
  i2c: altera: Add Altera I2C Controller driver
  dt-bindings: i2c: Add Altera I2C Controller
parents 9db59599 aeb068c5
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
* Altera I2C Controller
* This is Altera's synthesizable logic block I2C Controller for use
* in Altera's FPGAs.

Required properties :
 - compatible : should be "altr,softip-i2c-v1.0"
 - reg        : Offset and length of the register set for the device
 - interrupts : <IRQ> where IRQ is the interrupt number.
 - clocks     : phandle to input clock.
 - #address-cells = <1>;
 - #size-cells = <0>;

Recommended properties :
 - clock-frequency : desired I2C bus clock frequency in Hz.

Optional properties :
 - fifo-size : Size of the RX and TX FIFOs in bytes.
 - Child nodes conforming to i2c bus binding

Example :

	i2c@100080000 {
		compatible = "altr,softip-i2c-v1.0";
		reg = <0x00000001 0x00080000 0x00000040>;
		interrupt-parent = <&intc>;
		interrupts = <0 43 4>;
		clocks = <&clk_0>;
		clock-frequency = <100000>;
		#address-cells = <1>;
		#size-cells = <0>;
		fifo-size = <4>;

		eeprom@51 {
			compatible = "atmel,24c32";
			reg = <0x51>;
			pagesize = <32>;
		};
	};
+26 −3
Original line number Diff line number Diff line
* I2C controller embedded in STMicroelectronics STM32 I2C platform

Required properties :
- compatible : Must be "st,stm32f4-i2c"
- compatible : Must be one of the following
  - "st,stm32f4-i2c"
  - "st,stm32f7-i2c"
- reg : Offset and length of the register set for the device
- interrupts : Must contain the interrupt id for I2C event and then the
  interrupt id for I2C error.
@@ -14,8 +16,16 @@ Required properties :

Optional properties :
- clock-frequency : Desired I2C bus clock frequency in Hz. If not specified,
  the default 100 kHz frequency will be used. As only Normal and Fast modes
  are supported, possible values are 100000 and 400000.
  the default 100 kHz frequency will be used.
  For STM32F4 SoC Standard-mode and Fast-mode are supported, possible values are
  100000 and 400000.
  For STM32F7 SoC, Standard-mode, Fast-mode and Fast-mode Plus are supported,
  possible values are 100000, 400000 and 1000000.
- i2c-scl-rising-time-ns : Only for STM32F7, I2C SCL Rising time for the board
  (default: 25)
- i2c-scl-falling-time-ns : Only for STM32F7, I2C SCL Falling time for the board
  (default: 10)
  I2C Timings are derived from these 2 values

Example :

@@ -31,3 +41,16 @@ Example :
		pinctrl-0 = <&i2c1_sda_pin>, <&i2c1_scl_pin>;
		pinctrl-names = "default";
	};

	i2c@40005400 {
		compatible = "st,stm32f7-i2c";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x40005400 0x400>;
		interrupts = <31>,
			     <32>;
		resets = <&rcc STM32F7_APB1_RESET(I2C1)>;
		clocks = <&rcc 1 CLK_I2C1>;
		pinctrl-0 = <&i2c1_sda_pin>, <&i2c1_scl_pin>;
		pinctrl-names = "default";
	};
+5 −0
Original line number Diff line number Diff line
@@ -644,6 +644,11 @@ ALPS PS/2 TOUCHPAD DRIVER
R:	Pali Rohár <pali.rohar@gmail.com>
F:	drivers/input/mouse/alps.*

ALTERA I2C CONTROLLER DRIVER
M:	Thor Thayer <thor.thayer@linux.intel.com>
S:	Maintained
F:	drivers/i2c/busses/i2c-altera.c

ALTERA MAILBOX DRIVER
M:	Ley Foon Tan <lftan@altera.com>
L:	nios2-dev@lists.rocketboards.org (moderated for non-subscribers)
+20 −0
Original line number Diff line number Diff line
@@ -336,6 +336,16 @@ config I2C_POWERMAC

comment "I2C system bus drivers (mostly embedded / system-on-chip)"

config I2C_ALTERA
	tristate "Altera Soft IP I2C"
	depends on (ARCH_SOCFPGA || NIOS2) && OF
	help
	  If you say yes to this option, support will be included for the
	  Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.

	  This driver can also be built as a module.  If so, the module
	  will be called i2c-altera.

config I2C_ASPEED
	tristate "Aspeed I2C Controller"
	depends on ARCH_ASPEED || COMPILE_TEST
@@ -935,6 +945,16 @@ config I2C_STM32F4
	  This driver can also be built as module. If so, the module
	  will be called i2c-stm32f4.

config I2C_STM32F7
	tristate "STMicroelectronics STM32F7 I2C support"
	depends on ARCH_STM32 || COMPILE_TEST
	help
	  Enable this option to add support for STM32 I2C controller embedded
	  in STM32F7 SoCs.

	  This driver can also be built as module. If so, the module
	  will be called i2c-stm32f7.

config I2C_STU300
	tristate "ST Microelectronics DDC I2C interface"
	depends on MACH_U300
+2 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ obj-$(CONFIG_I2C_HYDRA) += i2c-hydra.o
obj-$(CONFIG_I2C_POWERMAC)	+= i2c-powermac.o

# Embedded system I2C/SMBus host controller drivers
obj-$(CONFIG_I2C_ALTERA)	+= i2c-altera.o
obj-$(CONFIG_I2C_ASPEED)	+= i2c-aspeed.o
obj-$(CONFIG_I2C_AT91)		+= i2c-at91.o
obj-$(CONFIG_I2C_AU1550)	+= i2c-au1550.o
@@ -93,6 +94,7 @@ obj-$(CONFIG_I2C_SIRF) += i2c-sirf.o
obj-$(CONFIG_I2C_SPRD)		+= i2c-sprd.o
obj-$(CONFIG_I2C_ST)		+= i2c-st.o
obj-$(CONFIG_I2C_STM32F4)	+= i2c-stm32f4.o
obj-$(CONFIG_I2C_STM32F7)	+= i2c-stm32f7.o
obj-$(CONFIG_I2C_STU300)	+= i2c-stu300.o
obj-$(CONFIG_I2C_SUN6I_P2WI)	+= i2c-sun6i-p2wi.o
obj-$(CONFIG_I2C_TEGRA)		+= i2c-tegra.o
Loading