Skip to content

Commit 5a62f99

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: (72 commits) powerpc/pseries: Fix build of topology stuff without CONFIG_NUMA powerpc/pseries: Fix VPHN build errors on non-SMP systems powerpc/83xx: add mpc8308_p1m DMA controller device-tree node powerpc/83xx: add DMA controller to mpc8308 device-tree node powerpc/512x: try to free dma descriptors in case of allocation failure powerpc/512x: add MPC8308 dma support powerpc/512x: fix the hanged dma transfer issue powerpc/512x: scatter/gather dma fix powerpc/powermac: Make auto-loading of therm_pm72 possible of/address: Use propper endianess in get_flags powerpc/pci: Use printf extension %pR for struct resource powerpc: Remove unnecessary casts of void ptr powerpc: Disable VPHN polling during a suspend operation powerpc/pseries: Poll VPA for topology changes and update NUMA maps powerpc: iommu: Add device name to iommu error printks powerpc: Record vma->phys_addr in ioremap() powerpc: Update compat_arch_ptrace powerpc: Fix PPC_PTRACE_SETHWDEBUG on PPC_BOOK3S powerpc/time: printk time stamp init not correct powerpc: Minor cleanups for machdep.h ...
2 parents f1d6d6c + 5d7d807 commit 5a62f99

Some content is hidden

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

88 files changed

+2071
-712
lines changed

Documentation/kernel-parameters.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,10 @@ and is between 256 and 4096 characters. It is defined in the file
403403
bttv.pll= See Documentation/video4linux/bttv/Insmod-options
404404
bttv.tuner= and Documentation/video4linux/bttv/CARDLIST
405405

406+
bulk_remove=off [PPC] This parameter disables the use of the pSeries
407+
firmware feature for flushing multiple hpte entries
408+
at a time.
409+
406410
c101= [NET] Moxa C101 synchronous serial card
407411

408412
cachesize= [BUGS=X86-32] Override level 2 CPU cache size detection.
@@ -1490,6 +1494,10 @@ and is between 256 and 4096 characters. It is defined in the file
14901494
mtdparts= [MTD]
14911495
See drivers/mtd/cmdlinepart.c.
14921496

1497+
multitce=off [PPC] This parameter disables the use of the pSeries
1498+
firmware feature for updating multiple TCE entries
1499+
at a time.
1500+
14931501
onenand.bdry= [HW,MTD] Flex-OneNAND Boundary Configuration
14941502

14951503
Format: [die0_boundary][,die0_lock][,die1_boundary][,die1_lock]

Documentation/powerpc/booting-without-of.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ order to avoid the degeneration that had become the ppc32 kernel entry
131131
point and the way a new platform should be added to the kernel. The
132132
legacy iSeries platform breaks those rules as it predates this scheme,
133133
but no new board support will be accepted in the main tree that
134-
doesn't follows them properly. In addition, since the advent of the
134+
doesn't follow them properly. In addition, since the advent of the
135135
arch/powerpc merged architecture for ppc32 and ppc64, new 32-bit
136136
platforms and 32-bit platforms which move into arch/powerpc will be
137137
required to use these rules as well.
@@ -1025,7 +1025,7 @@ dtc source code can be found at
10251025

10261026
WARNING: This version is still in early development stage; the
10271027
resulting device-tree "blobs" have not yet been validated with the
1028-
kernel. The current generated bloc lacks a useful reserve map (it will
1028+
kernel. The current generated block lacks a useful reserve map (it will
10291029
be fixed to generate an empty one, it's up to the bootloader to fill
10301030
it up) among others. The error handling needs work, bugs are lurking,
10311031
etc...
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
PPC4xx Clock Power Management (CPM) node
2+
3+
Required properties:
4+
- compatible : compatible list, currently only "ibm,cpm"
5+
- dcr-access-method : "native"
6+
- dcr-reg : < DCR register range >
7+
8+
Optional properties:
9+
- er-offset : All 4xx SoCs with a CPM controller have
10+
one of two different order for the CPM
11+
registers. Some have the CPM registers
12+
in the following order (ER,FR,SR). The
13+
others have them in the following order
14+
(SR,ER,FR). For the second case set
15+
er-offset = <1>.
16+
- unused-units : specifier consist of one cell. For each
17+
bit in the cell, the corresponding bit
18+
in CPM will be set to turn off unused
19+
devices.
20+
- idle-doze : specifier consist of one cell. For each
21+
bit in the cell, the corresponding bit
22+
in CPM will be set to turn off unused
23+
devices. This is usually just CPM[CPU].
24+
- standby : specifier consist of one cell. For each
25+
bit in the cell, the corresponding bit
26+
in CPM will be set on standby and
27+
restored on resume.
28+
- suspend : specifier consist of one cell. For each
29+
bit in the cell, the corresponding bit
30+
in CPM will be set on suspend (mem) and
31+
restored on resume. Note, for standby
32+
and suspend the corresponding bits can
33+
be different or the same. Usually for
34+
standby only class 2 and 3 units are set.
35+
However, the interface does not care.
36+
If they are the same, the additional
37+
power saving will be seeing if support
38+
is available to put the DDR in self
39+
refresh mode and any additional power
40+
saving techniques for the specific SoC.
41+
42+
Example:
43+
CPM0: cpm {
44+
compatible = "ibm,cpm";
45+
dcr-access-method = "native";
46+
dcr-reg = <0x160 0x003>;
47+
er-offset = <0>;
48+
unused-units = <0x00000100>;
49+
idle-doze = <0x02000000>;
50+
standby = <0xfeff0000>;
51+
suspend = <0xfeff791d>;
52+
};

arch/powerpc/Kconfig

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ config WORD_SIZE
2020
config ARCH_PHYS_ADDR_T_64BIT
2121
def_bool PPC64 || PHYS_64BIT
2222

23+
config ARCH_DMA_ADDR_T_64BIT
24+
def_bool ARCH_PHYS_ADDR_T_64BIT
25+
2326
config MMU
2427
bool
2528
default y
@@ -209,7 +212,7 @@ config ARCH_HIBERNATION_POSSIBLE
209212
config ARCH_SUSPEND_POSSIBLE
210213
def_bool y
211214
depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \
212-
PPC_85xx || PPC_86xx || PPC_PSERIES
215+
PPC_85xx || PPC_86xx || PPC_PSERIES || 44x || 40x
213216

214217
config PPC_DCR_NATIVE
215218
bool
@@ -595,13 +598,11 @@ config EXTRA_TARGETS
595598

596599
If unsure, leave blank
597600

598-
if !44x || BROKEN
599601
config ARCH_WANTS_FREEZER_CONTROL
600602
def_bool y
601603
depends on ADB_PMU
602604

603605
source kernel/power/Kconfig
604-
endif
605606

606607
config SECCOMP
607608
bool "Enable seccomp to safely compute untrusted bytecode"
@@ -682,6 +683,15 @@ config FSL_PMC
682683
Freescale MPC85xx/MPC86xx power management controller support
683684
(suspend/resume). For MPC83xx see platforms/83xx/suspend.c
684685

686+
config PPC4xx_CPM
687+
bool
688+
default y
689+
depends on SUSPEND && (44x || 40x)
690+
help
691+
PPC4xx Clock Power Management (CPM) support (suspend/resume).
692+
It also enables support for two different idle states (idle-wait
693+
and idle-doze).
694+
685695
config 4xx_SOC
686696
bool
687697

arch/powerpc/boot/dts/canyonlands.dts

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,15 @@
105105
dcr-reg = <0x00c 0x002>;
106106
};
107107

108+
CPM0: cpm {
109+
compatible = "ibm,cpm";
110+
dcr-access-method = "native";
111+
dcr-reg = <0x160 0x003>;
112+
unused-units = <0x00000100>;
113+
idle-doze = <0x02000000>;
114+
standby = <0xfeff791d>;
115+
};
116+
108117
L2C0: l2c {
109118
compatible = "ibm,l2-cache-460ex", "ibm,l2-cache";
110119
dcr-reg = <0x020 0x008 /* Internal SRAM DCR's */
@@ -270,28 +279,6 @@
270279
interrupts = <0x1 0x4>;
271280
};
272281

273-
UART2: serial@ef600500 {
274-
device_type = "serial";
275-
compatible = "ns16550";
276-
reg = <0xef600500 0x00000008>;
277-
virtual-reg = <0xef600500>;
278-
clock-frequency = <0>; /* Filled in by U-Boot */
279-
current-speed = <0>; /* Filled in by U-Boot */
280-
interrupt-parent = <&UIC1>;
281-
interrupts = <28 0x4>;
282-
};
283-
284-
UART3: serial@ef600600 {
285-
device_type = "serial";
286-
compatible = "ns16550";
287-
reg = <0xef600600 0x00000008>;
288-
virtual-reg = <0xef600600>;
289-
clock-frequency = <0>; /* Filled in by U-Boot */
290-
current-speed = <0>; /* Filled in by U-Boot */
291-
interrupt-parent = <&UIC1>;
292-
interrupts = <29 0x4>;
293-
};
294-
295282
IIC0: i2c@ef600700 {
296283
compatible = "ibm,iic-460ex", "ibm,iic";
297284
reg = <0xef600700 0x00000014>;

arch/powerpc/boot/dts/kilauea.dts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,15 @@
8282
interrupt-parent = <&UIC0>;
8383
};
8484

85+
CPM0: cpm {
86+
compatible = "ibm,cpm";
87+
dcr-access-method = "native";
88+
dcr-reg = <0x0b0 0x003>;
89+
unused-units = <0x00000000>;
90+
idle-doze = <0x02000000>;
91+
standby = <0xe3e74800>;
92+
};
93+
8594
plb {
8695
compatible = "ibm,plb-405ex", "ibm,plb4";
8796
#address-cells = <1>;

arch/powerpc/boot/dts/mpc8308_p1m.dts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,14 @@
297297
interrupt-parent = < &ipic >;
298298
};
299299

300+
dma@2c000 {
301+
compatible = "fsl,mpc8308-dma", "fsl,mpc5121-dma";
302+
reg = <0x2c000 0x1800>;
303+
interrupts = <3 0x8
304+
94 0x8>;
305+
interrupt-parent = < &ipic >;
306+
};
307+
300308
};
301309

302310
pci0: pcie@e0009000 {

arch/powerpc/boot/dts/mpc8308rdb.dts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,14 @@
265265
interrupt-parent = < &ipic >;
266266
};
267267

268+
dma@2c000 {
269+
compatible = "fsl,mpc8308-dma", "fsl,mpc5121-dma";
270+
reg = <0x2c000 0x1800>;
271+
interrupts = <3 0x8
272+
94 0x8>;
273+
interrupt-parent = < &ipic >;
274+
};
275+
268276
};
269277

270278
pci0: pcie@e0009000 {

arch/powerpc/configs/40x/kilauea_defconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ CONFIG_MODULES=y
1212
CONFIG_MODULE_UNLOAD=y
1313
# CONFIG_BLK_DEV_BSG is not set
1414
CONFIG_KILAUEA=y
15+
CONFIG_NO_HZ=y
16+
CONFIG_HIGH_RES_TIMERS=y
1517
# CONFIG_WALNUT is not set
1618
CONFIG_SPARSE_IRQ=y
1719
CONFIG_PCI=y
@@ -42,6 +44,9 @@ CONFIG_MTD_PHYSMAP_OF=y
4244
CONFIG_MTD_NAND=y
4345
CONFIG_MTD_NAND_NDFC=y
4446
CONFIG_PROC_DEVICETREE=y
47+
CONFIG_PM=y
48+
CONFIG_SUSPEND=y
49+
CONFIG_PPC4xx_CPM=y
4550
CONFIG_BLK_DEV_RAM=y
4651
CONFIG_BLK_DEV_RAM_SIZE=35000
4752
# CONFIG_MISC_DEVICES is not set

arch/powerpc/configs/44x/canyonlands_defconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ CONFIG_MTD_PHYSMAP_OF=y
4242
CONFIG_MTD_NAND=y
4343
CONFIG_MTD_NAND_NDFC=y
4444
CONFIG_PROC_DEVICETREE=y
45+
CONFIG_PM=y
46+
CONFIG_SUSPEND=y
47+
CONFIG_PPC4xx_CPM=y
4548
CONFIG_BLK_DEV_RAM=y
4649
CONFIG_BLK_DEV_RAM_SIZE=35000
4750
# CONFIG_MISC_DEVICES is not set

0 commit comments

Comments
 (0)