5611fe48c5
CTS-1000 is based on P4080. GPIO 27 is used to signal the FPGA to switch off power, and also associates IRQ 8 with front-panel button press (which we use to call orderly_poweroff()). The relevant device-tree looks like this: gpio0: gpio@130000 { compatible = "fsl,qoriq-gpio"; reg = <0x130000 0x1000>; interrupts = <55 2 0 0>; #gpio-cells = <2>; gpio-controller; /* Allows powering off the system via GPIO signal. */ gpio-halt@27 { compatible = "sgy,gpio-halt"; gpios = <&gpio0 27 0>; interrupts = <8 1 0 0>; }; }; Because the driver cannot match on sgy,gpio-halt (because the node is never processed through of_platform), it matches on fsl,qoriq-gpio and then checks child nodes for the matching sgy,gpio-halt. This also ensures that the GPIO controller is detected prior to sgy_cts1000's probe callback, since that node wont match via of_platform until the controller is registered. Also, because the GPIO handler for triggering system poweroff might sleep, the IRQ uses a workqueue to call orderly_poweroff(). As a final note, this driver may be expanded for other features specific to the CTS-1000. Signed-off-by: Ben Collins <ben.c@servergy.com> Cc: Jack Smith <jack.s@servergy.com> Cc: Vihar Rai <vihar.r@servergy.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
34 lines
1.2 KiB
Makefile
34 lines
1.2 KiB
Makefile
#
|
|
# Makefile for the PowerPC 85xx linux kernel.
|
|
#
|
|
obj-$(CONFIG_SMP) += smp.o
|
|
|
|
obj-y += common.o
|
|
|
|
obj-$(CONFIG_BSC9131_RDB) += bsc913x_rdb.o
|
|
obj-$(CONFIG_MPC8540_ADS) += mpc85xx_ads.o
|
|
obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads.o
|
|
obj-$(CONFIG_MPC85xx_CDS) += mpc85xx_cds.o
|
|
obj-$(CONFIG_MPC8536_DS) += mpc8536_ds.o
|
|
obj-$(CONFIG_MPC85xx_DS) += mpc85xx_ds.o
|
|
obj-$(CONFIG_MPC85xx_MDS) += mpc85xx_mds.o
|
|
obj-$(CONFIG_MPC85xx_RDB) += mpc85xx_rdb.o
|
|
obj-$(CONFIG_P1010_RDB) += p1010rdb.o
|
|
obj-$(CONFIG_P1022_DS) += p1022_ds.o
|
|
obj-$(CONFIG_P1022_RDK) += p1022_rdk.o
|
|
obj-$(CONFIG_P1023_RDS) += p1023_rds.o
|
|
obj-$(CONFIG_P2041_RDB) += p2041_rdb.o corenet_ds.o
|
|
obj-$(CONFIG_P3041_DS) += p3041_ds.o corenet_ds.o
|
|
obj-$(CONFIG_P4080_DS) += p4080_ds.o corenet_ds.o
|
|
obj-$(CONFIG_P5020_DS) += p5020_ds.o corenet_ds.o
|
|
obj-$(CONFIG_P5040_DS) += p5040_ds.o corenet_ds.o
|
|
obj-$(CONFIG_STX_GP3) += stx_gp3.o
|
|
obj-$(CONFIG_TQM85xx) += tqm85xx.o
|
|
obj-$(CONFIG_SBC8548) += sbc8548.o
|
|
obj-$(CONFIG_SOCRATES) += socrates.o socrates_fpga_pic.o
|
|
obj-$(CONFIG_KSI8560) += ksi8560.o
|
|
obj-$(CONFIG_XES_MPC85xx) += xes_mpc85xx.o
|
|
obj-$(CONFIG_GE_IMP3A) += ge_imp3a.o
|
|
obj-$(CONFIG_PPC_QEMU_E500) += qemu_e500.o
|
|
obj-$(CONFIG_SGY_CTS1000) += sgy_cts1000.o
|