Merge 3.15-rc3 into staging-next

This commit is contained in:
Greg Kroah-Hartman 2014-04-27 21:38:34 -07:00
commit 37aa48368f
249 changed files with 2319 additions and 1448 deletions

View File

@ -1,7 +1,7 @@
VERSION = 3 VERSION = 3
PATCHLEVEL = 15 PATCHLEVEL = 15
SUBLEVEL = 0 SUBLEVEL = 0
EXTRAVERSION = -rc2 EXTRAVERSION = -rc3
NAME = Shuffling Zombie Juror NAME = Shuffling Zombie Juror
# *DOCUMENTATION* # *DOCUMENTATION*

View File

@ -30,9 +30,9 @@ config ARM
select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT) select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_TRACEHOOK
select HAVE_BPF_JIT select HAVE_BPF_JIT
select HAVE_CC_STACKPROTECTOR
select HAVE_CONTEXT_TRACKING select HAVE_CONTEXT_TRACKING
select HAVE_C_RECORDMCOUNT select HAVE_C_RECORDMCOUNT
select HAVE_CC_STACKPROTECTOR
select HAVE_DEBUG_KMEMLEAK select HAVE_DEBUG_KMEMLEAK
select HAVE_DMA_API_DEBUG select HAVE_DMA_API_DEBUG
select HAVE_DMA_ATTRS select HAVE_DMA_ATTRS
@ -311,6 +311,7 @@ config ARCH_MULTIPLATFORM
select ARM_HAS_SG_CHAIN select ARM_HAS_SG_CHAIN
select ARM_PATCH_PHYS_VIRT select ARM_PATCH_PHYS_VIRT
select AUTO_ZRELADDR select AUTO_ZRELADDR
select CLKSRC_OF
select COMMON_CLK select COMMON_CLK
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select MULTI_IRQ_HANDLER select MULTI_IRQ_HANDLER
@ -422,8 +423,8 @@ config ARCH_EFM32
bool "Energy Micro efm32" bool "Energy Micro efm32"
depends on !MMU depends on !MMU
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select AUTO_ZRELADDR
select ARM_NVIC select ARM_NVIC
select AUTO_ZRELADDR
select CLKSRC_OF select CLKSRC_OF
select COMMON_CLK select COMMON_CLK
select CPU_V7M select CPU_V7M
@ -511,8 +512,8 @@ config ARCH_IXP4XX
bool "IXP4xx-based" bool "IXP4xx-based"
depends on MMU depends on MMU
select ARCH_HAS_DMA_SET_COHERENT_MASK select ARCH_HAS_DMA_SET_COHERENT_MASK
select ARCH_SUPPORTS_BIG_ENDIAN
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select ARCH_SUPPORTS_BIG_ENDIAN
select CLKSRC_MMIO select CLKSRC_MMIO
select CPU_XSCALE select CPU_XSCALE
select DMABOUNCE if PCI select DMABOUNCE if PCI
@ -1110,9 +1111,9 @@ config ARM_NR_BANKS
default 8 default 8
config IWMMXT config IWMMXT
bool "Enable iWMMXt support" if !CPU_PJ4 bool "Enable iWMMXt support"
depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 || CPU_PJ4B
default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4 default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4 || CPU_PJ4B
help help
Enable support for iWMMXt context switching at run time if Enable support for iWMMXt context switching at run time if
running on a CPU that supports it. running on a CPU that supports it.
@ -1575,8 +1576,8 @@ config BIG_LITTLE
config BL_SWITCHER config BL_SWITCHER
bool "big.LITTLE switcher support" bool "big.LITTLE switcher support"
depends on BIG_LITTLE && MCPM && HOTPLUG_CPU depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
select CPU_PM
select ARM_CPU_SUSPEND select ARM_CPU_SUSPEND
select CPU_PM
help help
The big.LITTLE "switcher" provides the core functionality to The big.LITTLE "switcher" provides the core functionality to
transparently handle transition between a cluster of A15's transparently handle transition between a cluster of A15's
@ -1920,9 +1921,9 @@ config XEN
depends on CPU_V7 && !CPU_V6 depends on CPU_V7 && !CPU_V6
depends on !GENERIC_ATOMIC64 depends on !GENERIC_ATOMIC64
depends on MMU depends on MMU
select ARCH_DMA_ADDR_T_64BIT
select ARM_PSCI select ARM_PSCI
select SWIOTLB_XEN select SWIOTLB_XEN
select ARCH_DMA_ADDR_T_64BIT
help help
Say Y if you want to run Linux in a Virtual Machine on Xen on ARM. Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.

View File

@ -1030,9 +1030,9 @@ config DEBUG_UART_PHYS
default 0x40100000 if DEBUG_PXA_UART1 default 0x40100000 if DEBUG_PXA_UART1
default 0x42000000 if ARCH_GEMINI default 0x42000000 if ARCH_GEMINI
default 0x7c0003f8 if FOOTBRIDGE default 0x7c0003f8 if FOOTBRIDGE
default 0x80230000 if DEBUG_PICOXCELL_UART
default 0x80070000 if DEBUG_IMX23_UART default 0x80070000 if DEBUG_IMX23_UART
default 0x80074000 if DEBUG_IMX28_UART default 0x80074000 if DEBUG_IMX28_UART
default 0x80230000 if DEBUG_PICOXCELL_UART
default 0x808c0000 if ARCH_EP93XX default 0x808c0000 if ARCH_EP93XX
default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
@ -1096,22 +1096,22 @@ config DEBUG_UART_VIRT
default 0xfeb26000 if DEBUG_RK3X_UART1 default 0xfeb26000 if DEBUG_RK3X_UART1
default 0xfeb30c00 if DEBUG_KEYSTONE_UART0 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
default 0xfeb31000 if DEBUG_KEYSTONE_UART1 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
default 0xfed60000 if DEBUG_RK29_UART0
default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
default 0xfec02000 if DEBUG_SOCFPGA_UART default 0xfec02000 if DEBUG_SOCFPGA_UART
default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
default 0xfed12000 if ARCH_KIRKWOOD default 0xfed12000 if ARCH_KIRKWOOD
default 0xfed60000 if DEBUG_RK29_UART0
default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
default 0xfedc0000 if ARCH_EP93XX default 0xfedc0000 if ARCH_EP93XX
default 0xfee003f8 if FOOTBRIDGE default 0xfee003f8 if FOOTBRIDGE
default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
default 0xfef36000 if DEBUG_HIGHBANK_UART
default 0xfee82340 if ARCH_IOP13XX default 0xfee82340 if ARCH_IOP13XX
default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
default 0xfef36000 if DEBUG_HIGHBANK_UART
default 0xfefff700 if ARCH_IOP33X default 0xfefff700 if ARCH_IOP33X
default 0xff003000 if DEBUG_U300_UART default 0xff003000 if DEBUG_U300_UART
default DEBUG_UART_PHYS if !MMU default DEBUG_UART_PHYS if !MMU

View File

@ -51,10 +51,9 @@ dtb-$(CONFIG_ARCH_AT91) += sama5d36ek.dtb
dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
bcm21664-garnet.dtb bcm21664-garnet.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
dtb-$(CONFIG_ARCH_BERLIN) += \ dtb-$(CONFIG_ARCH_BERLIN) += \
berlin2-sony-nsz-gs7.dtb \ berlin2-sony-nsz-gs7.dtb \
berlin2cd-google-chromecast.dtb berlin2cd-google-chromecast.dtb
@ -246,6 +245,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
omap3-sbc-t3730.dtb \ omap3-sbc-t3730.dtb \
omap3-devkit8000.dtb \ omap3-devkit8000.dtb \
omap3-beagle-xm.dtb \ omap3-beagle-xm.dtb \
omap3-beagle-xm-ab.dtb \
omap3-evm.dtb \ omap3-evm.dtb \
omap3-evm-37xx.dtb \ omap3-evm-37xx.dtb \
omap3-ldp.dtb \ omap3-ldp.dtb \
@ -294,13 +294,6 @@ dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcom-msm8660-surf.dtb \ dtb-$(CONFIG_ARCH_QCOM) += qcom-msm8660-surf.dtb \
qcom-msm8960-cdp.dtb \ qcom-msm8960-cdp.dtb \
qcom-apq8074-dragonboard.dtb qcom-apq8074-dragonboard.dtb
dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
ste-hrefprev60-stuib.dtb \
ste-hrefprev60-tvk.dtb \
ste-hrefv60plus-stuib.dtb \
ste-hrefv60plus-tvk.dtb \
ste-ccu8540.dtb \
ste-ccu9540.dtb
dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \ dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \
s3c6410-smdk6410.dtb s3c6410-smdk6410.dtb
@ -369,9 +362,16 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
tegra30-cardhu-a04.dtb \ tegra30-cardhu-a04.dtb \
tegra114-dalmore.dtb \ tegra114-dalmore.dtb \
tegra124-venice2.dtb tegra124-venice2.dtb
dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
ste-hrefprev60-stuib.dtb \
ste-hrefprev60-tvk.dtb \
ste-hrefv60plus-stuib.dtb \
ste-hrefv60plus-tvk.dtb \
ste-ccu8540.dtb \
ste-ccu9540.dtb
dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \ dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \
versatile-pb.dtb versatile-pb.dtb
dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \ dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
vexpress-v2p-ca9.dtb \ vexpress-v2p-ca9.dtb \
vexpress-v2p-ca15-tc1.dtb \ vexpress-v2p-ca15-tc1.dtb \

View File

@ -183,7 +183,7 @@ &uart0 {
&usb { &usb {
status = "okay"; status = "okay";
control@44e10000 { control@44e10620 {
status = "okay"; status = "okay";
}; };
@ -204,7 +204,7 @@ usb@47401800 {
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@07402000 { dma-controller@47402000 {
status = "okay"; status = "okay";
}; };
}; };

View File

@ -301,8 +301,8 @@ lcd_pins_s0: lcd_pins_s0 {
am335x_evm_audio_pins: am335x_evm_audio_pins { am335x_evm_audio_pins: am335x_evm_audio_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rx_dv.mcasp1_aclkx */ 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_txd3.mcasp1_fsx */ 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */ 0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */ 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
>; >;
@ -331,7 +331,7 @@ tps: tps@2d {
&usb { &usb {
status = "okay"; status = "okay";
control@44e10000 { control@44e10620 {
status = "okay"; status = "okay";
}; };
@ -352,7 +352,7 @@ usb@47401800 {
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@07402000 { dma-controller@47402000 {
status = "okay"; status = "okay";
}; };
}; };

View File

@ -364,7 +364,7 @@ tlv320aic3106: tlv320aic3106@1b {
&usb { &usb {
status = "okay"; status = "okay";
control@44e10000 { control@44e10620 {
status = "okay"; status = "okay";
}; };
@ -385,7 +385,7 @@ usb@47401800 {
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@07402000 { dma-controller@47402000 {
status = "okay"; status = "okay";
}; };
}; };

View File

@ -118,7 +118,6 @@ nand@0,0 {
reg = <0 0 0>; /* CS0, offset 0 */ reg = <0 0 0>; /* CS0, offset 0 */
nand-bus-width = <8>; nand-bus-width = <8>;
ti,nand-ecc-opt = "bch8"; ti,nand-ecc-opt = "bch8";
gpmc,device-nand = "true";
gpmc,device-width = <1>; gpmc,device-width = <1>;
gpmc,sync-clk-ps = <0>; gpmc,sync-clk-ps = <0>;
gpmc,cs-on-ns = <0>; gpmc,cs-on-ns = <0>;
@ -202,7 +201,7 @@ &uart0 {
&usb { &usb {
status = "okay"; status = "okay";
control@44e10000 { control@44e10620 {
status = "okay"; status = "okay";
}; };
@ -223,7 +222,7 @@ usb@47401800 {
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@07402000 { dma-controller@47402000 {
status = "okay"; status = "okay";
}; };
}; };

View File

@ -72,7 +72,7 @@ pmu {
}; };
/* /*
* The soc node represents the soc top level view. It is uses for IPs * The soc node represents the soc top level view. It is used for IPs
* that are not memory mapped in the MPU view or for the MPU itself. * that are not memory mapped in the MPU view or for the MPU itself.
*/ */
soc { soc {
@ -94,8 +94,8 @@ am33xx_pinmux: pinmux@44e10800 {
/* /*
* XXX: Use a flat representation of the AM33XX interconnect. * XXX: Use a flat representation of the AM33XX interconnect.
* The real AM33XX interconnect network is quite complex.Since * The real AM33XX interconnect network is quite complex. Since
* that will not bring real advantage to represent that in DT * it will not bring real advantage to represent that in DT
* for the moment, just use a fake OCP bus entry to represent * for the moment, just use a fake OCP bus entry to represent
* the whole bus hierarchy. * the whole bus hierarchy.
*/ */

View File

@ -230,6 +230,7 @@ mdio {
#size-cells = <0>; #size-cells = <0>;
compatible = "marvell,orion-mdio"; compatible = "marvell,orion-mdio";
reg = <0x72004 0x4>; reg = <0x72004 0x4>;
clocks = <&gateclk 4>;
}; };
eth1: ethernet@74000 { eth1: ethernet@74000 {

View File

@ -336,6 +336,7 @@ mdio {
#size-cells = <0>; #size-cells = <0>;
compatible = "marvell,orion-mdio"; compatible = "marvell,orion-mdio";
reg = <0x72004 0x4>; reg = <0x72004 0x4>;
clocks = <&gateclk 4>;
}; };
coredivclk: clock@e4250 { coredivclk: clock@e4250 {

View File

@ -80,7 +80,7 @@ gic: interrupt-controller@48211000 {
}; };
/* /*
* The soc node represents the soc top level view. It is uses for IPs * The soc node represents the soc top level view. It is used for IPs
* that are not memory mapped in the MPU view or for the MPU itself. * that are not memory mapped in the MPU view or for the MPU itself.
*/ */
soc { soc {
@ -94,7 +94,7 @@ mpu {
/* /*
* XXX: Use a flat representation of the SOC interconnect. * XXX: Use a flat representation of the SOC interconnect.
* The real OMAP interconnect network is quite complex. * The real OMAP interconnect network is quite complex.
* Since that will not bring real advantage to represent that in DT for * Since it will not bring real advantage to represent that in DT for
* the moment, just use a fake OCP bus entry to represent the whole bus * the moment, just use a fake OCP bus entry to represent the whole bus
* hierarchy. * hierarchy.
*/ */

View File

@ -1640,7 +1640,7 @@ mcasp2_ahclkx_mux: mcasp2_ahclkx_mux {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "ti,mux-clock"; compatible = "ti,mux-clock";
clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atlclkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>; clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atlclkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
ti,bit-shift = <28>; ti,bit-shift = <24>;
reg = <0x1860>; reg = <0x1860>;
}; };

View File

@ -56,6 +56,7 @@ clocks {
osc { osc {
compatible = "fsl,imx-osc", "fixed-clock"; compatible = "fsl,imx-osc", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>; clock-frequency = <24000000>;
}; };
}; };

View File

@ -29,6 +29,7 @@ clocks {
osc26m { osc26m {
compatible = "fsl,imx-osc26m", "fixed-clock"; compatible = "fsl,imx-osc26m", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <0>; clock-frequency = <0>;
}; };
}; };

View File

@ -48,6 +48,7 @@ clocks {
osc26m { osc26m {
compatible = "fsl,imx-osc26m", "fixed-clock"; compatible = "fsl,imx-osc26m", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <26000000>; clock-frequency = <26000000>;
}; };
}; };

View File

@ -53,21 +53,25 @@ clocks {
ckil { ckil {
compatible = "fsl,imx-ckil", "fixed-clock"; compatible = "fsl,imx-ckil", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>; clock-frequency = <32768>;
}; };
ckih1 { ckih1 {
compatible = "fsl,imx-ckih1", "fixed-clock"; compatible = "fsl,imx-ckih1", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <22579200>; clock-frequency = <22579200>;
}; };
ckih2 { ckih2 {
compatible = "fsl,imx-ckih2", "fixed-clock"; compatible = "fsl,imx-ckih2", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <0>; clock-frequency = <0>;
}; };
osc { osc {
compatible = "fsl,imx-osc", "fixed-clock"; compatible = "fsl,imx-osc", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>; clock-frequency = <24000000>;
}; };
}; };

View File

@ -50,21 +50,25 @@ clocks {
ckil { ckil {
compatible = "fsl,imx-ckil", "fixed-clock"; compatible = "fsl,imx-ckil", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>; clock-frequency = <32768>;
}; };
ckih1 { ckih1 {
compatible = "fsl,imx-ckih1", "fixed-clock"; compatible = "fsl,imx-ckih1", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <0>; clock-frequency = <0>;
}; };
ckih2 { ckih2 {
compatible = "fsl,imx-ckih2", "fixed-clock"; compatible = "fsl,imx-ckih2", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <0>; clock-frequency = <0>;
}; };
osc { osc {
compatible = "fsl,imx-osc", "fixed-clock"; compatible = "fsl,imx-osc", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>; clock-frequency = <24000000>;
}; };
}; };

View File

@ -17,7 +17,8 @@ / {
compatible = "denx,imx53-m53evk", "fsl,imx53"; compatible = "denx,imx53-m53evk", "fsl,imx53";
memory { memory {
reg = <0x70000000 0x20000000>; reg = <0x70000000 0x20000000>,
<0xb0000000 0x20000000>;
}; };
soc { soc {
@ -193,17 +194,17 @@ stmpe610@41 {
irq-trigger = <0x1>; irq-trigger = <0x1>;
stmpe_touchscreen { stmpe_touchscreen {
compatible = "stmpe,ts"; compatible = "st,stmpe-ts";
reg = <0>; reg = <0>;
ts,sample-time = <4>; st,sample-time = <4>;
ts,mod-12b = <1>; st,mod-12b = <1>;
ts,ref-sel = <0>; st,ref-sel = <0>;
ts,adc-freq = <1>; st,adc-freq = <1>;
ts,ave-ctrl = <3>; st,ave-ctrl = <3>;
ts,touch-det-delay = <3>; st,touch-det-delay = <3>;
ts,settling = <4>; st,settling = <4>;
ts,fraction-z = <7>; st,fraction-z = <7>;
ts,i-drive = <1>; st,i-drive = <1>;
}; };
}; };

View File

@ -14,7 +14,8 @@
/ { / {
memory { memory {
reg = <0x70000000 0x40000000>; reg = <0x70000000 0x20000000>,
<0xb0000000 0x20000000>;
}; };
display0: display@di0 { display0: display@di0 {

View File

@ -25,12 +25,17 @@ aliases {
soc { soc {
display: display@di0 { display: display@di0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
crtcs = <&ipu 0>;
interface-pix-fmt = "rgb24"; interface-pix-fmt = "rgb24";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgb24_vga1>; pinctrl-0 = <&pinctrl_rgb24_vga1>;
status = "okay"; status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu_di0_disp0>;
};
};
display-timings { display-timings {
VGA { VGA {
clock-frequency = <25200000>; clock-frequency = <25200000>;
@ -293,6 +298,10 @@ MX53_PAD_EIM_D26__GPIO3_26 0x1f0 /* Interrupt */
}; };
}; };
&ipu_di0_disp0 {
remote-endpoint = <&display0_in>;
};
&kpp { &kpp {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_kpp>; pinctrl-0 = <&pinctrl_kpp>;

View File

@ -70,21 +70,25 @@ clocks {
ckil { ckil {
compatible = "fsl,imx-ckil", "fixed-clock"; compatible = "fsl,imx-ckil", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>; clock-frequency = <32768>;
}; };
ckih1 { ckih1 {
compatible = "fsl,imx-ckih1", "fixed-clock"; compatible = "fsl,imx-ckih1", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <22579200>; clock-frequency = <22579200>;
}; };
ckih2 { ckih2 {
compatible = "fsl,imx-ckih2", "fixed-clock"; compatible = "fsl,imx-ckih2", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <0>; clock-frequency = <0>;
}; };
osc { osc {
compatible = "fsl,imx-osc", "fixed-clock"; compatible = "fsl,imx-osc", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>; clock-frequency = <24000000>;
}; };
}; };
@ -430,7 +434,7 @@ lvds-channel@1 {
port { port {
lvds1_in: endpoint { lvds1_in: endpoint {
remote-endpoint = <&ipu_di0_lvds0>; remote-endpoint = <&ipu_di1_lvds1>;
}; };
}; };
}; };

View File

@ -19,7 +19,10 @@ / {
compatible = "dmo,imx6q-edmqmx6", "fsl,imx6q"; compatible = "dmo,imx6q-edmqmx6", "fsl,imx6q";
aliases { aliases {
gpio7 = &stmpe_gpio; gpio7 = &stmpe_gpio1;
gpio8 = &stmpe_gpio2;
stmpe-i2c0 = &stmpe1;
stmpe-i2c1 = &stmpe2;
}; };
memory { memory {
@ -40,13 +43,15 @@ reg_3p3v: regulator@0 {
regulator-always-on; regulator-always-on;
}; };
reg_usb_otg_vbus: regulator@1 { reg_usb_otg_switch: regulator@1 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <1>; reg = <1>;
regulator-name = "usb_otg_vbus"; regulator-name = "usb_otg_switch";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&gpio7 12 0>; gpio = <&gpio7 12 0>;
regulator-boot-on;
regulator-always-on;
}; };
reg_usb_host1: regulator@2 { reg_usb_host1: regulator@2 {
@ -65,23 +70,23 @@ gpio-leds {
led-blue { led-blue {
label = "blue"; label = "blue";
gpios = <&stmpe_gpio 8 GPIO_ACTIVE_HIGH>; gpios = <&stmpe_gpio1 8 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat"; linux,default-trigger = "heartbeat";
}; };
led-green { led-green {
label = "green"; label = "green";
gpios = <&stmpe_gpio 9 GPIO_ACTIVE_HIGH>; gpios = <&stmpe_gpio1 9 GPIO_ACTIVE_HIGH>;
}; };
led-pink { led-pink {
label = "pink"; label = "pink";
gpios = <&stmpe_gpio 10 GPIO_ACTIVE_HIGH>; gpios = <&stmpe_gpio1 10 GPIO_ACTIVE_HIGH>;
}; };
led-red { led-red {
label = "red"; label = "red";
gpios = <&stmpe_gpio 11 GPIO_ACTIVE_HIGH>; gpios = <&stmpe_gpio1 11 GPIO_ACTIVE_HIGH>;
}; };
}; };
}; };
@ -99,7 +104,8 @@ &i2c2 {
clock-frequency = <100000>; clock-frequency = <100000>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2 pinctrl-0 = <&pinctrl_i2c2
&pinctrl_stmpe>; &pinctrl_stmpe1
&pinctrl_stmpe2>;
status = "okay"; status = "okay";
pmic: pfuze100@08 { pmic: pfuze100@08 {
@ -205,13 +211,25 @@ vgen6_reg: vgen6 {
}; };
}; };
stmpe: stmpe1601@40 { stmpe1: stmpe1601@40 {
compatible = "st,stmpe1601"; compatible = "st,stmpe1601";
reg = <0x40>; reg = <0x40>;
interrupts = <30 0>; interrupts = <30 0>;
interrupt-parent = <&gpio3>; interrupt-parent = <&gpio3>;
stmpe_gpio: stmpe_gpio { stmpe_gpio1: stmpe_gpio {
#gpio-cells = <2>;
compatible = "st,stmpe-gpio";
};
};
stmpe2: stmpe1601@44 {
compatible = "st,stmpe1601";
reg = <0x44>;
interrupts = <2 0>;
interrupt-parent = <&gpio5>;
stmpe_gpio2: stmpe_gpio {
#gpio-cells = <2>; #gpio-cells = <2>;
compatible = "st,stmpe-gpio"; compatible = "st,stmpe-gpio";
}; };
@ -273,10 +291,14 @@ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
>; >;
}; };
pinctrl_stmpe: stmpegrp { pinctrl_stmpe1: stmpe1grp {
fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>; fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>;
}; };
pinctrl_stmpe2: stmpe2grp {
fsl,pins = <MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000>;
};
pinctrl_uart1: uart1grp { pinctrl_uart1: uart1grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
@ -293,7 +315,7 @@ MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
pinctrl_usbotg: usbotggrp { pinctrl_usbotg: usbotggrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
>; >;
}; };
@ -344,11 +366,11 @@ &uart2 {
&usbh1 { &usbh1 {
vbus-supply = <&reg_usb_host1>; vbus-supply = <&reg_usb_host1>;
disable-over-current; disable-over-current;
dr_mode = "host";
status = "okay"; status = "okay";
}; };
&usbotg { &usbotg {
vbus-supply = <&reg_usb_otg_vbus>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbotg>; pinctrl-0 = <&pinctrl_usbotg>;
disable-over-current; disable-over-current;

View File

@ -487,9 +487,6 @@ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
&ldb { &ldb {
status = "okay"; status = "okay";
lvds-channel@0 {
crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
};
}; };
&pcie { &pcie {

View File

@ -436,9 +436,6 @@ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
&ldb { &ldb {
status = "okay"; status = "okay";
lvds-channel@0 {
crtcs = <&ipu1 0>, <&ipu1 1>;
};
}; };
&pcie { &pcie {

View File

@ -26,25 +26,25 @@ MX6QDL_PAD_DI0_PIN2__GPIO4_IO18 0x80000000
/* GPIO16 -> AR8035 25MHz */ /* GPIO16 -> AR8035 25MHz */
MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0xc0000000 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0xc0000000
MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x80000000 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x80000000
MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030
MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030
MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030
MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030
MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030
/* AR8035 CLK_25M --> ENET_REF_CLK (V22) */ /* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x0a0b1 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x0a0b1
/* AR8035 pin strapping: IO voltage: pull up */ /* AR8035 pin strapping: IO voltage: pull up */
MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030
/* AR8035 pin strapping: PHYADDR#0: pull down */ /* AR8035 pin strapping: PHYADDR#0: pull down */
MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x130b0 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x13030
/* AR8035 pin strapping: PHYADDR#1: pull down */ /* AR8035 pin strapping: PHYADDR#1: pull down */
MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x130b0 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x13030
/* AR8035 pin strapping: MODE#1: pull up */ /* AR8035 pin strapping: MODE#1: pull up */
MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
/* AR8035 pin strapping: MODE#3: pull up */ /* AR8035 pin strapping: MODE#3: pull up */
MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
/* AR8035 pin strapping: MODE#0: pull down */ /* AR8035 pin strapping: MODE#0: pull down */
MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x130b0 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x13030
/* /*
* As the RMII pins are also connected to RGMII * As the RMII pins are also connected to RGMII

View File

@ -10,6 +10,8 @@
* http://www.gnu.org/copyleft/gpl.html * http://www.gnu.org/copyleft/gpl.html
*/ */
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include "skeleton.dtsi" #include "skeleton.dtsi"
/ { / {
@ -46,8 +48,6 @@ aliases {
intc: interrupt-controller@00a01000 { intc: interrupt-controller@00a01000 {
compatible = "arm,cortex-a9-gic"; compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>; #interrupt-cells = <3>;
#address-cells = <1>;
#size-cells = <1>;
interrupt-controller; interrupt-controller;
reg = <0x00a01000 0x1000>, reg = <0x00a01000 0x1000>,
<0x00a00100 0x100>; <0x00a00100 0x100>;
@ -59,16 +59,19 @@ clocks {
ckil { ckil {
compatible = "fsl,imx-ckil", "fixed-clock"; compatible = "fsl,imx-ckil", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>; clock-frequency = <32768>;
}; };
ckih1 { ckih1 {
compatible = "fsl,imx-ckih1", "fixed-clock"; compatible = "fsl,imx-ckih1", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <0>; clock-frequency = <0>;
}; };
osc { osc {
compatible = "fsl,imx-osc", "fixed-clock"; compatible = "fsl,imx-osc", "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>; clock-frequency = <24000000>;
}; };
}; };
@ -138,6 +141,12 @@ pcie: pcie@0x01000000 {
0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */ 0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */
num-lanes = <1>; num-lanes = <1>;
interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>; interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>;
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks 189>, <&clks 187>, <&clks 206>, <&clks 144>; clocks = <&clks 189>, <&clks 187>, <&clks 206>, <&clks 144>;
clock-names = "pcie_ref_125m", "sata_ref_100m", "lvds_gate", "pcie_axi"; clock-names = "pcie_ref_125m", "sata_ref_100m", "lvds_gate", "pcie_axi";
status = "disabled"; status = "disabled";

View File

@ -282,6 +282,7 @@ pinctrl_ecspi1: ecspi1grp {
MX6SL_PAD_ECSPI1_MISO__ECSPI1_MISO 0x100b1 MX6SL_PAD_ECSPI1_MISO__ECSPI1_MISO 0x100b1
MX6SL_PAD_ECSPI1_MOSI__ECSPI1_MOSI 0x100b1 MX6SL_PAD_ECSPI1_MOSI__ECSPI1_MOSI 0x100b1
MX6SL_PAD_ECSPI1_SCLK__ECSPI1_SCLK 0x100b1 MX6SL_PAD_ECSPI1_SCLK__ECSPI1_SCLK 0x100b1
MX6SL_PAD_ECSPI1_SS0__GPIO4_IO11 0x80000000
>; >;
}; };

View File

@ -68,8 +68,6 @@ cpu@0 {
intc: interrupt-controller@00a01000 { intc: interrupt-controller@00a01000 {
compatible = "arm,cortex-a9-gic"; compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>; #interrupt-cells = <3>;
#address-cells = <1>;
#size-cells = <1>;
interrupt-controller; interrupt-controller;
reg = <0x00a01000 0x1000>, reg = <0x00a01000 0x1000>,
<0x00a00100 0x100>; <0x00a00100 0x100>;
@ -81,11 +79,13 @@ clocks {
ckil { ckil {
compatible = "fixed-clock"; compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>; clock-frequency = <32768>;
}; };
osc { osc {
compatible = "fixed-clock"; compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>; clock-frequency = <24000000>;
}; };
}; };

View File

@ -75,7 +75,7 @@ spi@10600 {
m25p16@0 { m25p16@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "m25p16"; compatible = "st,m25p16";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; spi-max-frequency = <40000000>;
mode = <0>; mode = <0>;

View File

@ -46,7 +46,7 @@ spi@10600 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "mx25l4005a"; compatible = "mxicy,mx25l4005a";
reg = <0>; reg = <0>;
spi-max-frequency = <20000000>; spi-max-frequency = <20000000>;
mode = <0>; mode = <0>;

View File

@ -43,7 +43,7 @@ spi@10600 {
m25p40@0 { m25p40@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "mx25l1606e"; compatible = "mxicy,mx25l1606e";
reg = <0>; reg = <0>;
spi-max-frequency = <50000000>; spi-max-frequency = <50000000>;
mode = <0>; mode = <0>;

View File

@ -48,7 +48,7 @@ i2c@11000 {
status = "okay"; status = "okay";
eeprom@50 { eeprom@50 {
compatible = "at,24c04"; compatible = "atmel,24c04";
pagesize = <16>; pagesize = <16>;
reg = <0x50>; reg = <0x50>;
}; };

View File

@ -56,7 +56,7 @@ spi@10600 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "mx25l12805d"; compatible = "mxicy,mx25l12805d";
reg = <0>; reg = <0>;
spi-max-frequency = <50000000>; spi-max-frequency = <50000000>;
mode = <0>; mode = <0>;

View File

@ -32,7 +32,7 @@ spi@10600 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "mx25l4005a"; compatible = "mxicy,mx25l4005a";
reg = <0>; reg = <0>;
spi-max-frequency = <20000000>; spi-max-frequency = <20000000>;
mode = <0>; mode = <0>;
@ -50,7 +50,7 @@ i2c@11000 {
status = "okay"; status = "okay";
eeprom@50 { eeprom@50 {
compatible = "at,24c04"; compatible = "atmel,24c04";
pagesize = <16>; pagesize = <16>;
reg = <0x50>; reg = <0x50>;
}; };

View File

@ -104,7 +104,7 @@ i2c@11000 {
status = "okay"; status = "okay";
adt7476: adt7476a@2e { adt7476: adt7476a@2e {
compatible = "adt7476"; compatible = "adi,adt7476";
reg = <0x2e>; reg = <0x2e>;
}; };
}; };

View File

@ -94,7 +94,7 @@ i2c@11000 {
status = "okay"; status = "okay";
lm85: lm85@2e { lm85: lm85@2e {
compatible = "lm85"; compatible = "national,lm85";
reg = <0x2e>; reg = <0x2e>;
}; };
}; };

View File

@ -40,7 +40,7 @@ i2c@11100 {
pinctrl-names = "default"; pinctrl-names = "default";
s35390a: s35390a@30 { s35390a: s35390a@30 {
compatible = "s35390a"; compatible = "sii,s35390a";
reg = <0x30>; reg = <0x30>;
}; };
}; };

View File

@ -52,7 +52,7 @@ i2c@11100 {
pinctrl-names = "default"; pinctrl-names = "default";
s24c02: s24c02@50 { s24c02: s24c02@50 {
compatible = "24c02"; compatible = "atmel,24c02";
reg = <0x50>; reg = <0x50>;
}; };
}; };

View File

@ -0,0 +1,16 @@
/*
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include "omap3-beagle-xm.dts"
/ {
/* HS USB Port 2 Power enable was inverted with the xM C */
hsusb2_power: hsusb2_power_reg {
enable-active-high;
};
};

View File

@ -112,7 +112,6 @@ nand@0,0 {
reg = <0 0 0>; /* CS0, offset 0 */ reg = <0 0 0>; /* CS0, offset 0 */
nand-bus-width = <16>; nand-bus-width = <16>;
gpmc,device-nand;
gpmc,sync-clk-ps = <0>; gpmc,sync-clk-ps = <0>;
gpmc,cs-on-ns = <0>; gpmc,cs-on-ns = <0>;
gpmc,cs-rd-off-ns = <44>; gpmc,cs-rd-off-ns = <44>;

View File

@ -368,7 +368,6 @@ nand@0,0 {
/* no elm on omap3 */ /* no elm on omap3 */
gpmc,mux-add-data = <0>; gpmc,mux-add-data = <0>;
gpmc,device-nand;
gpmc,device-width = <2>; gpmc,device-width = <2>;
gpmc,wait-pin = <0>; gpmc,wait-pin = <0>;
gpmc,wait-monitoring-ns = <0>; gpmc,wait-monitoring-ns = <0>;

View File

@ -74,7 +74,7 @@ dsp {
/* /*
* XXX: Use a flat representation of the OMAP3 interconnect. * XXX: Use a flat representation of the OMAP3 interconnect.
* The real OMAP interconnect network is quite complex. * The real OMAP interconnect network is quite complex.
* Since that will not bring real advantage to represent that in DT for * Since it will not bring real advantage to represent that in DT for
* the moment, just use a fake OCP bus entry to represent the whole bus * the moment, just use a fake OCP bus entry to represent the whole bus
* hierarchy. * hierarchy.
*/ */

View File

@ -72,7 +72,7 @@ local-timer@48240600 {
}; };
/* /*
* The soc node represents the soc top level view. It is uses for IPs * The soc node represents the soc top level view. It is used for IPs
* that are not memory mapped in the MPU view or for the MPU itself. * that are not memory mapped in the MPU view or for the MPU itself.
*/ */
soc { soc {
@ -96,7 +96,7 @@ iva {
/* /*
* XXX: Use a flat representation of the OMAP4 interconnect. * XXX: Use a flat representation of the OMAP4 interconnect.
* The real OMAP interconnect network is quite complex. * The real OMAP interconnect network is quite complex.
* Since that will not bring real advantage to represent that in DT for * Since it will not bring real advantage to represent that in DT for
* the moment, just use a fake OCP bus entry to represent the whole bus * the moment, just use a fake OCP bus entry to represent the whole bus
* hierarchy. * hierarchy.
*/ */

View File

@ -93,7 +93,7 @@ gic: interrupt-controller@48211000 {
}; };
/* /*
* The soc node represents the soc top level view. It is uses for IPs * The soc node represents the soc top level view. It is used for IPs
* that are not memory mapped in the MPU view or for the MPU itself. * that are not memory mapped in the MPU view or for the MPU itself.
*/ */
soc { soc {
@ -107,7 +107,7 @@ mpu {
/* /*
* XXX: Use a flat representation of the OMAP3 interconnect. * XXX: Use a flat representation of the OMAP3 interconnect.
* The real OMAP interconnect network is quite complex. * The real OMAP interconnect network is quite complex.
* Since that will not bring real advantage to represent that in DT for * Since it will not bring real advantage to represent that in DT for
* the moment, just use a fake OCP bus entry to represent the whole bus * the moment, just use a fake OCP bus entry to represent the whole bus
* hierarchy. * hierarchy.
*/ */
@ -813,6 +813,12 @@ usb3_phy: usb3phy@4a084400 {
<0x4a084c00 0x40>; <0x4a084c00 0x40>;
reg-names = "phy_rx", "phy_tx", "pll_ctrl"; reg-names = "phy_rx", "phy_tx", "pll_ctrl";
ctrl-module = <&omap_control_usb3phy>; ctrl-module = <&omap_control_usb3phy>;
clocks = <&usb_phy_cm_clk32k>,
<&sys_clkin>,
<&usb_otg_ss_refclk960m>;
clock-names = "wkupclk",
"sysclk",
"refclk";
#phy-cells = <0>; #phy-cells = <0>;
}; };
}; };

View File

@ -28,7 +28,6 @@ cpu@0 {
gic: interrupt-controller@c2800000 { gic: interrupt-controller@c2800000 {
compatible = "arm,cortex-a9-gic"; compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>; #interrupt-cells = <3>;
#address-cells = <1>;
interrupt-controller; interrupt-controller;
reg = <0xc2800000 0x1000>, reg = <0xc2800000 0x1000>,
<0xc2000000 0x1000>; <0xc2000000 0x1000>;

View File

@ -141,12 +141,12 @@ scif1_pins: serial1 {
}; };
sdhi0_pins: sd0 { sdhi0_pins: sd0 {
renesas,gpios = "sdhi0_data4", "sdhi0_ctrl"; renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
renesas,function = "sdhi0"; renesas,function = "sdhi0";
}; };
sdhi2_pins: sd2 { sdhi2_pins: sd2 {
renesas,gpios = "sdhi2_data4", "sdhi2_ctrl"; renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
renesas,function = "sdhi2"; renesas,function = "sdhi2";
}; };

View File

@ -230,17 +230,17 @@ phy1_pins: phy1 {
}; };
sdhi0_pins: sd0 { sdhi0_pins: sd0 {
renesas,gpios = "sdhi0_data4", "sdhi0_ctrl"; renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
renesas,function = "sdhi0"; renesas,function = "sdhi0";
}; };
sdhi1_pins: sd1 { sdhi1_pins: sd1 {
renesas,gpios = "sdhi1_data4", "sdhi1_ctrl"; renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
renesas,function = "sdhi1"; renesas,function = "sdhi1";
}; };
sdhi2_pins: sd2 { sdhi2_pins: sd2 {
renesas,gpios = "sdhi2_data4", "sdhi2_ctrl"; renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
renesas,function = "sdhi2"; renesas,function = "sdhi2";
}; };

View File

@ -149,7 +149,7 @@ pcfg_pull_none: pcfg_pull_none {
uart0 { uart0 {
uart0_xfer: uart0-xfer { uart0_xfer: uart0-xfer {
rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_none>, rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_up>,
<RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_none>; <RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_none>;
}; };
@ -164,7 +164,7 @@ uart0_rts: uart0-rts {
uart1 { uart1 {
uart1_xfer: uart1-xfer { uart1_xfer: uart1-xfer {
rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_none>, rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_up>,
<RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_none>; <RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_none>;
}; };
@ -179,7 +179,7 @@ uart1_rts: uart1-rts {
uart2 { uart2 {
uart2_xfer: uart2-xfer { uart2_xfer: uart2-xfer {
rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_none>, rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_up>,
<RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_none>; <RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_none>;
}; };
/* no rts / cts for uart2 */ /* no rts / cts for uart2 */
@ -187,7 +187,7 @@ uart2_xfer: uart2-xfer {
uart3 { uart3 {
uart3_xfer: uart3-xfer { uart3_xfer: uart3-xfer {
rockchip,pins = <RK_GPIO1 10 RK_FUNC_1 &pcfg_pull_none>, rockchip,pins = <RK_GPIO1 10 RK_FUNC_1 &pcfg_pull_up>,
<RK_GPIO1 11 RK_FUNC_1 &pcfg_pull_none>; <RK_GPIO1 11 RK_FUNC_1 &pcfg_pull_none>;
}; };

View File

@ -34,7 +34,6 @@ cpu@1 {
gic: interrupt-controller@f0001000 { gic: interrupt-controller@f0001000 {
compatible = "arm,cortex-a9-gic"; compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>; #interrupt-cells = <3>;
#address-cells = <1>;
interrupt-controller; interrupt-controller;
reg = <0xf0001000 0x1000>, reg = <0xf0001000 0x1000>,
<0xf0000100 0x100>; <0xf0000100 0x100>;

View File

@ -233,19 +233,6 @@ serial@0,70006300 {
status = "disabled"; status = "disabled";
}; };
serial@0,70006400 {
compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
reg = <0x0 0x70006400 0x0 0x40>;
reg-shift = <2>;
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&tegra_car TEGRA124_CLK_UARTE>;
resets = <&tegra_car 66>;
reset-names = "serial";
dmas = <&apbdma 20>, <&apbdma 20>;
dma-names = "rx", "tx";
status = "disabled";
};
pwm@0,7000a000 { pwm@0,7000a000 {
compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm"; compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
reg = <0x0 0x7000a000 0x0 0x100>; reg = <0x0 0x7000a000 0x0 0x100>;

View File

@ -25,11 +25,13 @@ memory {
clocks { clocks {
audio_ext { audio_ext {
compatible = "fixed-clock"; compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24576000>; clock-frequency = <24576000>;
}; };
enet_ext { enet_ext {
compatible = "fixed-clock"; compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>; clock-frequency = <50000000>;
}; };
}; };

View File

@ -45,11 +45,13 @@ clocks {
sxosc { sxosc {
compatible = "fixed-clock"; compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>; clock-frequency = <32768>;
}; };
fxosc { fxosc {
compatible = "fixed-clock"; compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>; clock-frequency = <24000000>;
}; };
}; };
@ -72,8 +74,6 @@ aips0: aips-bus@40000000 {
intc: interrupt-controller@40002000 { intc: interrupt-controller@40002000 {
compatible = "arm,cortex-a9-gic"; compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>; #interrupt-cells = <3>;
#address-cells = <1>;
#size-cells = <1>;
interrupt-controller; interrupt-controller;
reg = <0x40003000 0x1000>, reg = <0x40003000 0x1000>,
<0x40002100 0x100>; <0x40002100 0x100>;

View File

@ -24,6 +24,7 @@ cpu@0 {
device_type = "cpu"; device_type = "cpu";
reg = <0>; reg = <0>;
clocks = <&clkc 3>; clocks = <&clkc 3>;
clock-latency = <1000>;
operating-points = < operating-points = <
/* kHz uV */ /* kHz uV */
666667 1000000 666667 1000000
@ -54,6 +55,28 @@ amba {
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
ranges; ranges;
i2c0: zynq-i2c@e0004000 {
compatible = "cdns,i2c-r1p10";
status = "disabled";
clocks = <&clkc 38>;
interrupt-parent = <&intc>;
interrupts = <0 25 4>;
reg = <0xe0004000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c1: zynq-i2c@e0005000 {
compatible = "cdns,i2c-r1p10";
status = "disabled";
clocks = <&clkc 39>;
interrupt-parent = <&intc>;
interrupts = <0 48 4>;
reg = <0xe0005000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
};
intc: interrupt-controller@f8f01000 { intc: interrupt-controller@f8f01000 {
compatible = "arm,cortex-a9-gic"; compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>; #interrupt-cells = <3>;

View File

@ -34,6 +34,82 @@ &gem0 {
phy-mode = "rgmii"; phy-mode = "rgmii";
}; };
&i2c0 {
status = "okay";
clock-frequency = <400000>;
i2cswitch@74 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x74>;
i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
si570: clock-generator@5d {
#clock-cells = <0>;
compatible = "silabs,si570";
temperature-stability = <50>;
reg = <0x5d>;
factory-fout = <156250000>;
clock-frequency = <148500000>;
};
};
i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
eeprom@54 {
compatible = "at,24c08";
reg = <0x54>;
};
};
i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
gpio@21 {
compatible = "ti,tca6416";
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
};
};
i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
};
};
i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
hwmon@52 {
compatible = "ti,ucd9248";
reg = <52>;
};
hwmon@53 {
compatible = "ti,ucd9248";
reg = <53>;
};
hwmon@54 {
compatible = "ti,ucd9248";
reg = <54>;
};
};
};
};
&sdhci0 { &sdhci0 {
status = "okay"; status = "okay";
}; };

View File

@ -35,6 +35,74 @@ &gem0 {
phy-mode = "rgmii"; phy-mode = "rgmii";
}; };
&i2c0 {
status = "okay";
clock-frequency = <400000>;
i2cswitch@74 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x74>;
i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
si570: clock-generator@5d {
#clock-cells = <0>;
compatible = "silabs,si570";
temperature-stability = <50>;
reg = <0x5d>;
factory-fout = <156250000>;
clock-frequency = <148500000>;
};
};
i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
eeprom@54 {
compatible = "at,24c08";
reg = <0x54>;
};
};
i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
gpio@21 {
compatible = "ti,tca6416";
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
};
};
i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
};
};
i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
ucd90120@65 {
compatible = "ti,ucd90120";
reg = <0x65>;
};
};
};
};
&sdhci0 { &sdhci0 {
status = "okay"; status = "okay";
}; };

View File

@ -797,10 +797,8 @@ static int __init bL_switcher_init(void)
{ {
int ret; int ret;
if (MAX_NR_CLUSTERS != 2) { if (!mcpm_is_available())
pr_err("%s: only dual cluster systems are supported\n", __func__); return -ENODEV;
return -EINVAL;
}
cpu_notifier(bL_switcher_hotplug_callback, 0); cpu_notifier(bL_switcher_hotplug_callback, 0);

View File

@ -48,6 +48,11 @@ int __init mcpm_platform_register(const struct mcpm_platform_ops *ops)
return 0; return 0;
} }
bool mcpm_is_available(void)
{
return (platform_ops) ? true : false;
}
int mcpm_cpu_power_up(unsigned int cpu, unsigned int cluster) int mcpm_cpu_power_up(unsigned int cpu, unsigned int cluster)
{ {
if (!platform_ops) if (!platform_ops)

View File

@ -226,7 +226,7 @@ CONFIG_USB_DWC3=m
CONFIG_USB_TEST=y CONFIG_USB_TEST=y
CONFIG_NOP_USB_XCEIV=y CONFIG_NOP_USB_XCEIV=y
CONFIG_OMAP_USB2=y CONFIG_OMAP_USB2=y
CONFIG_OMAP_USB3=y CONFIG_TI_PIPE3=y
CONFIG_AM335X_PHY_USB=y CONFIG_AM335X_PHY_USB=y
CONFIG_USB_GADGET=y CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG=y CONFIG_USB_GADGET_DEBUG=y

View File

@ -11,6 +11,7 @@ CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_UNLOAD=y
# CONFIG_LBDAF is not set # CONFIG_LBDAF is not set
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
CONFIG_PARTITION_ADVANCED=y
# CONFIG_IOSCHED_CFQ is not set # CONFIG_IOSCHED_CFQ is not set
# CONFIG_ARCH_MULTI_V7 is not set # CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_U300=y CONFIG_ARCH_U300=y
@ -21,7 +22,6 @@ CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="root=/dev/ram0 rw rootfstype=rootfs console=ttyAMA0,115200n8 lpj=515072" CONFIG_CMDLINE="root=/dev/ram0 rw rootfstype=rootfs console=ttyAMA0,115200n8 lpj=515072"
CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE=y
CONFIG_FPE_NWFPE=y
# CONFIG_SUSPEND is not set # CONFIG_SUSPEND is not set
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_PREVENT_FIRMWARE_BUILD is not set
@ -64,8 +64,8 @@ CONFIG_TMPFS=y
CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_1=y
CONFIG_PRINTK_TIME=y CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_FS=y CONFIG_DEBUG_FS=y
# CONFIG_SCHED_DEBUG is not set # CONFIG_SCHED_DEBUG is not set
CONFIG_TIMER_STATS=y CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_PREEMPT is not set # CONFIG_DEBUG_PREEMPT is not set
CONFIG_DEBUG_INFO=y

View File

@ -1,16 +1,16 @@
# CONFIG_SWAP is not set # CONFIG_SWAP is not set
CONFIG_SYSVIPC=y CONFIG_SYSVIPC=y
CONFIG_NO_HZ=y CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y CONFIG_HIGH_RES_TIMERS=y
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_ALL=y
CONFIG_MODULES=y CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_ARCH_U8500=y CONFIG_ARCH_U8500=y
CONFIG_MACH_HREFV60=y CONFIG_MACH_HREFV60=y
CONFIG_MACH_SNOWBALL=y CONFIG_MACH_SNOWBALL=y
CONFIG_MACH_UX500_DT=y
CONFIG_SMP=y CONFIG_SMP=y
CONFIG_NR_CPUS=2 CONFIG_NR_CPUS=2
CONFIG_PREEMPT=y CONFIG_PREEMPT=y
@ -34,16 +34,22 @@ CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_DHCP=y
CONFIG_NETFILTER=y CONFIG_NETFILTER=y
CONFIG_PHONET=y CONFIG_PHONET=y
# CONFIG_WIRELESS is not set CONFIG_CFG80211=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_MAC80211=y
CONFIG_MAC80211_LEDS=y
CONFIG_CAIF=y CONFIG_CAIF=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=65536 CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_SENSORS_BH1780=y CONFIG_SENSORS_BH1780=y
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
CONFIG_SMSC911X=y CONFIG_SMSC911X=y
CONFIG_SMSC_PHY=y CONFIG_SMSC_PHY=y
# CONFIG_WLAN is not set CONFIG_CW1200=y
CONFIG_CW1200_WLAN_SDIO=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_EVDEV=y CONFIG_INPUT_EVDEV=y
# CONFIG_KEYBOARD_ATKBD is not set # CONFIG_KEYBOARD_ATKBD is not set
@ -85,15 +91,12 @@ CONFIG_AB8500_USB=y
CONFIG_USB_GADGET=y CONFIG_USB_GADGET=y
CONFIG_USB_ETH=m CONFIG_USB_ETH=m
CONFIG_MMC=y CONFIG_MMC=y
CONFIG_MMC_UNSAFE_RESUME=y
# CONFIG_MMC_BLOCK_BOUNCE is not set
CONFIG_MMC_ARMMMCI=y CONFIG_MMC_ARMMMCI=y
CONFIG_NEW_LEDS=y CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLASS=y
CONFIG_LEDS_LM3530=y CONFIG_LEDS_LM3530=y
CONFIG_LEDS_GPIO=y CONFIG_LEDS_GPIO=y
CONFIG_LEDS_LP5521=y CONFIG_LEDS_LP5521=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_RTC_CLASS=y CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_AB8500=y CONFIG_RTC_DRV_AB8500=y
@ -103,6 +106,11 @@ CONFIG_STE_DMA40=y
CONFIG_STAGING=y CONFIG_STAGING=y
CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=y CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=y
CONFIG_HSEM_U8500=y CONFIG_HSEM_U8500=y
CONFIG_IIO=y
CONFIG_IIO_ST_ACCEL_3AXIS=y
CONFIG_IIO_ST_GYRO_3AXIS=y
CONFIG_IIO_ST_MAGN_3AXIS=y
CONFIG_IIO_ST_PRESS=y
CONFIG_EXT2_FS=y CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_POSIX_ACL=y
@ -110,8 +118,6 @@ CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT3_FS=y CONFIG_EXT3_FS=y
CONFIG_EXT4_FS=y CONFIG_EXT4_FS=y
CONFIG_VFAT_FS=y CONFIG_VFAT_FS=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_TMPFS=y CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_MISC_FILESYSTEMS is not set # CONFIG_MISC_FILESYSTEMS is not set

View File

@ -222,22 +222,22 @@ static inline int cpu_is_xsc3(void)
#endif #endif
/* /*
* Marvell's PJ4 core is based on V7 version. It has some modification * Marvell's PJ4 and PJ4B cores are based on V7 version,
* for coprocessor setting. For this reason, we need a way to distinguish * but require a specical sequence for enabling coprocessors.
* it. * For this reason, we need a way to distinguish them.
*/ */
#ifndef CONFIG_CPU_PJ4 #if defined(CONFIG_CPU_PJ4) || defined(CONFIG_CPU_PJ4B)
#define cpu_is_pj4() 0
#else
static inline int cpu_is_pj4(void) static inline int cpu_is_pj4(void)
{ {
unsigned int id; unsigned int id;
id = read_cpuid_id(); id = read_cpuid_id();
if ((id & 0xfffffff0) == 0x562f5840) if ((id & 0xff0fff00) == 0x560f5800)
return 1; return 1;
return 0; return 0;
} }
#else
#define cpu_is_pj4() 0
#endif #endif
#endif #endif

View File

@ -156,7 +156,7 @@
/* Select the best insn combination to perform the */ \ /* Select the best insn combination to perform the */ \
/* actual __m * __n / (__p << 64) operation. */ \ /* actual __m * __n / (__p << 64) operation. */ \
if (!__c) { \ if (!__c) { \
asm ( "umull %Q0, %R0, %1, %Q2\n\t" \ asm ( "umull %Q0, %R0, %Q1, %Q2\n\t" \
"mov %Q0, #0" \ "mov %Q0, #0" \
: "=&r" (__res) \ : "=&r" (__res) \
: "r" (__m), "r" (__n) \ : "r" (__m), "r" (__n) \

View File

@ -53,6 +53,13 @@ void mcpm_set_early_poke(unsigned cpu, unsigned cluster,
* CPU/cluster power operations API for higher subsystems to use. * CPU/cluster power operations API for higher subsystems to use.
*/ */
/**
* mcpm_is_available - returns whether MCPM is initialized and available
*
* This returns true or false accordingly.
*/
bool mcpm_is_available(void);
/** /**
* mcpm_cpu_power_up - make given CPU in given cluster runable * mcpm_cpu_power_up - make given CPU in given cluster runable
* *

View File

@ -98,15 +98,25 @@ static inline void __tlb_alloc_page(struct mmu_gather *tlb)
} }
} }
static inline void tlb_flush_mmu(struct mmu_gather *tlb) static inline void tlb_flush_mmu_tlbonly(struct mmu_gather *tlb)
{ {
tlb_flush(tlb); tlb_flush(tlb);
}
static inline void tlb_flush_mmu_free(struct mmu_gather *tlb)
{
free_pages_and_swap_cache(tlb->pages, tlb->nr); free_pages_and_swap_cache(tlb->pages, tlb->nr);
tlb->nr = 0; tlb->nr = 0;
if (tlb->pages == tlb->local) if (tlb->pages == tlb->local)
__tlb_alloc_page(tlb); __tlb_alloc_page(tlb);
} }
static inline void tlb_flush_mmu(struct mmu_gather *tlb)
{
tlb_flush_mmu_tlbonly(tlb);
tlb_flush_mmu_free(tlb);
}
static inline void static inline void
tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned long end) tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned long end)
{ {

View File

@ -408,6 +408,7 @@
#define __NR_finit_module (__NR_SYSCALL_BASE+379) #define __NR_finit_module (__NR_SYSCALL_BASE+379)
#define __NR_sched_setattr (__NR_SYSCALL_BASE+380) #define __NR_sched_setattr (__NR_SYSCALL_BASE+380)
#define __NR_sched_getattr (__NR_SYSCALL_BASE+381) #define __NR_sched_getattr (__NR_SYSCALL_BASE+381)
#define __NR_renameat2 (__NR_SYSCALL_BASE+382)
/* /*
* This may need to be greater than __NR_last_syscall+1 in order to * This may need to be greater than __NR_last_syscall+1 in order to

View File

@ -79,6 +79,7 @@ obj-$(CONFIG_CPU_XSCALE) += xscale-cp0.o
obj-$(CONFIG_CPU_XSC3) += xscale-cp0.o obj-$(CONFIG_CPU_XSC3) += xscale-cp0.o
obj-$(CONFIG_CPU_MOHAWK) += xscale-cp0.o obj-$(CONFIG_CPU_MOHAWK) += xscale-cp0.o
obj-$(CONFIG_CPU_PJ4) += pj4-cp0.o obj-$(CONFIG_CPU_PJ4) += pj4-cp0.o
obj-$(CONFIG_CPU_PJ4B) += pj4-cp0.o
obj-$(CONFIG_IWMMXT) += iwmmxt.o obj-$(CONFIG_IWMMXT) += iwmmxt.o
obj-$(CONFIG_PERF_EVENTS) += perf_regs.o obj-$(CONFIG_PERF_EVENTS) += perf_regs.o
obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o perf_event_cpu.o obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o perf_event_cpu.o

View File

@ -391,6 +391,7 @@
CALL(sys_finit_module) CALL(sys_finit_module)
/* 380 */ CALL(sys_sched_setattr) /* 380 */ CALL(sys_sched_setattr)
CALL(sys_sched_getattr) CALL(sys_sched_getattr)
CALL(sys_renameat2)
#ifndef syscalls_counted #ifndef syscalls_counted
.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
#define syscalls_counted #define syscalls_counted

View File

@ -587,7 +587,7 @@ __fixup_pv_table:
add r6, r6, r3 @ adjust __pv_phys_pfn_offset address add r6, r6, r3 @ adjust __pv_phys_pfn_offset address
add r7, r7, r3 @ adjust __pv_offset address add r7, r7, r3 @ adjust __pv_offset address
mov r0, r8, lsr #12 @ convert to PFN mov r0, r8, lsr #12 @ convert to PFN
str r0, [r6, #LOW_OFFSET] @ save computed PHYS_OFFSET to __pv_phys_pfn_offset str r0, [r6] @ save computed PHYS_OFFSET to __pv_phys_pfn_offset
strcc ip, [r7, #HIGH_OFFSET] @ save to __pv_offset high bits strcc ip, [r7, #HIGH_OFFSET] @ save to __pv_offset high bits
mov r6, r3, lsr #24 @ constant for add/sub instructions mov r6, r3, lsr #24 @ constant for add/sub instructions
teq r3, r6, lsl #24 @ must be 16MiB aligned teq r3, r6, lsl #24 @ must be 16MiB aligned

View File

@ -19,12 +19,16 @@
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/asm-offsets.h> #include <asm/asm-offsets.h>
#if defined(CONFIG_CPU_PJ4) #if defined(CONFIG_CPU_PJ4) || defined(CONFIG_CPU_PJ4B)
#define PJ4(code...) code #define PJ4(code...) code
#define XSC(code...) #define XSC(code...)
#else #elif defined(CONFIG_CPU_MOHAWK) || \
defined(CONFIG_CPU_XSC3) || \
defined(CONFIG_CPU_XSCALE)
#define PJ4(code...) #define PJ4(code...)
#define XSC(code...) code #define XSC(code...) code
#else
#error "Unsupported iWMMXt architecture"
#endif #endif
#define MMX_WR0 (0x00) #define MMX_WR0 (0x00)

View File

@ -184,3 +184,10 @@ void machine_kexec(struct kimage *image)
soft_restart(reboot_entry_phys); soft_restart(reboot_entry_phys);
} }
void arch_crash_save_vmcoreinfo(void)
{
#ifdef CONFIG_ARM_LPAE
VMCOREINFO_CONFIG(ARM_LPAE);
#endif
}

View File

@ -45,7 +45,7 @@ static int iwmmxt_do(struct notifier_block *self, unsigned long cmd, void *t)
return NOTIFY_DONE; return NOTIFY_DONE;
} }
static struct notifier_block iwmmxt_notifier_block = { static struct notifier_block __maybe_unused iwmmxt_notifier_block = {
.notifier_call = iwmmxt_do, .notifier_call = iwmmxt_do,
}; };
@ -72,6 +72,33 @@ static void __init pj4_cp_access_write(u32 value)
: "=r" (temp) : "r" (value)); : "=r" (temp) : "r" (value));
} }
static int __init pj4_get_iwmmxt_version(void)
{
u32 cp_access, wcid;
cp_access = pj4_cp_access_read();
pj4_cp_access_write(cp_access | 0xf);
/* check if coprocessor 0 and 1 are available */
if ((pj4_cp_access_read() & 0xf) != 0xf) {
pj4_cp_access_write(cp_access);
return -ENODEV;
}
/* read iWMMXt coprocessor id register p1, c0 */
__asm__ __volatile__ ("mrc p1, 0, %0, c0, c0, 0\n" : "=r" (wcid));
pj4_cp_access_write(cp_access);
/* iWMMXt v1 */
if ((wcid & 0xffffff00) == 0x56051000)
return 1;
/* iWMMXt v2 */
if ((wcid & 0xffffff00) == 0x56052000)
return 2;
return -EINVAL;
}
/* /*
* Disable CP0/CP1 on boot, and let call_fpe() and the iWMMXt lazy * Disable CP0/CP1 on boot, and let call_fpe() and the iWMMXt lazy
@ -79,17 +106,26 @@ static void __init pj4_cp_access_write(u32 value)
*/ */
static int __init pj4_cp0_init(void) static int __init pj4_cp0_init(void)
{ {
u32 cp_access; u32 __maybe_unused cp_access;
int vers;
if (!cpu_is_pj4()) if (!cpu_is_pj4())
return 0; return 0;
vers = pj4_get_iwmmxt_version();
if (vers < 0)
return 0;
#ifndef CONFIG_IWMMXT
pr_info("PJ4 iWMMXt coprocessor detected, but kernel support is missing.\n");
#else
cp_access = pj4_cp_access_read() & ~0xf; cp_access = pj4_cp_access_read() & ~0xf;
pj4_cp_access_write(cp_access); pj4_cp_access_write(cp_access);
printk(KERN_INFO "PJ4 iWMMXt coprocessor enabled.\n"); pr_info("PJ4 iWMMXt v%d coprocessor enabled.\n", vers);
elf_hwcap |= HWCAP_IWMMXT; elf_hwcap |= HWCAP_IWMMXT;
thread_register_notifier(&iwmmxt_notifier_block); thread_register_notifier(&iwmmxt_notifier_block);
#endif
return 0; return 0;
} }

View File

@ -203,9 +203,9 @@ asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
int ret; int ret;
switch (cmd) { switch (cmd) {
case F_GETLKP: case F_OFD_GETLK:
case F_SETLKP: case F_OFD_SETLK:
case F_SETLKPW: case F_OFD_SETLKW:
case F_GETLK64: case F_GETLK64:
case F_SETLK64: case F_SETLK64:
case F_SETLKW64: case F_SETLKW64:

View File

@ -1296,7 +1296,7 @@ static struct resource adc_resources[] = {
}; };
static struct platform_device at91_adc_device = { static struct platform_device at91_adc_device = {
.name = "at91_adc", .name = "at91sam9260-adc",
.id = -1, .id = -1,
.dev = { .dev = {
.platform_data = &adc_data, .platform_data = &adc_data,

View File

@ -1204,7 +1204,7 @@ static struct resource adc_resources[] = {
}; };
static struct platform_device at91_adc_device = { static struct platform_device at91_adc_device = {
.name = "at91_adc", .name = "at91sam9g45-adc",
.id = -1, .id = -1,
.dev = { .dev = {
.platform_data = &adc_data, .platform_data = &adc_data,

View File

@ -208,8 +208,8 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
* the "output_enable" bit as a gate, even though it's really just * the "output_enable" bit as a gate, even though it's really just
* enabling clock output. * enabling clock output.
*/ */
clk[lvds1_gate] = imx_clk_gate("lvds1_gate", "dummy", base + 0x160, 10); clk[lvds1_gate] = imx_clk_gate("lvds1_gate", "lvds1_sel", base + 0x160, 10);
clk[lvds2_gate] = imx_clk_gate("lvds2_gate", "dummy", base + 0x160, 11); clk[lvds2_gate] = imx_clk_gate("lvds2_gate", "lvds2_sel", base + 0x160, 11);
/* name parent_name reg idx */ /* name parent_name reg idx */
clk[pll2_pfd0_352m] = imx_clk_pfd("pll2_pfd0_352m", "pll2_bus", base + 0x100, 0); clk[pll2_pfd0_352m] = imx_clk_pfd("pll2_pfd0_352m", "pll2_bus", base + 0x100, 0);
@ -258,14 +258,14 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
clk[ipu2_sel] = imx_clk_mux("ipu2_sel", base + 0x3c, 14, 2, ipu_sels, ARRAY_SIZE(ipu_sels)); clk[ipu2_sel] = imx_clk_mux("ipu2_sel", base + 0x3c, 14, 2, ipu_sels, ARRAY_SIZE(ipu_sels));
clk[ldb_di0_sel] = imx_clk_mux_flags("ldb_di0_sel", base + 0x2c, 9, 3, ldb_di_sels, ARRAY_SIZE(ldb_di_sels), CLK_SET_RATE_PARENT); clk[ldb_di0_sel] = imx_clk_mux_flags("ldb_di0_sel", base + 0x2c, 9, 3, ldb_di_sels, ARRAY_SIZE(ldb_di_sels), CLK_SET_RATE_PARENT);
clk[ldb_di1_sel] = imx_clk_mux_flags("ldb_di1_sel", base + 0x2c, 12, 3, ldb_di_sels, ARRAY_SIZE(ldb_di_sels), CLK_SET_RATE_PARENT); clk[ldb_di1_sel] = imx_clk_mux_flags("ldb_di1_sel", base + 0x2c, 12, 3, ldb_di_sels, ARRAY_SIZE(ldb_di_sels), CLK_SET_RATE_PARENT);
clk[ipu1_di0_pre_sel] = imx_clk_mux("ipu1_di0_pre_sel", base + 0x34, 6, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels)); clk[ipu1_di0_pre_sel] = imx_clk_mux_flags("ipu1_di0_pre_sel", base + 0x34, 6, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT);
clk[ipu1_di1_pre_sel] = imx_clk_mux("ipu1_di1_pre_sel", base + 0x34, 15, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels)); clk[ipu1_di1_pre_sel] = imx_clk_mux_flags("ipu1_di1_pre_sel", base + 0x34, 15, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT);
clk[ipu2_di0_pre_sel] = imx_clk_mux("ipu2_di0_pre_sel", base + 0x38, 6, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels)); clk[ipu2_di0_pre_sel] = imx_clk_mux_flags("ipu2_di0_pre_sel", base + 0x38, 6, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT);
clk[ipu2_di1_pre_sel] = imx_clk_mux("ipu2_di1_pre_sel", base + 0x38, 15, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels)); clk[ipu2_di1_pre_sel] = imx_clk_mux_flags("ipu2_di1_pre_sel", base + 0x38, 15, 3, ipu_di_pre_sels, ARRAY_SIZE(ipu_di_pre_sels), CLK_SET_RATE_PARENT);
clk[ipu1_di0_sel] = imx_clk_mux("ipu1_di0_sel", base + 0x34, 0, 3, ipu1_di0_sels, ARRAY_SIZE(ipu1_di0_sels)); clk[ipu1_di0_sel] = imx_clk_mux_flags("ipu1_di0_sel", base + 0x34, 0, 3, ipu1_di0_sels, ARRAY_SIZE(ipu1_di0_sels), CLK_SET_RATE_PARENT);
clk[ipu1_di1_sel] = imx_clk_mux("ipu1_di1_sel", base + 0x34, 9, 3, ipu1_di1_sels, ARRAY_SIZE(ipu1_di1_sels)); clk[ipu1_di1_sel] = imx_clk_mux_flags("ipu1_di1_sel", base + 0x34, 9, 3, ipu1_di1_sels, ARRAY_SIZE(ipu1_di1_sels), CLK_SET_RATE_PARENT);
clk[ipu2_di0_sel] = imx_clk_mux("ipu2_di0_sel", base + 0x38, 0, 3, ipu2_di0_sels, ARRAY_SIZE(ipu2_di0_sels)); clk[ipu2_di0_sel] = imx_clk_mux_flags("ipu2_di0_sel", base + 0x38, 0, 3, ipu2_di0_sels, ARRAY_SIZE(ipu2_di0_sels), CLK_SET_RATE_PARENT);
clk[ipu2_di1_sel] = imx_clk_mux("ipu2_di1_sel", base + 0x38, 9, 3, ipu2_di1_sels, ARRAY_SIZE(ipu2_di1_sels)); clk[ipu2_di1_sel] = imx_clk_mux_flags("ipu2_di1_sel", base + 0x38, 9, 3, ipu2_di1_sels, ARRAY_SIZE(ipu2_di1_sels), CLK_SET_RATE_PARENT);
clk[hsi_tx_sel] = imx_clk_mux("hsi_tx_sel", base + 0x30, 28, 1, hsi_tx_sels, ARRAY_SIZE(hsi_tx_sels)); clk[hsi_tx_sel] = imx_clk_mux("hsi_tx_sel", base + 0x30, 28, 1, hsi_tx_sels, ARRAY_SIZE(hsi_tx_sels));
clk[pcie_axi_sel] = imx_clk_mux("pcie_axi_sel", base + 0x18, 10, 1, pcie_axi_sels, ARRAY_SIZE(pcie_axi_sels)); clk[pcie_axi_sel] = imx_clk_mux("pcie_axi_sel", base + 0x18, 10, 1, pcie_axi_sels, ARRAY_SIZE(pcie_axi_sels));
clk[ssi1_sel] = imx_clk_fixup_mux("ssi1_sel", base + 0x1c, 10, 2, ssi_sels, ARRAY_SIZE(ssi_sels), imx_cscmr1_fixup); clk[ssi1_sel] = imx_clk_fixup_mux("ssi1_sel", base + 0x1c, 10, 2, ssi_sels, ARRAY_SIZE(ssi_sels), imx_cscmr1_fixup);
@ -445,6 +445,15 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
clk_set_parent(clk[ldb_di1_sel], clk[pll5_video_div]); clk_set_parent(clk[ldb_di1_sel], clk[pll5_video_div]);
} }
clk_set_parent(clk[ipu1_di0_pre_sel], clk[pll5_video_div]);
clk_set_parent(clk[ipu1_di1_pre_sel], clk[pll5_video_div]);
clk_set_parent(clk[ipu2_di0_pre_sel], clk[pll5_video_div]);
clk_set_parent(clk[ipu2_di1_pre_sel], clk[pll5_video_div]);
clk_set_parent(clk[ipu1_di0_sel], clk[ipu1_di0_pre]);
clk_set_parent(clk[ipu1_di1_sel], clk[ipu1_di1_pre]);
clk_set_parent(clk[ipu2_di0_sel], clk[ipu2_di0_pre]);
clk_set_parent(clk[ipu2_di1_sel], clk[ipu2_di1_pre]);
/* /*
* The gpmi needs 100MHz frequency in the EDO/Sync mode, * The gpmi needs 100MHz frequency in the EDO/Sync mode,
* We can not get the 100MHz from the pll2_pfd0_352m. * We can not get the 100MHz from the pll2_pfd0_352m.

View File

@ -48,7 +48,7 @@ static struct omap_dss_board_info rx51_dss_board_info = {
static int __init rx51_video_init(void) static int __init rx51_video_init(void)
{ {
if (!machine_is_nokia_rx51() && !of_machine_is_compatible("nokia,omap3-n900")) if (!machine_is_nokia_rx51())
return 0; return 0;
if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) { if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) {

View File

@ -209,7 +209,7 @@ u8 omap2_init_dpll_parent(struct clk_hw *hw)
if (v == OMAP3XXX_EN_DPLL_LPBYPASS || if (v == OMAP3XXX_EN_DPLL_LPBYPASS ||
v == OMAP3XXX_EN_DPLL_FRBYPASS) v == OMAP3XXX_EN_DPLL_FRBYPASS)
return 1; return 1;
} else if (soc_is_am33xx() || cpu_is_omap44xx()) { } else if (soc_is_am33xx() || cpu_is_omap44xx() || soc_is_am43xx()) {
if (v == OMAP4XXX_EN_DPLL_LPBYPASS || if (v == OMAP4XXX_EN_DPLL_LPBYPASS ||
v == OMAP4XXX_EN_DPLL_FRBYPASS || v == OMAP4XXX_EN_DPLL_FRBYPASS ||
v == OMAP4XXX_EN_DPLL_MNBYPASS) v == OMAP4XXX_EN_DPLL_MNBYPASS)
@ -255,7 +255,7 @@ unsigned long omap2_get_dpll_rate(struct clk_hw_omap *clk)
if (v == OMAP3XXX_EN_DPLL_LPBYPASS || if (v == OMAP3XXX_EN_DPLL_LPBYPASS ||
v == OMAP3XXX_EN_DPLL_FRBYPASS) v == OMAP3XXX_EN_DPLL_FRBYPASS)
return __clk_get_rate(dd->clk_bypass); return __clk_get_rate(dd->clk_bypass);
} else if (soc_is_am33xx() || cpu_is_omap44xx()) { } else if (soc_is_am33xx() || cpu_is_omap44xx() || soc_is_am43xx()) {
if (v == OMAP4XXX_EN_DPLL_LPBYPASS || if (v == OMAP4XXX_EN_DPLL_LPBYPASS ||
v == OMAP4XXX_EN_DPLL_FRBYPASS || v == OMAP4XXX_EN_DPLL_FRBYPASS ||
v == OMAP4XXX_EN_DPLL_MNBYPASS) v == OMAP4XXX_EN_DPLL_MNBYPASS)

View File

@ -501,7 +501,7 @@ static int gpmc_cs_delete_mem(int cs)
int r; int r;
spin_lock(&gpmc_mem_lock); spin_lock(&gpmc_mem_lock);
r = release_resource(&gpmc_cs_mem[cs]); r = release_resource(res);
res->start = 0; res->start = 0;
res->end = 0; res->end = 0;
spin_unlock(&gpmc_mem_lock); spin_unlock(&gpmc_mem_lock);
@ -527,6 +527,14 @@ static int gpmc_cs_remap(int cs, u32 base)
pr_err("%s: requested chip-select is disabled\n", __func__); pr_err("%s: requested chip-select is disabled\n", __func__);
return -ENODEV; return -ENODEV;
} }
/*
* Make sure we ignore any device offsets from the GPMC partition
* allocated for the chip select and that the new base confirms
* to the GPMC 16MB minimum granularity.
*/
base &= ~(SZ_16M - 1);
gpmc_cs_get_memconf(cs, &old_base, &size); gpmc_cs_get_memconf(cs, &old_base, &size);
if (base == old_base) if (base == old_base)
return 0; return 0;
@ -586,6 +594,8 @@ EXPORT_SYMBOL(gpmc_cs_request);
void gpmc_cs_free(int cs) void gpmc_cs_free(int cs)
{ {
struct resource *res = &gpmc_cs_mem[cs];
spin_lock(&gpmc_mem_lock); spin_lock(&gpmc_mem_lock);
if (cs >= gpmc_cs_num || cs < 0 || !gpmc_cs_reserved(cs)) { if (cs >= gpmc_cs_num || cs < 0 || !gpmc_cs_reserved(cs)) {
printk(KERN_ERR "Trying to free non-reserved GPMC CS%d\n", cs); printk(KERN_ERR "Trying to free non-reserved GPMC CS%d\n", cs);
@ -594,7 +604,8 @@ void gpmc_cs_free(int cs)
return; return;
} }
gpmc_cs_disable_mem(cs); gpmc_cs_disable_mem(cs);
release_resource(&gpmc_cs_mem[cs]); if (res->flags)
release_resource(res);
gpmc_cs_set_reserved(cs, 0); gpmc_cs_set_reserved(cs, 0);
spin_unlock(&gpmc_mem_lock); spin_unlock(&gpmc_mem_lock);
} }

View File

@ -2546,11 +2546,12 @@ static int __init _init(struct omap_hwmod *oh, void *data)
return -EINVAL; return -EINVAL;
} }
if (np) if (np) {
if (of_find_property(np, "ti,no-reset-on-init", NULL)) if (of_find_property(np, "ti,no-reset-on-init", NULL))
oh->flags |= HWMOD_INIT_NO_RESET; oh->flags |= HWMOD_INIT_NO_RESET;
if (of_find_property(np, "ti,no-idle-on-init", NULL)) if (of_find_property(np, "ti,no-idle-on-init", NULL))
oh->flags |= HWMOD_INIT_NO_IDLE; oh->flags |= HWMOD_INIT_NO_IDLE;
}
oh->_state = _HWMOD_STATE_INITIALIZED; oh->_state = _HWMOD_STATE_INITIALIZED;

View File

@ -1964,7 +1964,7 @@ static struct omap_hwmod_irq_info omap3xxx_usb_host_hs_irqs[] = {
static struct omap_hwmod omap3xxx_usb_host_hs_hwmod = { static struct omap_hwmod omap3xxx_usb_host_hs_hwmod = {
.name = "usb_host_hs", .name = "usb_host_hs",
.class = &omap3xxx_usb_host_hs_hwmod_class, .class = &omap3xxx_usb_host_hs_hwmod_class,
.clkdm_name = "l3_init_clkdm", .clkdm_name = "usbhost_clkdm",
.mpu_irqs = omap3xxx_usb_host_hs_irqs, .mpu_irqs = omap3xxx_usb_host_hs_irqs,
.main_clk = "usbhost_48m_fck", .main_clk = "usbhost_48m_fck",
.prcm = { .prcm = {
@ -2047,7 +2047,7 @@ static struct omap_hwmod_irq_info omap3xxx_usb_tll_hs_irqs[] = {
static struct omap_hwmod omap3xxx_usb_tll_hs_hwmod = { static struct omap_hwmod omap3xxx_usb_tll_hs_hwmod = {
.name = "usb_tll_hs", .name = "usb_tll_hs",
.class = &omap3xxx_usb_tll_hs_hwmod_class, .class = &omap3xxx_usb_tll_hs_hwmod_class,
.clkdm_name = "l3_init_clkdm", .clkdm_name = "core_l4_clkdm",
.mpu_irqs = omap3xxx_usb_tll_hs_irqs, .mpu_irqs = omap3xxx_usb_tll_hs_irqs,
.main_clk = "usbtll_fck", .main_clk = "usbtll_fck",
.prcm = { .prcm = {

View File

@ -330,10 +330,6 @@ void omap_sram_idle(void)
omap3_sram_restore_context(); omap3_sram_restore_context();
omap2_sms_restore_context(); omap2_sms_restore_context();
} }
if (core_next_state == PWRDM_POWER_OFF)
omap2_prm_clear_mod_reg_bits(OMAP3430_AUTO_OFF_MASK,
OMAP3430_GR_MOD,
OMAP3_PRM_VOLTCTRL_OFFSET);
} }
omap3_intc_resume_idle(); omap3_intc_resume_idle();

View File

@ -14,6 +14,7 @@
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/mfd/asic3.h> #include <linux/mfd/asic3.h>
#include "irqs.h" /* PXA_NR_BUILTIN_GPIO */
#define HX4700_ASIC3_GPIO_BASE PXA_NR_BUILTIN_GPIO #define HX4700_ASIC3_GPIO_BASE PXA_NR_BUILTIN_GPIO
#define HX4700_EGPIO_BASE (HX4700_ASIC3_GPIO_BASE + ASIC3_NUM_GPIOS) #define HX4700_EGPIO_BASE (HX4700_ASIC3_GPIO_BASE + ASIC3_NUM_GPIOS)

View File

@ -152,7 +152,7 @@ static void __init rockchip_smp_prepare_cpus(unsigned int max_cpus)
node = of_find_compatible_node(NULL, NULL, "rockchip,rk3066-pmu"); node = of_find_compatible_node(NULL, NULL, "rockchip,rk3066-pmu");
if (!node) { if (!node) {
pr_err("%s: could not find sram dt node\n", __func__); pr_err("%s: could not find pmu dt node\n", __func__);
return; return;
} }

View File

@ -992,6 +992,7 @@ static struct asoc_simple_card_info fsi_wm8978_info = {
.platform = "sh_fsi2", .platform = "sh_fsi2",
.daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBM_CFM, .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBM_CFM,
.cpu_dai = { .cpu_dai = {
.fmt = SND_SOC_DAIFMT_IB_NF,
.name = "fsia-dai", .name = "fsia-dai",
}, },
.codec_dai = { .codec_dai = {

View File

@ -588,14 +588,12 @@ static struct asoc_simple_card_info rsnd_card_info = {
.card = "SSI01-AK4643", .card = "SSI01-AK4643",
.codec = "ak4642-codec.2-0012", .codec = "ak4642-codec.2-0012",
.platform = "rcar_sound", .platform = "rcar_sound",
.daifmt = SND_SOC_DAIFMT_LEFT_J, .daifmt = SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_CBM_CFM,
.cpu_dai = { .cpu_dai = {
.name = "rcar_sound", .name = "rcar_sound",
.fmt = SND_SOC_DAIFMT_CBS_CFS,
}, },
.codec_dai = { .codec_dai = {
.name = "ak4642-hifi", .name = "ak4642-hifi",
.fmt = SND_SOC_DAIFMT_CBM_CFM,
.sysclk = 11289600, .sysclk = 11289600,
}, },
}; };

View File

@ -170,7 +170,7 @@ static struct clk mstp_clks[MSTP_NR] = {
[MSTP010] = SH_CLK_MSTP32(&p_clk, MSTPCR0, 10, 0), /* SSI2 */ [MSTP010] = SH_CLK_MSTP32(&p_clk, MSTPCR0, 10, 0), /* SSI2 */
[MSTP009] = SH_CLK_MSTP32(&p_clk, MSTPCR0, 9, 0), /* SSI3 */ [MSTP009] = SH_CLK_MSTP32(&p_clk, MSTPCR0, 9, 0), /* SSI3 */
[MSTP008] = SH_CLK_MSTP32(&p_clk, MSTPCR0, 8, 0), /* SRU */ [MSTP008] = SH_CLK_MSTP32(&p_clk, MSTPCR0, 8, 0), /* SRU */
[MSTP007] = SH_CLK_MSTP32(&p_clk, MSTPCR0, 7, 0), /* HSPI */ [MSTP007] = SH_CLK_MSTP32(&s_clk, MSTPCR0, 7, 0), /* HSPI */
}; };
static struct clk_lookup lookups[] = { static struct clk_lookup lookups[] = {

View File

@ -71,7 +71,7 @@ static void clockevent_set_mode(enum clock_event_mode mode,
static int clockevent_next_event(unsigned long evt, static int clockevent_next_event(unsigned long evt,
struct clock_event_device *clk_event_dev); struct clock_event_device *clk_event_dev);
static void spear_clocksource_init(void) static void __init spear_clocksource_init(void)
{ {
u32 tick_rate; u32 tick_rate;
u16 val; u16 val;

View File

@ -70,7 +70,4 @@ config TEGRA_AHB
which controls AHB bus master arbitration and some which controls AHB bus master arbitration and some
performance parameters(priority, prefech size). performance parameters(priority, prefech size).
config TEGRA_EMC_SCALING_ENABLE
bool "Enable scaling the memory frequency"
endmenu endmenu

View File

@ -51,12 +51,14 @@ static int dcscb_allcpus_mask[2];
static int dcscb_power_up(unsigned int cpu, unsigned int cluster) static int dcscb_power_up(unsigned int cpu, unsigned int cluster)
{ {
unsigned int rst_hold, cpumask = (1 << cpu); unsigned int rst_hold, cpumask = (1 << cpu);
unsigned int all_mask = dcscb_allcpus_mask[cluster]; unsigned int all_mask;
pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
if (cpu >= 4 || cluster >= 2) if (cpu >= 4 || cluster >= 2)
return -EINVAL; return -EINVAL;
all_mask = dcscb_allcpus_mask[cluster];
/* /*
* Since this is called with IRQs enabled, and no arch_spin_lock_irq * Since this is called with IRQs enabled, and no arch_spin_lock_irq
* variant exists, we need to disable IRQs manually here. * variant exists, we need to disable IRQs manually here.
@ -101,11 +103,12 @@ static void dcscb_power_down(void)
cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);
cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
cpumask = (1 << cpu); cpumask = (1 << cpu);
all_mask = dcscb_allcpus_mask[cluster];
pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
BUG_ON(cpu >= 4 || cluster >= 2); BUG_ON(cpu >= 4 || cluster >= 2);
all_mask = dcscb_allcpus_mask[cluster];
__mcpm_cpu_going_down(cpu, cluster); __mcpm_cpu_going_down(cpu, cluster);
arch_spin_lock(&dcscb_lock); arch_spin_lock(&dcscb_lock);

View File

@ -392,7 +392,7 @@ static irqreturn_t ve_spc_irq_handler(int irq, void *data)
* +--------------------------+ * +--------------------------+
* | 31 20 | 19 0 | * | 31 20 | 19 0 |
* +--------------------------+ * +--------------------------+
* | u_volt | freq(kHz) | * | m_volt | freq(kHz) |
* +--------------------------+ * +--------------------------+
*/ */
#define MULT_FACTOR 20 #define MULT_FACTOR 20
@ -414,7 +414,7 @@ static int ve_spc_populate_opps(uint32_t cluster)
ret = ve_spc_read_sys_cfg(SYSCFG_SCC, off, &data); ret = ve_spc_read_sys_cfg(SYSCFG_SCC, off, &data);
if (!ret) { if (!ret) {
opps->freq = (data & FREQ_MASK) * MULT_FACTOR; opps->freq = (data & FREQ_MASK) * MULT_FACTOR;
opps->u_volt = data >> VOLT_SHIFT; opps->u_volt = (data >> VOLT_SHIFT) * 1000;
} else { } else {
break; break;
} }

View File

@ -420,29 +420,29 @@ config CPU_32v3
bool bool
select CPU_USE_DOMAINS if MMU select CPU_USE_DOMAINS if MMU
select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
select TLS_REG_EMUL if SMP || !MMU
select NEED_KUSER_HELPERS select NEED_KUSER_HELPERS
select TLS_REG_EMUL if SMP || !MMU
config CPU_32v4 config CPU_32v4
bool bool
select CPU_USE_DOMAINS if MMU select CPU_USE_DOMAINS if MMU
select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
select TLS_REG_EMUL if SMP || !MMU
select NEED_KUSER_HELPERS select NEED_KUSER_HELPERS
select TLS_REG_EMUL if SMP || !MMU
config CPU_32v4T config CPU_32v4T
bool bool
select CPU_USE_DOMAINS if MMU select CPU_USE_DOMAINS if MMU
select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
select TLS_REG_EMUL if SMP || !MMU
select NEED_KUSER_HELPERS select NEED_KUSER_HELPERS
select TLS_REG_EMUL if SMP || !MMU
config CPU_32v5 config CPU_32v5
bool bool
select CPU_USE_DOMAINS if MMU select CPU_USE_DOMAINS if MMU
select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select NEEDS_SYSCALL_FOR_CMPXCHG if SMP
select TLS_REG_EMUL if SMP || !MMU
select NEED_KUSER_HELPERS select NEED_KUSER_HELPERS
select TLS_REG_EMUL if SMP || !MMU
config CPU_32v6 config CPU_32v6
bool bool

View File

@ -1963,8 +1963,8 @@ arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size)
mapping->nr_bitmaps = 1; mapping->nr_bitmaps = 1;
mapping->extensions = extensions; mapping->extensions = extensions;
mapping->base = base; mapping->base = base;
mapping->size = bitmap_size << PAGE_SHIFT;
mapping->bits = BITS_PER_BYTE * bitmap_size; mapping->bits = BITS_PER_BYTE * bitmap_size;
mapping->size = mapping->bits << PAGE_SHIFT;
spin_lock_init(&mapping->lock); spin_lock_init(&mapping->lock);

View File

@ -866,6 +866,8 @@ vfp_double_multiply_accumulate(int dd, int dn, int dm, u32 fpscr, u32 negate, ch
vdp.sign = vfp_sign_negate(vdp.sign); vdp.sign = vfp_sign_negate(vdp.sign);
vfp_double_unpack(&vdn, vfp_get_double(dd)); vfp_double_unpack(&vdn, vfp_get_double(dd));
if (vdn.exponent == 0 && vdn.significand)
vfp_double_normalise_denormal(&vdn);
if (negate & NEG_SUBTRACT) if (negate & NEG_SUBTRACT)
vdn.sign = vfp_sign_negate(vdn.sign); vdn.sign = vfp_sign_negate(vdn.sign);

View File

@ -915,6 +915,8 @@ vfp_single_multiply_accumulate(int sd, int sn, s32 m, u32 fpscr, u32 negate, cha
v = vfp_get_float(sd); v = vfp_get_float(sd);
pr_debug("VFP: s%u = %08x\n", sd, v); pr_debug("VFP: s%u = %08x\n", sd, v);
vfp_single_unpack(&vsn, v); vfp_single_unpack(&vsn, v);
if (vsn.exponent == 0 && vsn.significand)
vfp_single_normalise_denormal(&vsn);
if (negate & NEG_SUBTRACT) if (negate & NEG_SUBTRACT)
vsn.sign = vfp_sign_negate(vsn.sign); vsn.sign = vfp_sign_negate(vsn.sign);

View File

@ -323,8 +323,6 @@ menu "CPU Power Management"
source "drivers/cpuidle/Kconfig" source "drivers/cpuidle/Kconfig"
source "kernel/power/Kconfig"
source "drivers/cpufreq/Kconfig" source "drivers/cpufreq/Kconfig"
endmenu endmenu

View File

@ -22,6 +22,9 @@ typedef struct {
void *vdso; void *vdso;
} mm_context_t; } mm_context_t;
#define INIT_MM_CONTEXT(name) \
.context.id_lock = __RAW_SPIN_LOCK_UNLOCKED(name.context.id_lock),
#define ASID(mm) ((mm)->context.id & 0xffff) #define ASID(mm) ((mm)->context.id & 0xffff)
extern void paging_init(void); extern void paging_init(void);

View File

@ -19,6 +19,7 @@
#ifndef __ASM_TLB_H #ifndef __ASM_TLB_H
#define __ASM_TLB_H #define __ASM_TLB_H
#define __tlb_remove_pmd_tlb_entry __tlb_remove_pmd_tlb_entry
#include <asm-generic/tlb.h> #include <asm-generic/tlb.h>
@ -99,5 +100,10 @@ static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp,
} }
#endif #endif
static inline void __tlb_remove_pmd_tlb_entry(struct mmu_gather *tlb, pmd_t *pmdp,
unsigned long address)
{
tlb_add_flush(tlb, address);
}
#endif #endif

View File

@ -403,8 +403,9 @@ __SYSCALL(378, sys_kcmp)
__SYSCALL(379, sys_finit_module) __SYSCALL(379, sys_finit_module)
__SYSCALL(380, sys_sched_setattr) __SYSCALL(380, sys_sched_setattr)
__SYSCALL(381, sys_sched_getattr) __SYSCALL(381, sys_sched_getattr)
__SYSCALL(382, sys_renameat2)
#define __NR_compat_syscalls 379 #define __NR_compat_syscalls 383
/* /*
* Compat syscall numbers used by the AArch64 kernel. * Compat syscall numbers used by the AArch64 kernel.

View File

@ -318,9 +318,6 @@ static int brk_handler(unsigned long addr, unsigned int esr,
if (call_break_hook(regs, esr) == DBG_HOOK_HANDLED) if (call_break_hook(regs, esr) == DBG_HOOK_HANDLED)
return 0; return 0;
pr_warn("unexpected brk exception at %lx, esr=0x%x\n",
(long)instruction_pointer(regs), esr);
if (!user_mode(regs)) if (!user_mode(regs))
return -EFAULT; return -EFAULT;

Some files were not shown because too many files have changed in this diff Show More