PPC32: Add rtc hooks to katana + fw bug workaround
PATCH 1/1 PPC32: Add rtc hooks to katana + fw bug workaround
Add rtc hooks to katana and workaround firmware bug.
- Now that the mv64xxx i2c and m41t00 i2c rtc drivers are in the source base, add hooks to the katana file to use that rtc.
- A recent version of the katana firmware incorrectly changes the mv64x60's pci vendor & device id so this patch puts back the proper values.
- Misc. cleanup and update of the default config file.
Please apply.
Signed-off-by Mark A. Greer <[email protected]>
arch/ppc/configs/katana_defconfig +95 -4
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.11-rc4 -# Tue Feb 15 14:27:12 2005 +# Linux kernel version: 2.6.11 +# Tue Mar 8 17:31:00 2005 # CONFIG_MMU=y CONFIG_GENERIC_HARDIRQS=y
@@ -36,6 +36,7 @@ # CONFIG_EMBEDDED is not set CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -45,6 +46,7 @@ CONFIG_CC_ALIGN_LOOPS=0 CONFIG_CC_ALIGN_JUMPS=0 # CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 # # Loadable module support
@@ -70,6 +72,7 @@ CONFIG_ALTIVEC=y # CONFIG_TAU is not set # CONFIG_CPU_FREQ is not set +# CONFIG_83xx is not set CONFIG_PPC_STD_MMU=y CONFIG_NOT_COHERENT_CACHE=y
@@ -93,6 +96,7 @@ # CONFIG_PRPMC750 is not set # CONFIG_PRPMC800 is not set # CONFIG_SANDPOINT is not set +# CONFIG_RADSTONE_PPC7D is not set # CONFIG_ADIR is not set # CONFIG_K2 is not set # CONFIG_PAL4 is not set
@@ -428,7 +432,6 @@ # CONFIG_DGRS is not set # CONFIG_EEPRO100 is not set CONFIG_E100=y -# CONFIG_E100_NAPI is not set # CONFIG_FEALNX is not set # CONFIG_NATSEMI is not set # CONFIG_NE2K_PCI is not set
@@ -453,6 +456,10 @@ # CONFIG_SK98LIN is not set # CONFIG_VIA_VELOCITY is not set # CONFIG_TIGON3 is not set +CONFIG_MV643XX_ETH=y +CONFIG_MV643XX_ETH_0=y +CONFIG_MV643XX_ETH_1=y +CONFIG_MV643XX_ETH_2=y # # Ethernet (10000 Mbit)
@@ -575,7 +582,90 @@ # # I2C support # -# CONFIG_I2C is not set +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_I810 is not set +# CONFIG_I2C_ISA is not set +# CONFIG_I2C_MPC is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_PROSAVAGE is not set +# CONFIG_I2C_SAVAGE4 is not set +# CONFIG_SCx200_ACB is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set +# CONFIG_I2C_VOODOO3 is not set +# CONFIG_I2C_PCA_ISA is not set +CONFIG_I2C_MV64XXX=y + +# +# Hardware Sensors Chip support +# +# CONFIG_I2C_SENSOR is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_FSCHER is not set +# CONFIG_SENSORS_FSCPOS is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83627HF is not set + +# +# Other I2C Chip support +# +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_RTC8564 is not set +CONFIG_SENSORS_M41T00=y +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set # # Dallas's 1-wire bus
@@ -753,6 +843,7 @@ # Kernel hacking # # CONFIG_DEBUG_KERNEL is not set +# CONFIG_PRINTK_TIME is not set # # Security options
arch/ppc/platforms/katana.c +190 -160
424 lines not on this page · raw message
arch/ppc/platforms/katana.h +33 -2
@@ -3,7 +3,8 @@* * Definitions for Artesyn Katana750i/3750 board. * -* Tim Montgomery <[email protected]> +* Author: Tim Montgomery <[email protected]> +* Maintained by: Mark A. Greer <[email protected]> * * Based on code done by Rabeeh Khoury - [email protected] * Based on code done by Mark A. Greer <[email protected]>
@@ -221,4 +222,34 @@#endif -#endif /* __PPC_PLATFORMS_KATANA_H */ +static inline u32 +katana_bus_freq (void __iomem *cpld_base) +{ +u8 bd_cfg_0; + + bd_cfg_0 =in_8 (cpld_base +KATANA_CPLD_BD_CFG_0 ); + +switch (bd_cfg_0 &KATANA_CPLD_BD_CFG_0_SYSCLK_MASK ) { +case KATANA_CPLD_BD_CFG_0_SYSCLK_200 : +return 200000000 ; +break ; + +case KATANA_CPLD_BD_CFG_0_SYSCLK_166 : +return 166666666 ; +break ; + +case KATANA_CPLD_BD_CFG_0_SYSCLK_133 : +return 133333333 ; +break ; + +case KATANA_CPLD_BD_CFG_0_SYSCLK_100 : +return 100000000 ; +break ; + +default : +return 133333333 ; +break ; + } +} + +#endif /* __PPC_PLATFORMS_KATANA_H */