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