Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:56

0001 /* SPDX-License-Identifier: BSD-2-Clause */
0002 
0003 /**
0004  * @file
0005  *
0006  * @ingroup RTEMSBSPsPowerPCMPC55XX
0007  *
0008  * @brief EBI calibration chip-select configuration.
0009  */
0010 
0011 /*
0012  * Copyright (C) 2008, 2012 embedded brains GmbH & Co. KG
0013  *
0014  * Redistribution and use in source and binary forms, with or without
0015  * modification, are permitted provided that the following conditions
0016  * are met:
0017  * 1. Redistributions of source code must retain the above copyright
0018  *    notice, this list of conditions and the following disclaimer.
0019  * 2. Redistributions in binary form must reproduce the above copyright
0020  *    notice, this list of conditions and the following disclaimer in the
0021  *    documentation and/or other materials provided with the distribution.
0022  *
0023  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0024  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0025  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0026  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0027  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0028  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0029  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0030  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0031  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0032  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0033  * POSSIBILITY OF SUCH DAMAGE.
0034  */
0035 
0036 #include <bsp/mpc55xx-config.h>
0037 
0038 #ifdef MPC55XX_HAS_EBI
0039 
0040 const struct EBI_CAL_CS_tag mpc55xx_start_config_ebi_cal_cs [] = {
0041 #if defined(MPC55XX_BOARD_MPC5674FEVB)
0042   /* External SRAM */
0043   {
0044     .BR = {
0045       .B = {
0046         .BA = 0x20000000 >> 15,
0047         .PS = 0,
0048         .AD_MUX = 1,
0049         .BL = 1,
0050         .WEBS = 0,
0051         .TBDIP = 1,
0052         .SETA = 0,
0053         .BI = 0,
0054         .V = 1
0055       }
0056     },
0057     .OR = {
0058       .B = {
0059         .AM = 0xfff80000 >> 15,
0060         .SCY = 0,
0061         .BSCY = 0
0062       }
0063     }
0064   },
0065   /* External Ethernet controller */
0066   {
0067     .BR = {
0068       .B = {
0069         .BA = 0x3fff8000 >> 15,
0070         .PS = 0,
0071         .AD_MUX = 1,
0072         .BL = 0,
0073         .WEBS = 0,
0074         .TBDIP = 0,
0075         .SETA = 0,
0076         .BI = 1,
0077         .V = 1
0078       }
0079     },
0080     .OR = {
0081       .B = {
0082         .AM = 0xfff80000 >> 15,
0083         .SCY = 1,
0084         .BSCY = 0
0085       }
0086     }
0087   }
0088 #elif defined(MPC55XX_BOARD_MPC5674F_ECU508) \
0089   && defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
0090   /* D_CS0 for external SRAM */
0091   {
0092     .BR = {
0093       .B = {
0094         .BA = 0x20000000 >> 15,
0095         .PS = 0,
0096         .AD_MUX = 1,
0097         .BL = 1,
0098         .WEBS = 0,
0099         .TBDIP = 1,
0100         .SETA = 0,
0101         .BI = 0,
0102         .V = 1
0103       }
0104     },
0105     .OR = {
0106       .B = {
0107         .AM = 0xffe00000 >> 15,
0108         .SCY = 0,
0109         .BSCY = 0
0110       }
0111     }
0112   },
0113 
0114   /* D_CS1 for Ethernet Controller */
0115   {
0116     .BR = {
0117       .B = {
0118         .BA = 0x3fff8000 >> 15,
0119         .PS = 0,
0120         .AD_MUX = 1,
0121         .BL = 0,
0122         .WEBS = 0,
0123         .TBDIP = 0,
0124         .SETA = 0,
0125         .BI = 1,
0126         .V = 1
0127       }
0128     },
0129     .OR = {
0130       .B = {
0131         .AM = 0xffff8000 >> 15,
0132         .SCY = 1,
0133         .BSCY = 0
0134       }
0135     }
0136   },
0137 
0138   /* D_CS2 unused */
0139   {
0140     .BR = {
0141       .B = {
0142         .BA = 0x20000000 >> 15,
0143         .PS = 0,
0144         .AD_MUX = 1,
0145         .BL = 0,
0146         .WEBS = 0,
0147         .TBDIP = 0,
0148         .SETA = 0,
0149         .BI = 1,
0150         .V = 0
0151       }
0152     },
0153     .OR = {
0154       .B = {
0155         .AM = 0xfff80000 >> 15,
0156         .SCY = 0,
0157         .BSCY = 0
0158       }
0159     }
0160   },
0161 
0162   /* D_CS3 for MRAM, ARCNET */
0163   {
0164     .BR = {
0165       .B = {
0166         .BA = 0x3ff80000 >> 15,
0167         .PS = 1,
0168         .AD_MUX = 1,
0169         .BL = 0,
0170         .WEBS = 1,
0171         .TBDIP = 0,
0172         .SETA = 0,
0173         .BI = 1,
0174         .V = 1
0175     }
0176   },
0177     .OR = {
0178       .B = {
0179         .AM = 0xfff80000 >> 15,
0180         .SCY = 1,
0181         .BSCY = 0
0182       }
0183     }
0184   }
0185 #elif defined(MPC55XX_BOARD_MPC5674F_RSM6)
0186   /* D_CS0 for MRAM */
0187   {
0188     .BR = {
0189       .B = {
0190         .BA = 0x20000000 >> 15,
0191         .PS = 0,
0192         .AD_MUX = 1,
0193         .BL = 0,
0194         .WEBS = 1,
0195         .TBDIP = 0,
0196         .SETA = 0,
0197         .BI = 1,
0198         .V = 1
0199       }
0200     },
0201     .OR = {
0202       .B = {
0203         .AM = 0xffc00000 >> 15,
0204         .SCY = 4,
0205         .BSCY = 0
0206       }
0207     }
0208   },
0209 
0210   /* D_CS1 for FPGA */
0211   {
0212     .BR = {
0213       .B = {
0214         .BA = 0x21000000 >> 15,
0215         .PS = 0,
0216         .AD_MUX = 1,
0217         .BL = 0,
0218         .WEBS = 0,
0219         .TBDIP = 0,
0220         .SETA = 0,
0221         .BI = 1,
0222         .V = 1
0223       }
0224     },
0225     .OR = {
0226       .B = {
0227         .AM = 0xff800000 >> 15,
0228         .SCY = 0,
0229         .BSCY = 0
0230       }
0231     }
0232   },
0233 
0234   /* D_CS2 unused */
0235   {
0236     .BR = { .R = 0x20000002 },
0237     .OR = { .R = 0xe0000000 }
0238   },
0239 
0240   /* D_CS3 for Ethernet Controller */
0241   {
0242     .BR = {
0243       .B = {
0244         .BA = 0x23000000 >> 15,
0245         .PS = 1,
0246         .AD_MUX = 1,
0247         .BL = 0,
0248         .WEBS = 1,
0249         .TBDIP = 0,
0250         .SETA = 0,
0251         .BI = 1,
0252         .V = 1
0253     }
0254   },
0255     .OR = {
0256       .B = {
0257         .AM = 0xfff80000 >> 15,
0258         .SCY = 8,
0259         .BSCY = 0
0260       }
0261     }
0262   }
0263 #endif
0264 };
0265 
0266 const size_t mpc55xx_start_config_ebi_cal_cs_count [] = {
0267   RTEMS_ARRAY_SIZE(mpc55xx_start_config_ebi_cal_cs)
0268 };
0269 
0270 #endif /* MPC55XX_HAS_EBI */