| /* SPDX-License-Identifier: GPL-2.0+ */ |
| /* |
| * (C) Copyright 2018 |
| * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc |
| */ |
| |
| #ifndef _MPC83XX_SOC_H_ |
| #define _MPC83XX_SOC_H_ |
| |
| enum soc_type { |
| SOC_MPC8308, |
| SOC_MPC8309, |
| SOC_MPC8313, |
| SOC_MPC8315, |
| SOC_MPC832X, |
| SOC_MPC8349, |
| SOC_MPC8360, |
| SOC_MPC8379, |
| }; |
| |
| static inline bool mpc83xx_has_sdhc(int type) |
| { |
| return (type == SOC_MPC8308) || |
| (type == SOC_MPC8309) || |
| (type == SOC_MPC8379); |
| } |
| |
| static inline bool mpc83xx_has_tsec(int type) |
| { |
| return (type == SOC_MPC8308) || |
| (type == SOC_MPC8313) || |
| (type == SOC_MPC8315) || |
| (type == SOC_MPC8349) || |
| (type == SOC_MPC8379); |
| } |
| |
| static inline bool mpc83xx_has_pcie1(int type) |
| { |
| return (type == SOC_MPC8308) || |
| (type == SOC_MPC8315) || |
| (type == SOC_MPC8379); |
| } |
| |
| static inline bool mpc83xx_has_pcie2(int type) |
| { |
| return (type == SOC_MPC8315) || |
| (type == SOC_MPC8379); |
| } |
| |
| static inline bool mpc83xx_has_sata(int type) |
| { |
| return (type == SOC_MPC8315) || |
| (type == SOC_MPC8379); |
| } |
| |
| static inline bool mpc83xx_has_pci(int type) |
| { |
| return type != SOC_MPC8308; |
| } |
| |
| static inline bool mpc83xx_has_second_i2c(int type) |
| { |
| return (type != SOC_MPC8315) && |
| (type != SOC_MPC832X); |
| } |
| |
| static inline bool mpc83xx_has_quicc_engine(int type) |
| { |
| return (type == SOC_MPC8309) || |
| (type == SOC_MPC832X) || |
| (type == SOC_MPC8360); |
| } |
| |
| #endif /* _MPC83XX_SOC_H_ */ |