main.c (e697b8d13ede3893724898d983eff3f8c9183643) main.c (c272ef4403c271799a7f09a4ab7a236c86643843)
1/*
2 * Sonics Silicon Backplane
3 * Subsystem core
4 *
5 * Copyright 2005, Broadcom Corporation
6 * Copyright 2006, 2007, Michael Buesch <mb@bu3sch.de>
7 *
8 * Licensed under the GNU/GPL. See COPYING for details.

--- 858 unchanged lines hidden (view full) ---

867 }
868
869 return rate;
870}
871EXPORT_SYMBOL(ssb_clockspeed);
872
873static u32 ssb_tmslow_reject_bitmask(struct ssb_device *dev)
874{
1/*
2 * Sonics Silicon Backplane
3 * Subsystem core
4 *
5 * Copyright 2005, Broadcom Corporation
6 * Copyright 2006, 2007, Michael Buesch <mb@bu3sch.de>
7 *
8 * Licensed under the GNU/GPL. See COPYING for details.

--- 858 unchanged lines hidden (view full) ---

867 }
868
869 return rate;
870}
871EXPORT_SYMBOL(ssb_clockspeed);
872
873static u32 ssb_tmslow_reject_bitmask(struct ssb_device *dev)
874{
875 u32 rev = ssb_read32(dev, SSB_IDLOW) & SSB_IDLOW_SSBREV;
876
875 /* The REJECT bit changed position in TMSLOW between
876 * Backplane revisions. */
877 /* The REJECT bit changed position in TMSLOW between
878 * Backplane revisions. */
877 switch (ssb_read32(dev, SSB_IDLOW) & SSB_IDLOW_SSBREV) {
879 switch (rev) {
878 case SSB_IDLOW_SSBREV_22:
879 return SSB_TMSLOW_REJECT_22;
880 case SSB_IDLOW_SSBREV_23:
881 return SSB_TMSLOW_REJECT_23;
880 case SSB_IDLOW_SSBREV_22:
881 return SSB_TMSLOW_REJECT_22;
882 case SSB_IDLOW_SSBREV_23:
883 return SSB_TMSLOW_REJECT_23;
884 case SSB_IDLOW_SSBREV_24: /* TODO - find the proper REJECT bits */
885 case SSB_IDLOW_SSBREV_25: /* same here */
886 case SSB_IDLOW_SSBREV_26: /* same here */
887 case SSB_IDLOW_SSBREV_27: /* same here */
888 return SSB_TMSLOW_REJECT_23; /* this is a guess */
882 default:
889 default:
890 printk(KERN_INFO "ssb: Backplane Revision 0x%.8X\n", rev);
883 WARN_ON(1);
884 }
885 return (SSB_TMSLOW_REJECT_22 | SSB_TMSLOW_REJECT_23);
886}
887
888int ssb_device_is_enabled(struct ssb_device *dev)
889{
890 u32 val;

--- 271 unchanged lines hidden ---
891 WARN_ON(1);
892 }
893 return (SSB_TMSLOW_REJECT_22 | SSB_TMSLOW_REJECT_23);
894}
895
896int ssb_device_is_enabled(struct ssb_device *dev)
897{
898 u32 val;

--- 271 unchanged lines hidden ---