uboot/include/fdt_support.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2007
   3 * Gerald Van Baren, Custom IDEAS, vanbaren@cideas.com
   4 *
   5 * See file CREDITS for list of people who contributed to this
   6 * project.
   7 *
   8 * This program is free software; you can redistribute it and/or
   9 * modify it under the terms of the GNU General Public License as
  10 * published by the Free Software Foundation; either version 2 of
  11 * the License, or (at your option) any later version.
  12 *
  13 * This program is distributed in the hope that it will be useful,
  14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16 * GNU General Public License for more details.
  17 *
  18 * You should have received a copy of the GNU General Public License
  19 * along with this program; if not, write to the Free Software
  20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  21 * MA 02111-1307 USA
  22 */
  23
  24#ifndef __FDT_SUPPORT_H
  25#define __FDT_SUPPORT_H
  26
  27#ifdef CONFIG_OF_LIBFDT
  28
  29#include <fdt.h>
  30
  31u32 fdt_getprop_u32_default(void *fdt, const char *path, const char *prop,
  32                                const u32 dflt);
  33int fdt_chosen(void *fdt, int force);
  34int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end, int force);
  35void do_fixup_by_path(void *fdt, const char *path, const char *prop,
  36                      const void *val, int len, int create);
  37void do_fixup_by_path_u32(void *fdt, const char *path, const char *prop,
  38                          u32 val, int create);
  39void do_fixup_by_prop(void *fdt,
  40                      const char *pname, const void *pval, int plen,
  41                      const char *prop, const void *val, int len,
  42                      int create);
  43void do_fixup_by_prop_u32(void *fdt,
  44                          const char *pname, const void *pval, int plen,
  45                          const char *prop, u32 val, int create);
  46void do_fixup_by_compat(void *fdt, const char *compat,
  47                        const char *prop, const void *val, int len, int create);
  48void do_fixup_by_compat_u32(void *fdt, const char *compat,
  49                            const char *prop, u32 val, int create);
  50int fdt_fixup_memory(void *blob, u64 start, u64 size);
  51void fdt_fixup_ethernet(void *fdt);
  52int fdt_find_and_setprop(void *fdt, const char *node, const char *prop,
  53                         const void *val, int len, int create);
  54void fdt_fixup_qe_firmware(void *fdt);
  55
  56#ifdef CONFIG_HAS_FSL_DR_USB
  57void fdt_fixup_dr_usb(void *blob, bd_t *bd);
  58#else
  59static inline void fdt_fixup_dr_usb(void *blob, bd_t *bd) {}
  60#endif /* CONFIG_HAS_FSL_DR_USB */
  61
  62#if defined(CONFIG_MPC85xx) || defined(CONFIG_MPC83xx)
  63void fdt_fixup_crypto_node(void *blob, int sec_rev);
  64#else
  65static inline void fdt_fixup_crypto_node(void *blob, int sec_rev) {}
  66#endif
  67
  68#ifdef CONFIG_PCI
  69#include <pci.h>
  70int fdt_pci_dma_ranges(void *blob, int phb_off, struct pci_controller *hose);
  71#endif
  72
  73#ifdef CONFIG_OF_BOARD_SETUP
  74void ft_board_setup(void *blob, bd_t *bd);
  75void ft_cpu_setup(void *blob, bd_t *bd);
  76void ft_pci_setup(void *blob, bd_t *bd);
  77#endif
  78
  79void set_working_fdt_addr(void *addr);
  80int fdt_resize(void *blob);
  81
  82int fdt_fixup_nor_flash_size(void *blob, int cs, u32 size);
  83
  84#endif /* ifdef CONFIG_OF_LIBFDT */
  85#endif /* ifndef __FDT_SUPPORT_H */
  86