Commit c41e02c3 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Linus Walleij
Browse files

pinctrl: remove sirf atlas/prima drivers



The CSR SiRF prima2/atlas platforms are getting removed, so this driver
is no longer needed.

Cc: Barry Song <baohua@kernel.org>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarBarry Song <baohua@kernel.org>
Link: https://lore.kernel.org/r/20210120132045.2127659-4-arnd@kernel.org


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 484c58d6
Loading
Loading
Loading
Loading
+0 −50
Original line number Diff line number Diff line
CSR SiRFatlas7 GPIO controller bindings

Required properties:
- compatible	: "sirf,atlas7-gpio"
- reg		: Address range of the pinctrl registers
- interrupts	: Interrupts used by every GPIO group
- gpio-banks	: How many gpio banks on this controller
- gpio-controller : Indicates this device is a GPIO controller
- interrupt-controller  : Marks the device node as an interrupt controller

The GPIO controller also acts as an interrupt controller. It uses the default
two cells specifier as described in Documentation/devicetree/bindings/
interrupt-controller/interrupts.txt.

Example:

	gpio_0: gpio_mediam@17040000 {
		compatible = "sirf,atlas7-gpio";
		reg = <0x17040000 0x1000>;
		interrupts = <0 13 0>, <0 14 0>;

		#gpio-cells = <2>;
		#interrupt-cells = <2>;

		gpio-controller;
		interrupt-controller;

		gpio-banks = <2>;
		gpio-ranges = <&pinctrl 0 0 0>,
				<&pinctrl 32 0 0>;
		gpio-ranges-group-names = "lvds_gpio_grp",
					"uart_nand_gpio_grp";
	};

	leds {
		compatible = "gpio-leds";

		led1 {
			gpios = <&gpio_1 15 0>;
			...
		};

		led2 {
			gpios = <&gpio_2 34 0>;
			...
		};
	};

Please refer to gpio.txt in this directory for details of the common
gpio properties used by devices.
+0 −109
Original line number Diff line number Diff line
CSR SiRFatlas7 pinmux controller

Required properties:
- compatible	: "sirf,atlas7-ioc"
- reg		: Address range of the pinctrl registers

For example, pinctrl might have properties like the following:
	pinctrl: ioc@18880000 {
			compatible = "sirf,atlas7-ioc";
			reg = <0x18880000 0x1000>;

			a_ac97_pmx: ac97@0 {
				ac97 {
					groups = "audio_ac97_grp";
					function = "audio_ac97";
				};
			};

			...

			sd2_pmx: sd2@0 {
				sd2 {
					groups = "sd2_grp0";
					function = "sd2";
				};
			};

			...


			sample0_cfg: sample0@0 {
				sample0 {
					pins = "ldd_0", "ldd_1";
					bias-pull-up;
				};
			};

			sample1_cfg: sample1@0 {
				sample1 {
					pins = "ldd_2", "ldd_3";
					input-schmitt-enable;
				};
			};

			sample2_cfg: sample2@0 {
				sample2 {
					groups = "uart4_nopause_grp";
					bias-pull-down;
				};
			};

			sample3_cfg: sample3@0 {
				sample3 {
					pins = "ldd_4", "ldd_5";
					drive-strength = <2>;
				};
			};
	};

Please refer to pinctrl-bindings.txt in this directory for details of the common
pinctrl bindings used by client devices.

SiRFatlas7's pinmux nodes act as a container for an arbitrary number of subnodes.
Each of these subnodes represents some desired configuration for a group of pins.

Required subnode-properties:
- groups : An array of strings. Each string contains the name of a group.
- function: A string containing the name of the function to mux to the
  group.

  Valid values for group and function names can be found from looking at the
  group and function arrays in driver files:
  drivers/pinctrl/pinctrl-sirf.c

For example, pinctrl might have subnodes like the following:
	sd0_pmx: sd0@0 {
		sd0 {
			groups = "sd0_grp";
			function = "sd0";
		};
	};

	sd1_pmx0: sd1@0 {
		sd1 {
			groups = "sd1_grp0";
			function = "sd1_m0";
		};
	};

	sd1_pmx1: sd1@1 {
		sd1 {
			groups = "sd1_grp1";
			function = "sd1_m1";
		};
	};

For a specific board, if it wants to use sd1,
it can add the following to its board-specific .dts file.
sd1: sd@12340000 {
	pinctrl-names = "default";
	pinctrl-0 = <&sd1_pmx0>;
}

or

sd1: sd@12340000 {
	pinctrl-names = "default";
	pinctrl-0 = <&sd1_pmx1>;
}
+0 −8
Original line number Diff line number Diff line
@@ -226,14 +226,6 @@ config PINCTRL_SINGLE
	help
	  This selects the device tree based generic pinctrl driver.

config PINCTRL_SIRF
	bool "CSR SiRFprimaII pin controller driver"
	depends on ARCH_SIRF
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	select GPIOLIB_IRQCHIP

config PINCTRL_SX150X
	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
	depends on I2C=y
+0 −1
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ obj-$(CONFIG_PINCTRL_PIC32) += pinctrl-pic32.o
obj-$(CONFIG_PINCTRL_PISTACHIO)	+= pinctrl-pistachio.o
obj-$(CONFIG_PINCTRL_ROCKCHIP)	+= pinctrl-rockchip.o
obj-$(CONFIG_PINCTRL_SINGLE)	+= pinctrl-single.o
obj-$(CONFIG_PINCTRL_SIRF)	+= sirf/
obj-$(CONFIG_PINCTRL_SX150X)	+= pinctrl-sx150x.o
obj-$(CONFIG_ARCH_TEGRA)	+= tegra/
obj-$(CONFIG_PINCTRL_U300)	+= pinctrl-u300.o

drivers/pinctrl/sirf/Makefile

deleted100644 → 0
+0 −7
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
# CSR SiRFsoc pinmux support

obj-y	+= pinctrl-sirf.o
obj-y	+= pinctrl-prima2.o
obj-y	+= pinctrl-atlas6.o
obj-y	+= pinctrl-atlas7.o
Loading