0
     �_’I|¥‰ÓMjqØ‚¦ð¬÷À¿      File not found.
     �¾À¿      File not found.
     �¾À¿      File not found.
  *   	ˆl–Ü4ý( ©³( 	Å€fàB¦-ÿÂ945_†I|¥�+ÂÁ ±    	/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright 2020,2022 NXP
 */

#ifndef __PHY_LVDS_H_
#define __PHY_LVDS_H_

/**
 * struct phy_configure_opts_lvds - LVDS configuration set
 * @bits_per_lane_and_dclk_cycle:	Number of bits per lane per differential
 *					clock cycle.
 * @differential_clk_rate:		Clock rate, in Hertz, of the LVDS
 *					differential clock.
 * @lanes:				Number of active, consecutive,
 *					data lanes, starting from lane 0,
 *					used for the transmissions.
 * @is_slave:				Boolean, true if the phy is a slave
 *					which works together with a master
 *					phy to support dual link transmission,
 *					otherwise a regular phy or a master phy.
 *
 * This structure is used to represent the configuration state of a LVDS phy.
 */
struct phy_configure_opts_lvds {
	unsigned int	bits_per_lane_and_dclk_cycle;
	unsigned long	differential_clk_rate;
	unsigned int	lanes;
	bool		is_slave;
};

#endif /* __PHY_LVDS_H_ */
     ˆ¿Ãƒg¾ÂÁ ñ    /* SPDX-License-Identifier: GPL-2.0 */
#ifndef _PGTABLE_NOPMD_H
#define _PGTABLE_NOPMD_H

#ifndef __ASSEMBLY__

#include <asm-generic/pgtable-nopud.h>

struct mm_struct;

#define __PAGETABLE_PMD_FOLDED 1

/*
 * Having the pmd type consist of a pud gets the size right, and allows
 * us to conceptually access the pud entry that this pmd is folded into
 * without casting.
 */
typedef struct { pud_t pud; } pmd_t;

#define PMD_SHIFT	PUD_SHIFT
#define PTRS_PER_PMD	1
#define PMD_SIZE  	(1UL << PMD_SHIFT)
#define PMD_MASK  	(~(PMD_SIZE-1))

/*
 * The "pud_xxx()" functions here are trivial for a folded two-level
 * setup: the pmd is never bad, and a pmd always exists (as it's folded
 * into the pud entry)
 */
static inline int pud_none(pud_t pud)		{ return 0; }
static inline int pud_bad(pud_t pud)		{ return 0; }
static inline int pud_present(pud_t pud)	{ return 1; }
static inline int pud_leaf(pud_t pud)		{ return 0; }
static inline void pud_clear(pud_t *pud)	{ }
#define pmd_ERROR(pmd)				(pud_ERROR((pmd).pud))

#define pud_populate(mm, pmd, pte)		do { } while (0)

/*
 * (pmds are folded into puds so this doesn't get actually called,
 * but the define is needed for a generic inline function.)
 */
#define set_pud(pudptr, pudval)			set_pmd((pmd_t *)(pudptr), (pmd_t) { pudval })

static inline pmd_t * pmd_offset(pud_t * pud, unsigned long address)
{
	return (pmd_t *)pud;
}
#define pmd_offset pmd_offset

#define pmd_val(x)				(pud_val((x).pud))
#define __pmd(x)				((pmd_t) { __pud(x) } )

#define pud_page(pud)				(pmd_page((pmd_t){ pud }))
#define pud_pgtable(pud)			((pmd_t *)(pmd_page_vaddr((pmd_t){ pud })))

/*
 * allocating and freeing a pmd is trivial: the 1-entry pmd is
 * inside the pud, so has no extra memory associated with it.
 */
#define pmd_alloc_one(mm, address)		NULL
static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd)
{
}
#define pmd_free_tlb(tlb, x, a)		do { } while (0)

#undef  pmd_addr_end
#define pmd_addr_end(addr, end)			(end)

#endif /* __ASSEMBLY__ */

#endif /* _PGTABLE_NOPMD_H */
  	   ˆ¿Ã0ÂÁ     ˆ¿Ãƒe¦Ý¾ÂÁ �    /*
 * Platform information definitions for the
 * universal Freescale Ethernet driver.
 *
 * Copyright (c) 2003 Intracom S.A. 
 *  by Pantelis Antoniou <panto@intracom.gr>
 *
 * 2005 (c) MontaVista Software, Inc. 
 * Vitaly Bordug <vbordug@ru.mvista.com>
 *
 * This file is licensed under the terms of the GNU General Public License 
 * version 2. This program is licensed "as is" without any warranty of any 
 * kind, whether express or implied.
 */

#ifndef FS_ENET_PD_H
#define FS_ENET_PD_H

#include <linux/clk.h>
#include <linux/string.h>
#include <linux/of_mdio.h>
#include <linux/if_ether.h>
#include <asm/types.h>

#define FS_ENET_NAME	"fs_enet"

enum fs_id {
	fsid_fec1,
	fsid_fec2,
	fsid_fcc1,
	fsid_fcc2,
	fsid_fcc3,
	fsid_scc1,
	fsid_scc2,
	fsid_scc3,
	fsid_scc4,
};

#define FS_MAX_INDEX	9

static inline int fs_get_fec_index(enum f