Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/82xx: add SPI support for mgcoge

Add spi support for mgcoge into the platform code and the dts
file. Additionaly SPIDEV is switched on in the defconfig and the
updates for the newer kernel version are committed. The SPI
interface is used to drive the Maxim DS3106 clock chip.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

authored by

Holger Brunck and committed by
Kumar Gala
5d1d67e3 7ee0bf53

+32 -8
+23
arch/powerpc/boot/dts/mgcoge.dts
··· 222 222 interrupt-parent = <&PIC>; 223 223 usb-clock = <5>; 224 224 }; 225 + spi@11aa0 { 226 + cell-index = <0>; 227 + compatible = "fsl,spi", "fsl,cpm2-spi"; 228 + reg = <0x11a80 0x40 0x89fc 0x2>; 229 + interrupts = <2 8>; 230 + interrupt-parent = <&PIC>; 231 + gpios = < &cpm2_pio_d 19 0>; 232 + #address-cells = <1>; 233 + #size-cells = <0>; 234 + ds3106@1 { 235 + compatible = "gen,spidev"; 236 + reg = <0>; 237 + spi-max-frequency = <8000000>; 238 + }; 239 + }; 240 + 241 + }; 242 + 243 + cpm2_pio_d: gpio-controller@10d60 { 244 + #gpio-cells = <2>; 245 + compatible = "fsl,cpm2-pario-bank"; 246 + reg = <0x10d60 0x14>; 247 + gpio-controller; 225 248 }; 226 249 227 250 cpm2_pio_c: gpio-controller@10d40 {
+4 -8
arch/powerpc/configs/mgcoge_defconfig
··· 2 2 # CONFIG_SWAP is not set 3 3 CONFIG_SYSVIPC=y 4 4 CONFIG_POSIX_MQUEUE=y 5 - CONFIG_SPARSE_IRQ=y 6 5 CONFIG_IKCONFIG=y 7 6 CONFIG_IKCONFIG_PROC=y 8 7 CONFIG_LOG_BUF_SHIFT=14 ··· 11 12 # CONFIG_PCSPKR_PLATFORM is not set 12 13 CONFIG_EMBEDDED=y 13 14 CONFIG_SLAB=y 15 + CONFIG_PARTITION_ADVANCED=y 14 16 # CONFIG_IOSCHED_CFQ is not set 15 17 # CONFIG_PPC_PMAC is not set 16 18 CONFIG_PPC_82xx=y ··· 49 49 CONFIG_BLK_DEV_LOOP=y 50 50 CONFIG_BLK_DEV_RAM=y 51 51 CONFIG_NETDEVICES=y 52 - CONFIG_FIXED_PHY=y 53 - CONFIG_NET_ETHERNET=y 54 52 CONFIG_FS_ENET=y 55 53 CONFIG_FS_ENET_MDIO_FCC=y 56 - # CONFIG_NETDEV_1000 is not set 57 - # CONFIG_NETDEV_10000 is not set 54 + CONFIG_FIXED_PHY=y 58 55 # CONFIG_WLAN is not set 59 56 # CONFIG_INPUT is not set 60 57 # CONFIG_SERIO is not set ··· 61 64 CONFIG_I2C=y 62 65 CONFIG_I2C_CHARDEV=y 63 66 CONFIG_I2C_CPM=y 67 + CONFIG_SPI=y 68 + CONFIG_SPI_FSL_SPI=y 64 69 # CONFIG_HWMON is not set 65 70 CONFIG_USB_GADGET=y 66 71 CONFIG_USB_FSL_USB2=y ··· 79 80 CONFIG_NFS_FS=y 80 81 CONFIG_NFS_V3=y 81 82 CONFIG_ROOT_NFS=y 82 - CONFIG_PARTITION_ADVANCED=y 83 - CONFIG_NLS=y 84 83 CONFIG_NLS_CODEPAGE_437=y 85 84 CONFIG_NLS_ASCII=y 86 85 CONFIG_NLS_ISO8859_1=y ··· 87 90 CONFIG_DEBUG_FS=y 88 91 # CONFIG_SCHED_DEBUG is not set 89 92 CONFIG_DEBUG_INFO=y 90 - CONFIG_SYSCTL_SYSCALL_CHECK=y 91 93 CONFIG_BDI_SWITCH=y 92 94 CONFIG_CRYPTO_ECB=y 93 95 CONFIG_CRYPTO_PCBC=y
+5
arch/powerpc/platforms/82xx/km82xx.c
··· 128 128 {3, 23, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, /* TXP */ 129 129 {3, 24, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY}, /* TXN */ 130 130 {3, 25, CPM_PIN_INPUT | CPM_PIN_PRIMARY}, /* RXD */ 131 + 132 + /* SPI */ 133 + {3, 16, CPM_PIN_INPUT | CPM_PIN_SECONDARY},/* SPI_MISO PD16 */ 134 + {3, 17, CPM_PIN_INPUT | CPM_PIN_SECONDARY},/* SPI_MOSI PD17 */ 135 + {3, 18, CPM_PIN_INPUT | CPM_PIN_SECONDARY},/* SPI_CLK PD18 */ 131 136 }; 132 137 133 138 static void __init init_ioports(void)