]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
Merge tag 'pxa-fixes-v4.6' of https://github.com/rjarzmik/linux into fixes
authorOlof Johansson <olof@lixom.net>
Tue, 12 Apr 2016 19:33:41 +0000 (12:33 -0700)
committerOlof Johansson <olof@lixom.net>
Tue, 12 Apr 2016 19:33:41 +0000 (12:33 -0700)
ARM: pxa: fixes for v4.6

There is only a single fix for dma requestor lines initial
setup, triggered by dmaengine previous fix.

* tag 'pxa-fixes-v4.6' of https://github.com/rjarzmik/linux:
  ARM: pxa: fix the number of DMA requestor lines

Signed-off-by: Olof Johansson <olof@lixom.net>
16 files changed:
Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt
arch/arm/boot/dts/am335x-baltos-ir5221.dts
arch/arm/boot/dts/am4372.dtsi
arch/arm/boot/dts/am43x-epos-evm.dts
arch/arm/boot/dts/meson8.dtsi
arch/arm/boot/dts/meson8b.dtsi
arch/arm/boot/dts/omap4.dtsi
arch/arm/configs/u8500_defconfig
arch/arm/mach-omap2/id.c
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
arch/arm/mach-omap2/soc.h
arch/arm/mach-uniphier/platsmp.c
arch/arm64/boot/dts/broadcom/vulcan.dtsi
drivers/bus/uniphier-system-bus.c

index 3f6a524cc5ffce28dddb0f2d9e0717098ec6a5a9..32f4a2d6d0b31dc76d458e854c51375c291ea3b0 100644 (file)
@@ -1,13 +1,16 @@
 == Amlogic Meson pinmux controller ==
 
 Required properties for the root node:
- - compatible: "amlogic,meson8-pinctrl" or "amlogic,meson8b-pinctrl"
+ - compatible: one of "amlogic,meson8-cbus-pinctrl"
+                     "amlogic,meson8b-cbus-pinctrl"
+                     "amlogic,meson8-aobus-pinctrl"
+                     "amlogic,meson8b-aobus-pinctrl"
  - reg: address and size of registers controlling irq functionality
 
 === GPIO sub-nodes ===
 
-The 2 power domains of the controller (regular and always-on) are
-represented as sub-nodes and each of them acts as a GPIO controller.
+The GPIO bank for the controller is represented as a sub-node and it acts as a
+GPIO controller.
 
 Required properties for sub-nodes are:
  - reg: should contain address and size for mux, pull-enable, pull and
@@ -18,10 +21,6 @@ Required properties for sub-nodes are:
  - gpio-controller: identifies the node as a gpio controller
  - #gpio-cells: must be 2
 
-Valid sub-node names are:
- - "banks" for the regular domain
- - "ao-bank" for the always-on domain
-
 === Other sub-nodes ===
 
 Child nodes without the "gpio-controller" represent some desired
@@ -45,7 +44,7 @@ pinctrl-bindings.txt
 === Example ===
 
        pinctrl: pinctrl@c1109880 {
-               compatible = "amlogic,meson8-pinctrl";
+               compatible = "amlogic,meson8-cbus-pinctrl";
                reg = <0xc1109880 0x10>;
                #address-cells = <1>;
                #size-cells = <1>;
@@ -61,15 +60,6 @@ pinctrl-bindings.txt
                        #gpio-cells = <2>;
                };
 
-               gpio_ao: ao-bank@c1108030 {
-                       reg = <0xc8100014 0x4>,
-                             <0xc810002c 0x4>,
-                             <0xc8100024 0x8>;
-                       reg-names = "mux", "pull", "gpio";
-                       gpio-controller;
-                       #gpio-cells = <2>;
-               };
-
                nand {
                        mux {
                                groups = "nand_io", "nand_io_ce0", "nand_io_ce1",
@@ -79,18 +69,4 @@ pinctrl-bindings.txt
                                function = "nand";
                        };
                };
-
-               uart_ao_a {
-                       mux {
-                               groups = "uart_tx_ao_a", "uart_rx_ao_a",
-                                        "uart_cts_ao_a", "uart_rts_ao_a";
-                               function = "uart_ao";
-                       };
-
-                       conf {
-                               pins = "GPIOAO_0", "GPIOAO_1",
-                                      "GPIOAO_2", "GPIOAO_3";
-                               bias-disable;
-                       };
-               };
        };
index 6c667fb3544923fb32704bdf4c22ff587c016f5d..4e28d87e935637140af712abf5a661f338437db9 100644 (file)
 };
 
 &cpsw_emac0 {
-       phy_id = <&davinci_mdio>, <0>;
        phy-mode = "rmii";
        dual_emac_res_vlan = <1>;
+       fixed-link {
+               speed = <100>;
+               full-duplex;
+       };
 };
 
 &cpsw_emac1 {
index 6e4f5af3d8f8b607bc0bce45cd419169b0f7945d..344b861a55a5bc6f9652ec1dce8fcb22ad256042 100644 (file)
                        ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
                                   <&edma_tptc2 0>;
 
-                       ti,edma-memcpy-channels = <32 33>;
+                       ti,edma-memcpy-channels = <58 59>;
                };
 
                edma_tptc0: tptc@49800000 {
index 83dfafaaba1bc019fab7432c8003930c7f8ae1e6..d5dd72047a7ed4a4ea102a571085a2e58c47c0b6 100644 (file)
        tx-num-evt = <32>;
        rx-num-evt = <32>;
 };
+
+&synctimer_32kclk {
+       assigned-clocks = <&mux_synctimer32k_ck>;
+       assigned-clock-parents = <&clkdiv32k_ick>;
+};
index a2ddcb8c545a01ebdcc86d3c011e348f5295619b..45619f6162c56a6260b7d832678b4cc94b019de0 100644 (file)
@@ -91,8 +91,8 @@
                clock-frequency = <141666666>;
        };
 
-       pinctrl: pinctrl@c1109880 {
-               compatible = "amlogic,meson8-pinctrl";
+       pinctrl_cbus: pinctrl@c1109880 {
+               compatible = "amlogic,meson8-cbus-pinctrl";
                reg = <0xc1109880 0x10>;
                #address-cells = <1>;
                #size-cells = <1>;
                        #gpio-cells = <2>;
                };
 
-               gpio_ao: ao-bank@c1108030 {
-                       reg = <0xc8100014 0x4>,
-                             <0xc810002c 0x4>,
-                             <0xc8100024 0x8>;
-                       reg-names = "mux", "pull", "gpio";
-                       gpio-controller;
-                       #gpio-cells = <2>;
-               };
-
-               uart_ao_a_pins: uart_ao_a {
-                       mux {
-                               groups = "uart_tx_ao_a", "uart_rx_ao_a";
-                               function = "uart_ao";
-                       };
-               };
-
-               i2c_ao_pins: i2c_mst_ao {
-                       mux {
-                               groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
-                               function = "i2c_mst_ao";
-                       };
-               };
-
                spi_nor_pins: nor {
                        mux {
                                groups = "nor_d", "nor_q", "nor_c", "nor_cs";
                };
        };
 
+       pinctrl_aobus: pinctrl@c8100084 {
+               compatible = "amlogic,meson8-aobus-pinctrl";
+               reg = <0xc8100084 0xc>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               gpio_ao: ao-bank@c1108030 {
+                       reg = <0xc8100014 0x4>,
+                             <0xc810002c 0x4>,
+                             <0xc8100024 0x8>;
+                       reg-names = "mux", "pull", "gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+               };
+
+               uart_ao_a_pins: uart_ao_a {
+                       mux {
+                               groups = "uart_tx_ao_a", "uart_rx_ao_a";
+                               function = "uart_ao";
+                       };
+               };
+
+               i2c_ao_pins: i2c_mst_ao {
+                       mux {
+                               groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
+                               function = "i2c_mst_ao";
+                       };
+               };
+       };
 }; /* end of / */
index 8bad5571af461e86cabc9fe708db6865d0a95774..2bfe401a4da9181a8e029b9a073609ea5856c7fc 100644 (file)
                        reg = <0xc1108000 0x4>, <0xc1104000 0x460>;
                };
 
-               pinctrl: pinctrl@c1109880 {
-                       compatible = "amlogic,meson8b-pinctrl";
+               pinctrl_cbus: pinctrl@c1109880 {
+                       compatible = "amlogic,meson8b-cbus-pinctrl";
                        reg = <0xc1109880 0x10>;
                        #address-cells = <1>;
                        #size-cells = <1>;
                                gpio-controller;
                                #gpio-cells = <2>;
                        };
+               };
+
+               pinctrl_aobus: pinctrl@c8100084 {
+                       compatible = "amlogic,meson8b-aobus-pinctrl";
+                       reg = <0xc8100084 0xc>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
 
                        gpio_ao: ao-bank@c1108030 {
                                reg = <0xc8100014 0x4>,
index 2bd9c83300b2bc3810da219e821f79e4385cc98d..421fe9f8a9ebd779fdf79044cde8be1b387cb0dc 100644 (file)
@@ -70,7 +70,7 @@
                compatible = "arm,cortex-a9-twd-timer";
                clocks = <&mpu_periphclk>;
                reg = <0x48240600 0x20>;
-               interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
+               interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_EDGE_RISING)>;
                interrupt-parent = <&gic>;
        };
 
index 07055eacbb0f24a045b04bf61f923da9c7ebb43c..a691d590fbd142fcc15a8761e311dfa283ee363c 100644 (file)
@@ -63,6 +63,9 @@ CONFIG_INPUT_TOUCHSCREEN=y
 CONFIG_TOUCHSCREEN_BU21013=y
 CONFIG_INPUT_MISC=y
 CONFIG_INPUT_AB8500_PONKEY=y
+CONFIG_RMI4_CORE=y
+CONFIG_RMI4_I2C=y
+CONFIG_RMI4_F11=y
 # CONFIG_SERIO is not set
 CONFIG_VT_HW_CONSOLE_BINDING=y
 # CONFIG_LEGACY_PTYS is not set
index d85c24918c177d176fd191aa1ebcfaff5ce90f74..2abd53ae3e7a13f5801b7680ebd65464f2bede5c 100644 (file)
@@ -669,9 +669,9 @@ void __init dra7xxx_check_revision(void)
                case 0:
                        omap_revision = DRA722_REV_ES1_0;
                        break;
+               case 1:
                default:
-                       /* If we have no new revisions */
-                       omap_revision = DRA722_REV_ES1_0;
+                       omap_revision = DRA722_REV_ES2_0;
                        break;
                }
                break;
index 3c87e40650cf374daf3083437c8ec614fdbc136e..9821be6dfd5ed95afcf996ac02d3a9da1257564a 100644 (file)
@@ -368,6 +368,7 @@ void __init omap5_map_io(void)
 void __init dra7xx_map_io(void)
 {
        iotable_init(dra7xx_io_desc, ARRAY_SIZE(dra7xx_io_desc));
+       omap_barriers_init();
 }
 #endif
 /*
index b6d62e4cdfddaf53f8d3aa7c1768b5e83255673e..2af6ff63e3b483f197d35761d43dfee90dcafe73 100644 (file)
@@ -1416,9 +1416,7 @@ static void _enable_sysc(struct omap_hwmod *oh)
            (sf & SYSC_HAS_CLOCKACTIVITY))
                _set_clockactivity(oh, oh->class->sysc->clockact, &v);
 
-       /* If the cached value is the same as the new value, skip the write */
-       if (oh->_sysc_cache != v)
-               _write_sysconfig(v, oh);
+       _write_sysconfig(v, oh);
 
        /*
         * Set the autoidle bit only after setting the smartidle bit
@@ -1481,7 +1479,9 @@ static void _idle_sysc(struct omap_hwmod *oh)
                _set_master_standbymode(oh, idlemode, &v);
        }
 
-       _write_sysconfig(v, oh);
+       /* If the cached value is the same as the new value, skip the write */
+       if (oh->_sysc_cache != v)
+               _write_sysconfig(v, oh);
 }
 
 /**
index 39736ad2a7548d41cc2ca078084c6e04e414bf56..df8327713d06566eeb58d8691fcc1ffc2e5952d6 100644 (file)
@@ -582,9 +582,11 @@ static struct omap_hwmod_ocp_if dm81xx_alwon_l3_slow__gpmc = {
        .user           = OCP_USER_MPU,
 };
 
+/* USB needs udelay 1 after reset at least on hp t410, use 2 for margin */
 static struct omap_hwmod_class_sysconfig dm81xx_usbhsotg_sysc = {
        .rev_offs       = 0x0,
        .sysc_offs      = 0x10,
+       .srst_udelay    = 2,
        .sysc_flags     = SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
                                SYSC_HAS_SOFTRESET,
        .idlemodes      = SIDLE_SMART | MSTANDBY_FORCE | MSTANDBY_SMART,
index 70df8f6cddccbf1ad7b8372eb847c2a2bdfc755c..364418c78bf37a07151a3213fec5b8a926ecd65f 100644 (file)
@@ -489,6 +489,7 @@ IS_OMAP_TYPE(3430, 0x3430)
 #define DRA752_REV_ES2_0       (DRA7XX_CLASS | (0x52 << 16) | (0x20 << 8))
 #define DRA722_REV_ES1_0       (DRA7XX_CLASS | (0x22 << 16) | (0x10 << 8))
 #define DRA722_REV_ES1_0       (DRA7XX_CLASS | (0x22 << 16) | (0x10 << 8))
+#define DRA722_REV_ES2_0       (DRA7XX_CLASS | (0x22 << 16) | (0x20 << 8))
 
 void omap2xxx_check_revision(void);
 void omap3xxx_check_revision(void);
index 69141357afe81991595f81348df9f2f0964db06f..db04142f88bc3fab0519a0e21db5ed0a022c19c7 100644 (file)
@@ -120,7 +120,7 @@ static int __init uniphier_smp_prepare_trampoline(unsigned int max_cpus)
        if (ret)
                return ret;
 
-       uniphier_smp_rom_boot_rsv2 = ioremap(rom_rsv2_phys, sizeof(SZ_4));
+       uniphier_smp_rom_boot_rsv2 = ioremap(rom_rsv2_phys, SZ_4);
        if (!uniphier_smp_rom_boot_rsv2) {
                pr_err("failed to map ROM_BOOT_RSV2 register\n");
                return -ENOMEM;
index c49b5a85809c5bc96d48f3b8799b965a8f96e860..85820e2bca9df4ce72f63f69670d88586c23930a 100644 (file)
                reg = <0x0 0x30000000  0x0 0x10000000>;
                reg-names = "PCI ECAM";
 
-                         /* IO 0x4000_0000 - 0x4001_0000 */
-               ranges = <0x01000000 0 0x40000000 0 0x40000000 0 0x00010000
-                         /* MEM 0x4800_0000 - 0x5000_0000 */
-                         0x02000000 0 0x48000000 0 0x48000000 0 0x08000000
-                         /* MEM64 pref 0x6_0000_0000 - 0x7_0000_0000 */
-                         0x43000000 6 0x00000000 6 0x00000000 1 0x00000000>;
+               /*
+                * PCI ranges:
+                *   IO         no supported
+                *   MEM        0x4000_0000 - 0x6000_0000
+                *   MEM64 pref 0x40_0000_0000 - 0x60_0000_0000
+                */
+               ranges =
+                 <0x02000000    0 0x40000000    0 0x40000000    0 0x20000000
+                  0x43000000 0x40 0x00000000 0x40 0x00000000 0x20 0x00000000>;
                interrupt-map-mask = <0 0 0 7>;
                interrupt-map =
                      /* addr  pin  ic   icaddr  icintr */
index 834a2aeaf27a8d80b9dd1df110473dcab4ef154b..350b7309c26d714c1a80c2a56b2a2d9acf1040bb 100644 (file)
@@ -108,7 +108,7 @@ static int uniphier_system_bus_check_overlap(
 
        for (i = 0; i < ARRAY_SIZE(priv->bank); i++) {
                for (j = i + 1; j < ARRAY_SIZE(priv->bank); j++) {
-                       if (priv->bank[i].end > priv->bank[j].base ||
+                       if (priv->bank[i].end > priv->bank[j].base &&
                            priv->bank[i].base < priv->bank[j].end) {
                                dev_err(priv->dev,
                                        "region overlap between bank%d and bank%d\n",