1b987e98eSWoojung Huh /*
2b987e98eSWoojung Huh  * Microchip KSZ series switch platform data
3b987e98eSWoojung Huh  *
4b987e98eSWoojung Huh  * Copyright (C) 2017
5b987e98eSWoojung Huh  *
6b987e98eSWoojung Huh  * Permission to use, copy, modify, and/or distribute this software for any
7b987e98eSWoojung Huh  * purpose with or without fee is hereby granted, provided that the above
8b987e98eSWoojung Huh  * copyright notice and this permission notice appear in all copies.
9b987e98eSWoojung Huh  *
10b987e98eSWoojung Huh  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11b987e98eSWoojung Huh  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12b987e98eSWoojung Huh  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13b987e98eSWoojung Huh  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14b987e98eSWoojung Huh  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15b987e98eSWoojung Huh  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16b987e98eSWoojung Huh  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17b987e98eSWoojung Huh  */
18b987e98eSWoojung Huh 
19b987e98eSWoojung Huh #ifndef __MICROCHIP_KSZ_H
20b987e98eSWoojung Huh #define __MICROCHIP_KSZ_H
21b987e98eSWoojung Huh 
228b7a07c7SAndy Shevchenko #include <linux/types.h>
233bc05fafSVladimir Oltean #include <linux/platform_data/dsa.h>
24b987e98eSWoojung Huh 
25d16f1096SDaniel Danzberger enum ksz_chip_id {
26d16f1096SDaniel Danzberger 	KSZ8563_CHIP_ID = 0x8563,
27d16f1096SDaniel Danzberger 	KSZ8795_CHIP_ID = 0x8795,
28d16f1096SDaniel Danzberger 	KSZ8794_CHIP_ID = 0x8794,
29d16f1096SDaniel Danzberger 	KSZ8765_CHIP_ID = 0x8765,
3023de126fSPieter Van Trappen 	KSZ88X3_CHIP_ID = 0x8830,
31a96c5515STristram Ha 	KSZ8864_CHIP_ID = 0x8864,
32a96c5515STristram Ha 	KSZ8895_CHIP_ID = 0x8895,
33d16f1096SDaniel Danzberger 	KSZ9477_CHIP_ID = 0x00947700,
34d16f1096SDaniel Danzberger 	KSZ9896_CHIP_ID = 0x00989600,
35d16f1096SDaniel Danzberger 	KSZ9897_CHIP_ID = 0x00989700,
36d16f1096SDaniel Danzberger 	KSZ9893_CHIP_ID = 0x00989300,
37d16f1096SDaniel Danzberger 	KSZ9563_CHIP_ID = 0x00956300,
383723b56dSPhilippe Schenker 	KSZ8567_CHIP_ID = 0x00856700,
39d16f1096SDaniel Danzberger 	KSZ9567_CHIP_ID = 0x00956700,
40d16f1096SDaniel Danzberger 	LAN9370_CHIP_ID = 0x00937000,
41d16f1096SDaniel Danzberger 	LAN9371_CHIP_ID = 0x00937100,
42d16f1096SDaniel Danzberger 	LAN9372_CHIP_ID = 0x00937200,
43d16f1096SDaniel Danzberger 	LAN9373_CHIP_ID = 0x00937300,
44d16f1096SDaniel Danzberger 	LAN9374_CHIP_ID = 0x00937400,
45*16220cb3STristram Ha 	LAN9646_CHIP_ID = 0x00964600,
46d16f1096SDaniel Danzberger };
47d16f1096SDaniel Danzberger 
48b987e98eSWoojung Huh struct ksz_platform_data {
493bc05fafSVladimir Oltean 	/* Must be first such that dsa_register_switch() can access it */
503bc05fafSVladimir Oltean 	struct dsa_chip_data cd;
51b987e98eSWoojung Huh 	u32 chip_id;
52b987e98eSWoojung Huh };
53b987e98eSWoojung Huh 
54b987e98eSWoojung Huh #endif
55