Skip to content

Commit ebc8eca

Browse files
committed
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (180 commits) powerpc: clean up ssi.txt, add definition for fsl,ssi-asynchronous powerpc/85xx: Add support for the "socrates" board (MPC8544). powerpc: Fix bugs introduced by sysfs changes powerpc: Sanitize stack pointer in signal handling code powerpc: Add write barrier before enabling DTL flags powerpc/83xx: Update ranges in gianfar node to match other dts powerpc/86xx: Move gianfar mdio nodes under the ethernet nodes powerpc/85xx: Move gianfar mdio nodes under the ethernet nodes powerpc/83xx: Move gianfar mdio nodes under the ethernet nodes powerpc/83xx: Add power management support for MPC837x boards powerpc/mm: Introduce early_init_mmu() on 64-bit powerpc/mm: Add option for non-atomic PTE updates to ppc64 powerpc/mm: Fix printk type warning in mmu_context_nohash powerpc/mm: Rename arch/powerpc/kernel/mmap.c to mmap_64.c powerpc/mm: Merge various PTE bits and accessors definitions powerpc/mm: Tweak PTE bit combination definitions powerpc/cell: Fix iommu exception reporting powerpc/mm: e300c2/c3/c4 TLB errata workaround powerpc/mm: Used free register to save a few cycles in SW TLB miss handling powerpc/mm: Remove unused register usage in SW TLB miss handling ...
2 parents 25c1a41 + 9ff9a26 commit ebc8eca

File tree

284 files changed

+20089
-4620
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

284 files changed

+20089
-4620
lines changed

Documentation/powerpc/dts-bindings/fsl/dma.txt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,30 +35,30 @@ Example:
3535
#address-cells = <1>;
3636
#size-cells = <1>;
3737
compatible = "fsl,mpc8349-dma", "fsl,elo-dma";
38-
reg = <82a8 4>;
39-
ranges = <0 8100 1a4>;
38+
reg = <0x82a8 4>;
39+
ranges = <0 0x8100 0x1a4>;
4040
interrupt-parent = <&ipic>;
41-
interrupts = <47 8>;
41+
interrupts = <71 8>;
4242
cell-index = <0>;
4343
dma-channel@0 {
4444
compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
4545
cell-index = <0>;
46-
reg = <0 80>;
46+
reg = <0 0x80>;
4747
};
4848
dma-channel@80 {
4949
compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
5050
cell-index = <1>;
51-
reg = <80 80>;
51+
reg = <0x80 0x80>;
5252
};
5353
dma-channel@100 {
5454
compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
5555
cell-index = <2>;
56-
reg = <100 80>;
56+
reg = <0x100 0x80>;
5757
};
5858
dma-channel@180 {
5959
compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
6060
cell-index = <3>;
61-
reg = <180 80>;
61+
reg = <0x180 0x80>;
6262
};
6363
};
6464

@@ -93,36 +93,36 @@ Example:
9393
#address-cells = <1>;
9494
#size-cells = <1>;
9595
compatible = "fsl,mpc8540-dma", "fsl,eloplus-dma";
96-
reg = <21300 4>;
97-
ranges = <0 21100 200>;
96+
reg = <0x21300 4>;
97+
ranges = <0 0x21100 0x200>;
9898
cell-index = <0>;
9999
dma-channel@0 {
100100
compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
101-
reg = <0 80>;
101+
reg = <0 0x80>;
102102
cell-index = <0>;
103103
interrupt-parent = <&mpic>;
104-
interrupts = <14 2>;
104+
interrupts = <20 2>;
105105
};
106106
dma-channel@80 {
107107
compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
108-
reg = <80 80>;
108+
reg = <0x80 0x80>;
109109
cell-index = <1>;
110110
interrupt-parent = <&mpic>;
111-
interrupts = <15 2>;
111+
interrupts = <21 2>;
112112
};
113113
dma-channel@100 {
114114
compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
115-
reg = <100 80>;
115+
reg = <0x100 0x80>;
116116
cell-index = <2>;
117117
interrupt-parent = <&mpic>;
118-
interrupts = <16 2>;
118+
interrupts = <22 2>;
119119
};
120120
dma-channel@180 {
121121
compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
122-
reg = <180 80>;
122+
reg = <0x180 0x80>;
123123
cell-index = <3>;
124124
interrupt-parent = <&mpic>;
125-
interrupts = <17 2>;
125+
interrupts = <23 2>;
126126
};
127127
};
128128

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
* Freescale Enhanced Secure Digital Host Controller (eSDHC)
2+
3+
The Enhanced Secure Digital Host Controller provides an interface
4+
for MMC, SD, and SDIO types of memory cards.
5+
6+
Required properties:
7+
- compatible : should be
8+
"fsl,<chip>-esdhc", "fsl,mpc8379-esdhc" for MPC83xx processors.
9+
"fsl,<chip>-esdhc", "fsl,mpc8536-esdhc" for MPC85xx processors.
10+
- reg : should contain eSDHC registers location and length.
11+
- interrupts : should contain eSDHC interrupt.
12+
- interrupt-parent : interrupt source phandle.
13+
- clock-frequency : specifies eSDHC base clock frequency.
14+
15+
Example:
16+
17+
sdhci@2e000 {
18+
compatible = "fsl,mpc8378-esdhc", "fsl,mpc8379-esdhc";
19+
reg = <0x2e000 0x1000>;
20+
interrupts = <42 0x8>;
21+
interrupt-parent = <&ipic>;
22+
/* Filled in by U-Boot */
23+
clock-frequency = <0>;
24+
};

Documentation/powerpc/dts-bindings/fsl/ssi.txt

Lines changed: 40 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,56 @@ The SSI is a serial device that communicates with audio codecs. It can
44
be programmed in AC97, I2S, left-justified, or right-justified modes.
55

66
Required properties:
7-
- compatible : compatible list, containing "fsl,ssi"
8-
- cell-index : the SSI, <0> = SSI1, <1> = SSI2, and so on
9-
- reg : offset and length of the register set for the device
10-
- interrupts : <a b> where a is the interrupt number and b is a
11-
field that represents an encoding of the sense and
12-
level information for the interrupt. This should be
13-
encoded based on the information in section 2)
14-
depending on the type of interrupt controller you
15-
have.
16-
- interrupt-parent : the phandle for the interrupt controller that
17-
services interrupts for this device.
18-
- fsl,mode : the operating mode for the SSI interface
19-
"i2s-slave" - I2S mode, SSI is clock slave
20-
"i2s-master" - I2S mode, SSI is clock master
21-
"lj-slave" - left-justified mode, SSI is clock slave
22-
"lj-master" - l.j. mode, SSI is clock master
23-
"rj-slave" - right-justified mode, SSI is clock slave
24-
"rj-master" - r.j., SSI is clock master
25-
"ac97-slave" - AC97 mode, SSI is clock slave
26-
"ac97-master" - AC97 mode, SSI is clock master
27-
- fsl,playback-dma: phandle to a node for the DMA channel to use for
7+
- compatible: Compatible list, contains "fsl,ssi".
8+
- cell-index: The SSI, <0> = SSI1, <1> = SSI2, and so on.
9+
- reg: Offset and length of the register set for the device.
10+
- interrupts: <a b> where a is the interrupt number and b is a
11+
field that represents an encoding of the sense and
12+
level information for the interrupt. This should be
13+
encoded based on the information in section 2)
14+
depending on the type of interrupt controller you
15+
have.
16+
- interrupt-parent: The phandle for the interrupt controller that
17+
services interrupts for this device.
18+
- fsl,mode: The operating mode for the SSI interface.
19+
"i2s-slave" - I2S mode, SSI is clock slave
20+
"i2s-master" - I2S mode, SSI is clock master
21+
"lj-slave" - left-justified mode, SSI is clock slave
22+
"lj-master" - l.j. mode, SSI is clock master
23+
"rj-slave" - right-justified mode, SSI is clock slave
24+
"rj-master" - r.j., SSI is clock master
25+
"ac97-slave" - AC97 mode, SSI is clock slave
26+
"ac97-master" - AC97 mode, SSI is clock master
27+
- fsl,playback-dma: Phandle to a node for the DMA channel to use for
2828
playback of audio. This is typically dictated by SOC
2929
design. See the notes below.
30-
- fsl,capture-dma: phandle to a node for the DMA channel to use for
30+
- fsl,capture-dma: Phandle to a node for the DMA channel to use for
3131
capture (recording) of audio. This is typically dictated
3232
by SOC design. See the notes below.
33+
- fsl,fifo-depth: The number of elements in the transmit and receive FIFOs.
34+
This number is the maximum allowed value for SFCSR[TFWM0].
35+
- fsl,ssi-asynchronous:
36+
If specified, the SSI is to be programmed in asynchronous
37+
mode. In this mode, pins SRCK, STCK, SRFS, and STFS must
38+
all be connected to valid signals. In synchronous mode,
39+
SRCK and SRFS are ignored. Asynchronous mode allows
40+
playback and capture to use different sample sizes and
41+
sample rates. Some drivers may require that SRCK and STCK
42+
be connected together, and SRFS and STFS be connected
43+
together. This would still allow different sample sizes,
44+
but not different sample rates.
3345

3446
Optional properties:
35-
- codec-handle : phandle to a 'codec' node that defines an audio
36-
codec connected to this SSI. This node is typically
37-
a child of an I2C or other control node.
47+
- codec-handle: Phandle to a 'codec' node that defines an audio
48+
codec connected to this SSI. This node is typically
49+
a child of an I2C or other control node.
3850

3951
Child 'codec' node required properties:
40-
- compatible : compatible list, contains the name of the codec
52+
- compatible: Compatible list, contains the name of the codec
4153

4254
Child 'codec' node optional properties:
43-
- clock-frequency : The frequency of the input clock, which typically
44-
comes from an on-board dedicated oscillator.
55+
- clock-frequency: The frequency of the input clock, which typically comes
56+
from an on-board dedicated oscillator.
4557

4658
Notes on fsl,playback-dma and fsl,capture-dma:
4759

arch/powerpc/Kconfig

Lines changed: 47 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ config PPC
111111
select HAVE_FTRACE_MCOUNT_RECORD
112112
select HAVE_DYNAMIC_FTRACE
113113
select HAVE_FUNCTION_TRACER
114+
select HAVE_FUNCTION_GRAPH_TRACER
114115
select ARCH_WANT_OPTIONAL_GPIOLIB
115116
select HAVE_IDE
116117
select HAVE_IOREMAP_PROT
@@ -312,7 +313,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
312313

313314
config KEXEC
314315
bool "kexec system call (EXPERIMENTAL)"
315-
depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL
316+
depends on BOOK3S && EXPERIMENTAL
316317
help
317318
kexec is a system call that implements the ability to shutdown your
318319
current kernel, and to start another kernel. It is like a reboot
@@ -409,6 +410,18 @@ config PPC_HAS_HASH_64K
409410
depends on PPC64
410411
default n
411412

413+
config STDBINUTILS
414+
bool "Using standard binutils settings"
415+
depends on 44x
416+
default y
417+
help
418+
Turning this option off allows you to select 256KB PAGE_SIZE on 44x.
419+
Note, that kernel will be able to run only those applications,
420+
which had been compiled using binutils later than 2.17.50.0.3 with
421+
'-zmax-page-size' set to 256K (the default is 64K). Or, if using
422+
the older binutils, you can patch them with a trivial patch, which
423+
changes the ELF_MAXPAGESIZE definition from 0x10000 to 0x40000.
424+
412425
choice
413426
prompt "Page size"
414427
default PPC_4K_PAGES
@@ -444,6 +457,19 @@ config PPC_64K_PAGES
444457
bool "64k page size" if 44x || PPC_STD_MMU_64
445458
select PPC_HAS_HASH_64K if PPC_STD_MMU_64
446459

460+
config PPC_256K_PAGES
461+
bool "256k page size" if 44x
462+
depends on !STDBINUTILS && (!SHMEM || BROKEN)
463+
help
464+
Make the page size 256k.
465+
466+
As the ELF standard only requires alignment to support page
467+
sizes up to 64k, you will need to compile all of your user
468+
space applications with a non-standard binutils settings
469+
(see the STDBINUTILS description for details).
470+
471+
Say N unless you know what you are doing.
472+
447473
endchoice
448474

449475
config FORCE_MAX_ZONEORDER
@@ -456,6 +482,8 @@ config FORCE_MAX_ZONEORDER
456482
default "9" if PPC_STD_MMU_32 && PPC_16K_PAGES
457483
range 7 64 if PPC_STD_MMU_32 && PPC_64K_PAGES
458484
default "7" if PPC_STD_MMU_32 && PPC_64K_PAGES
485+
range 5 64 if PPC_STD_MMU_32 && PPC_256K_PAGES
486+
default "5" if PPC_STD_MMU_32 && PPC_256K_PAGES
459487
range 11 64
460488
default "11"
461489
help
@@ -594,6 +622,7 @@ config FSL_SOC
594622
config FSL_PCI
595623
bool
596624
select PPC_INDIRECT_PCI
625+
select PCI_QUIRKS
597626

598627
config 4xx_SOC
599628
bool
@@ -730,6 +759,22 @@ config LOWMEM_SIZE
730759
hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
731760
default "0x30000000"
732761

762+
config LOWMEM_CAM_NUM_BOOL
763+
bool "Set number of CAMs to use to map low memory"
764+
depends on ADVANCED_OPTIONS && FSL_BOOKE
765+
help
766+
This option allows you to set the maximum number of CAM slots that
767+
will be used to map low memory. There are a limited number of slots
768+
available and even more limited number that will fit in the L1 MMU.
769+
However, using more entries will allow mapping more low memory. This
770+
can be useful in optimizing the layout of kernel virtual memory.
771+
772+
Say N here unless you know what you are doing.
773+
774+
config LOWMEM_CAM_NUM
775+
int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL
776+
default 3
777+
733778
config RELOCATABLE
734779
bool "Build a relocatable kernel (EXPERIMENTAL)"
735780
depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
@@ -794,7 +839,7 @@ config PHYSICAL_START
794839

795840
config PHYSICAL_ALIGN
796841
hex
797-
default "0x10000000" if FSL_BOOKE
842+
default "0x04000000" if FSL_BOOKE
798843
help
799844
This value puts the alignment restrictions on physical address
800845
where kernel is loaded and run from. Kernel is compiled for an
@@ -815,31 +860,6 @@ config TASK_SIZE
815860
default "0x80000000" if PPC_PREP || PPC_8xx
816861
default "0xc0000000"
817862

818-
config CONSISTENT_START_BOOL
819-
bool "Set custom consistent memory pool address"
820-
depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
821-
help
822-
This option allows you to set the base virtual address
823-
of the consistent memory pool. This pool of virtual
824-
memory is used to make consistent memory allocations.
825-
826-
config CONSISTENT_START
827-
hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
828-
default "0xfd000000" if (NOT_COHERENT_CACHE && 8xx)
829-
default "0xff100000" if NOT_COHERENT_CACHE
830-
831-
config CONSISTENT_SIZE_BOOL
832-
bool "Set custom consistent memory pool size"
833-
depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
834-
help
835-
This option allows you to set the size of the
836-
consistent memory pool. This pool of virtual memory
837-
is used to make consistent memory allocations.
838-
839-
config CONSISTENT_SIZE
840-
hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
841-
default "0x00200000" if NOT_COHERENT_CACHE
842-
843863
config PIN_TLB
844864
bool "Pinned Kernel TLBs (860 ONLY)"
845865
depends on ADVANCED_OPTIONS && 8xx

arch/powerpc/Kconfig.debug

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ config BDI_SWITCH
129129

130130
config BOOTX_TEXT
131131
bool "Support for early boot text console (BootX or OpenFirmware only)"
132-
depends on PPC_OF && PPC_MULTIPLATFORM
132+
depends on PPC_OF && PPC_BOOK3S
133133
help
134134
Say Y here to see progress messages from the boot firmware in text
135135
mode. Requires either BootX or Open Firmware.

arch/powerpc/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,8 @@ core-y += arch/powerpc/kernel/ \
147147
arch/powerpc/mm/ \
148148
arch/powerpc/lib/ \
149149
arch/powerpc/sysdev/ \
150-
arch/powerpc/platforms/
151-
core-$(CONFIG_MATH_EMULATION) += arch/powerpc/math-emu/
150+
arch/powerpc/platforms/ \
151+
arch/powerpc/math-emu/
152152
core-$(CONFIG_XMON) += arch/powerpc/xmon/
153153
core-$(CONFIG_KVM) += arch/powerpc/kvm/
154154

arch/powerpc/boot/Makefile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c
7070
cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
7171
cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
7272
virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
73-
cuboot-acadia.c
73+
cuboot-acadia.c cuboot-amigaone.c
7474
src-boot := $(src-wlib) $(src-plat) empty.c
7575

7676
src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -235,7 +235,9 @@ image-$(CONFIG_PPC_ADDER875) += cuImage.adder875-uboot \
235235
dtbImage.adder875-redboot
236236

237237
# Board ports in arch/powerpc/platform/52xx/Kconfig
238-
image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200 cuImage.lite5200b
238+
image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200 lite5200.dtb
239+
image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200b lite5200b.dtb
240+
image-$(CONFIG_PPC_MEDIA5200) += cuImage.media5200 media5200.dtb
239241

240242
# Board ports in arch/powerpc/platform/82xx/Kconfig
241243
image-$(CONFIG_MPC8272_ADS) += cuImage.mpc8272ads
@@ -274,6 +276,9 @@ image-$(CONFIG_STORCENTER) += cuImage.storcenter
274276
image-$(CONFIG_MPC7448HPC2) += cuImage.mpc7448hpc2
275277
image-$(CONFIG_PPC_C2K) += cuImage.c2k
276278

279+
# Board port in arch/powerpc/platform/amigaone/Kconfig
280+
image-$(CONFIG_AMIGAONE) += cuImage.amigaone
281+
277282
# For 32-bit powermacs, build the COFF and miboot images
278283
# as well as the ELF images.
279284
ifeq ($(CONFIG_PPC32),y)

0 commit comments

Comments
 (0)