mpc86xx: Remove CONFIG_OF_FLAT_TREE for sbc8641d
PATCH 1/1 mpc86xx: Remove CONFIG_OF_FLAT_TREE for sbc8641d
Update sbc8641d reference board to use CONFIG_OF_LIBFDT.
Signed-off by: Joe Hamman <[email protected]>
board/sbc8641d/sbc8641d.c +41 -15
@@ -35,11 +35,8 @@#include <asm/immap_86xx.h> #include <asm/immap_fsl_pci.h> #include <spd.h> -adc42f..3d1d100 100644 --- a/board/sbc8641d/sbc8641d.c +++ b/board/sbc8641d/sbc8641d.c
@@ -35,11 +35,8 @@#inclu -#if defined(CONFIG_OF_FLAT_TREE ) -#include <ft_build.h> -extern void ft_cpu_setup (void *blob,bd_t * bd); -#endif +#include <libfdt.h> +#include <fdt_support.h> #if defined(CONFIG_DDR_ECC ) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER )extern void ddr_enable_ecc (unsigned int dram_size);
@@ -341,22 +338,51 @@ void pci_init_board(void) } -#if defined(CONFIG_OF_FLAT_TREE ) && defined(CONFIG_OF_BOARD_SETUP ) -void ft_board_setup (void *blob,bd_t * bd) +#if defined(CONFIG_OF_BOARD_SETUP ) +void +ft_board_setup (void *blob,bd_t *bd) { -u32 *p; -int len; +int node, tmp[2 ]; +const char *path; + +fdt_fixup_ethernet (blob, bd); -ft_cpu_setup (blob, bd); +do_fixup_by_prop_u32 (blob,"device_type" ,"cpu" ,4 , +"timebase-frequency" , bd->bi_busfreq /4 ,1 ); +do_fixup_by_prop_u32 (blob,"device_type" ,"cpu" ,4 , +"bus-frequency" , bd->bi_busfreq,1 ); +do_fixup_by_prop_u32 (blob,"device_type" ,"cpu" ,4 , +"clock-frequency" , bd->bi_intfreq,1 ); +do_fixup_by_prop_u32 (blob,"device_type" ,"soc" ,4 , +"bus-frequency" , bd->bi_busfreq,1 ); - p =ft_get_prop (blob,"/memory/reg" , &len); -if (p !=NULL ) { - *p++ =cpu_to_be32 (bd->bi_memstart); - *p =cpu_to_be32 (bd->bi_memsize); +do_fixup_by_compat_u32 (blob,"ns16550" , +"clock-frequency" , bd->bi_busfreq,1 ); + +fdt_fixup_memory (blob, bd->bi_memstart, bd->bi_memsize); + + node =fdt_path_offset (blob,"/aliases" ); + tmp[0 ] =0 ; +if (node >=0 ) { +#ifdef CONFIG_PCI1 + path =fdt_getprop (blob, node,"pci0" ,NULL ); +if (path) { + tmp[1 ] = pci1_hose.last_busno - pci1_hose.first_busno; +do_fixup_by_path (blob, path,"bus-range" , &tmp,8 ,1 ); + } +#endif +#ifdef CONFIG_PCI2 + path =fdt_getprop (blob, node,"pci1" ,NULL ); +if (path) { + tmp[1 ] = pci2_hose.last_busno - pci2_hose.first_busno; +do_fixup_by_path (blob, path,"bus-range" , &tmp,8 ,1 ); + } +#endif } }#endif +void sbc8641d_reset_board (void ) {puts ("Resetting board....\n" );
config.mk +0 -0
include/configs/sbc8641d.h +3 -7
@@ -267,13 +267,9 @@/* * Pass open firmware flat tree to kernel */ -#define CONFIG_OF_FLAT_TREE 1 -#define CONFIG_OF_BOARD_SETUP 1 - -#define OF_CPU "PowerPC,8641 at 0" -#define OF_SOC "soc at f8000000" -#define OF_TBCLK (bd->bi_busfreq / 4) -#define OF_STDOUT_PATH "/soc at f8000000/serial at 4500" +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 +#define CONFIG_OF_STDOUT_VIA_ALIAS 1#define CFG_64BIT_VSPRINTF 1#define CFG_64BIT_STRTOUL 1
PATCH 1/1 mpc86xx: Remove CONFIG_OF_FLAT_TREE for sbc8641d
Quoted 3 lines · Joe Hamman
Update sbc8641d reference board to use
CONFIG_OF_LIBFDT.Signed-off by: Joe Hamman <[email protected]>
I tried to apply this and had some issues.. seems like the diff got malformatted.
- k
PATCH 1/1 mpc86xx: Remove CONFIG_OF_FLAT_TREE for sbc8641d
In reply to Joe HammanQuoted 3 lines · Joe Hamman
Update sbc8641d reference board to use
CONFIG_OF_LIBFDT.Signed-off by: Joe Hamman <[email protected]>
Thanks, Joe, now I can decrement my counter. :-)
gvb