Commit 0c582826 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull non-urgent ARM SoC fixes from Olof Johansson:
 "As usual, we queue up a few fixes that don't seem urgent enough to go
  in through -rc.

   - MAINTAINERS updates to add a list for brcmstb and fix a typo
   - A handful of fixes for OMAP 81xx, a recently resurrected platform
     so these can't be considered real regressions and thus got queued.
   - A couple of other small fixes for scoop, sa1100 and davinci"

* tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: OMAP2+: Fix randconfig build warning for dm814_pllss_data
  ARM: sa1100/simpad: Be sure to clamp return value
  ARM: scoop: Be sure to clamp return value
  ARM: davinci: fix a problematic usage of WARN()
  ARM: davinci: only select WT cache if cache is enabled
  ARM: OMAP2+: Remove useless check for legacy booting for dm814x
  ARM: OMAP2+: Enable GPIO for dm814x
  ARM: dts: Fix dm814x pinctrl address and mask
  ARM: dts: Fix dm8148 control modules ranges
  ARM: OMAP2+: Fix timer entries for dm814x
  ARM: dts: Fix some mux and divider clocks to get dm814x-evm booting
  ARM: OMAP2+: Add DPPLS clock manager for dm814x
  clk: ti: Add few dm814x clock aliases
  ARM: dts: Fix dm814x entries for pllss and prcm
  MAINTAINERS: gpio-brcmstb: Remove stray '>'
  MAINTAINERS: brcmstb: Include Broadcom internal mailing-list
parents e3de671d 08ceca8e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2377,6 +2377,7 @@ M: Brian Norris <computersforpeace@gmail.com>
M:	Gregory Fong <gregory.0xf0@gmail.com>
M:	Florian Fainelli <f.fainelli@gmail.com>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L:	bcm-kernel-feedback-list@broadcom.com
T:	git git://github.com/broadcom/stblinux.git
S:	Maintained
F:	arch/arm/mach-bcm/*brcmstb*
@@ -2450,7 +2451,7 @@ N: bcm88312

BROADCOM BRCMSTB GPIO DRIVER
M:	Gregory Fong <gregory.0xf0@gmail.com>
L:	bcm-kernel-feedback-list@broadcom.com>
L:	bcm-kernel-feedback-list@broadcom.com
S:	Supported
F:	drivers/gpio/gpio-brcmstb.c
F:	Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt
+79 −30
Original line number Diff line number Diff line
@@ -4,25 +4,74 @@
 * published by the Free Software Foundation.
 */

&pllss_clocks {
	timer1_fck: timer1_fck {
		#clock-cells = <0>;
		compatible = "ti,mux-clock";
		clocks = <&sysclk18_ck &aud_clkin0_ck &aud_clkin1_ck
			  &aud_clkin2_ck &devosc_ck &auxosc_ck &tclkin_ck>;
		ti,bit-shift = <3>;
		reg = <0x2e0>;
	};

	timer2_fck: timer2_fck {
		#clock-cells = <0>;
		compatible = "ti,mux-clock";
		clocks = <&sysclk18_ck &aud_clkin0_ck &aud_clkin1_ck
			  &aud_clkin2_ck &devosc_ck &auxosc_ck &tclkin_ck>;
		ti,bit-shift = <6>;
		reg = <0x2e0>;
	};

	sysclk18_ck: sysclk18_ck {
		#clock-cells = <0>;
		compatible = "ti,mux-clock";
		clocks = <&rtcosc_ck>, <&rtcdivider_ck>;
		ti,bit-shift = <0>;
		reg = <0x02f0>;
	};
};

&scm_clocks {
	devosc_ck: devosc_ck {
		#clock-cells = <0>;
		compatible = "ti,mux-clock";
		clocks = <&virt_20000000_ck>, <&virt_19200000_ck>;
		ti,bit-shift = <21>;
		reg = <0x0040>;
	};

	tclkin_ck: tclkin_ck {
	/* Optional auxosc, 20 - 30 MHz range, assume 27 MHz by default */
	auxosc_ck: auxosc_ck {
		#clock-cells = <0>;
		compatible = "fixed-clock";
		clock-frequency = <27000000>;
	};

	/* Optional 32768Hz crystal or clock on RTCOSC pins */
	rtcosc_ck: rtcosc_ck {
		#clock-cells = <0>;
		compatible = "fixed-clock";
		clock-frequency = <32768>;
	};

	devosc_ck: devosc_ck {
	/* Optional external clock on TCLKIN pin, set rate in baord dts file */
	tclkin_ck: tclkin_ck {
		#clock-cells = <0>;
		compatible = "fixed-clock";
		clock-frequency = <0>;
	};

	virt_20000000_ck: virt_20000000_ck {
		#clock-cells = <0>;
		compatible = "fixed-clock";
		clock-frequency = <20000000>;
	};

	/* Optional auxosc, 20 - 30 MHz range, assume 27 MHz by default */
	auxosc_ck: auxosc_ck {
	virt_19200000_ck: virt_19200000_ck {
		#clock-cells = <0>;
		compatible = "fixed-clock";
		clock-frequency = <27000000>;
		clock-frequency = <19200000>;
	};

	mpu_ck: mpu_ck {
@@ -49,12 +98,6 @@
		clock-frequency = <48000000>;
	};

	sysclk18_ck: sysclk18_ck {
		#clock-cells = <0>;
		compatible = "fixed-clock";
		clock-frequency = <32768>;
	};

        cpsw_125mhz_gclk: cpsw_125mhz_gclk {
		#clock-cells = <0>;
		compatible = "fixed-clock";
@@ -69,7 +112,31 @@

};

&pllss_clocks {
&prcm_clocks {
	osc_src_ck: osc_src_ck {
		#clock-cells = <0>;
		compatible = "fixed-factor-clock";
		clocks = <&devosc_ck>;
		clock-mult = <1>;
		clock-div = <1>;
	};

	mpu_clksrc_ck: mpu_clksrc_ck {
		#clock-cells = <0>;
		compatible = "ti,mux-clock";
		clocks = <&devosc_ck>, <&rtcdivider_ck>;
		ti,bit-shift = <0>;
		reg = <0x0040>;
	};

	/* Fixed divider clock 0.0016384 * devosc */
	rtcdivider_ck: rtcdivider_ck {
		#clock-cells = <0>;
		compatible = "fixed-factor-clock";
		clocks = <&devosc_ck>;
		clock-mult = <128>;
		clock-div = <78125>;
	};

	aud_clkin0_ck: aud_clkin0_ck {
		#clock-cells = <0>;
@@ -88,22 +155,4 @@
		compatible = "fixed-clock";
		clock-frequency = <20000000>;
	};

	timer1_mux_ck: timer1_mux_ck {
		#clock-cells = <0>;
		compatible = "ti,mux-clock";
		clocks = <&sysclk18_ck &aud_clkin0_ck &aud_clkin1_ck
			  &aud_clkin2_ck &devosc_ck &auxosc_ck &tclkin_ck>;
		ti,bit-shift = <3>;
		reg = <0x2e0>;
	};

	timer2_mux_ck: timer2_mux_ck {
		#clock-cells = <0>;
		compatible = "ti,mux-clock";
		clocks = <&sysclk18_ck &aud_clkin0_ck &aud_clkin1_ck
			  &aud_clkin2_ck &devosc_ck &auxosc_ck &tclkin_ck>;
		ti,bit-shift = <6>;
		reg = <0x2e0>;
	};
};
+25 −8
Original line number Diff line number Diff line
@@ -58,8 +58,10 @@
		ti,hwmods = "l3_main";

		/*
		 * See TRM "Table 1-317. L4LS Instance Summary", just deduct
		 * 0x1000 from the 1-317 addresses to get the device address
		 * See TRM "Table 1-317. L4LS Instance Summary" for hints.
		 * It shows the module target agent registers though, so the
		 * actual device is typically 0x1000 before the target agent
		 * except in cases where the module is larger than 0x1000.
		 */
		l4ls: l4ls@48000000 {
			compatible = "ti,dm814-l4ls", "simple-bus";
@@ -183,10 +185,10 @@

			control: control@140000 {
				compatible = "ti,dm814-scm", "simple-bus";
				reg = <0x140000 0x16d000>;
				reg = <0x140000 0x20000>;
				#address-cells = <1>;
				#size-cells = <1>;
				ranges = <0 0x160000 0x16d000>;
				ranges = <0 0x140000 0x20000>;

				scm_conf: scm_conf@0 {
					compatible = "syscon";
@@ -203,19 +205,30 @@
					};
				};

				/*
				 * Note that silicon revision 2.1 and older
				 * require input enabled (bit 18 set) for all
				 * 3.3V I/Os to avoid cumulative hardware damage.
				 * For more info, see errata advisory 2.1.87.
				 * We leave bit 18 out of function-mask and rely
				 * on the bootloader for it.
				 */
				pincntl: pinmux@800 {
					compatible = "pinctrl-single";
					reg = <0x800 0xc38>;
					reg = <0x800 0x438>;
					#address-cells = <1>;
					#size-cells = <0>;
					pinctrl-single,register-width = <32>;
					pinctrl-single,function-mask = <0x300ff>;
					pinctrl-single,function-mask = <0x307ff>;
				};
			};

			prcm: prcm@180000 {
				compatible = "ti,dm814-prcm", "simple-bus";
				reg = <0x180000 0x4000>;
				reg = <0x180000 0x2000>;
				#address-cells = <1>;
				#size-cells = <1>;
				ranges = <0 0x180000 0x2000>;

				prcm_clocks: clocks {
					#address-cells = <1>;
@@ -226,9 +239,13 @@
				};
			};

			/* See TRM PLL_SUBSYS_BASE and "PLLSS Registers" */
			pllss: pllss@1c5000 {
				compatible = "ti,dm814-pllss", "simple-bus";
				reg = <0x1c5000 0x2000>;
				reg = <0x1c5000 0x1000>;
				#address-cells = <1>;
				#size-cells = <1>;
				ranges = <0 0x1c5000 0x1000>;

				pllss_clocks: clocks {
					#address-cells = <1>;
+1 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ static int scoop_gpio_get(struct gpio_chip *chip, unsigned offset)
	struct scoop_dev *sdev = container_of(chip, struct scoop_dev, gpio);

	/* XXX: I'm unsure, but it seems so */
	return ioread16(sdev->base + SCOOP_GPRR) & (1 << (offset + 1));
	return !!(ioread16(sdev->base + SCOOP_GPRR) & (1 << (offset + 1)));
}

static int scoop_gpio_direction_input(struct gpio_chip *chip,
+2 −1
Original line number Diff line number Diff line
@@ -34,7 +34,8 @@ config ARCH_DAVINCI_DA830
	bool "DA830/OMAP-L137/AM17x based system"
	depends on !ARCH_DAVINCI_DMx || AUTO_ZRELADDR
	select ARCH_DAVINCI_DA8XX
	select CPU_DCACHE_WRITETHROUGH # needed on silicon revs 1.0, 1.1
	# needed on silicon revs 1.0, 1.1:
	select CPU_DCACHE_WRITETHROUGH if !CPU_DCACHE_DISABLE
	select CP_INTC

config ARCH_DAVINCI_DA850
Loading