From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chen Baozi Subject: Re: Problems when booting on OMAP5432 devboard Date: Mon, 1 Jul 2013 20:43:27 +0800 Message-ID: <20130701124327.GA25341@cbz-workstation> References: <4A3B65D6-D82D-44AB-8135-4F86A189ECA2@gmail.com> <1372671036.14691.49.camel@zakaz.uk.xensource.com> <1372672679.14691.50.camel@zakaz.uk.xensource.com> <92525597-A6A4-4B90-B497-18BD40A875D3@gmail.com> <1372678297.14691.61.camel@zakaz.uk.xensource.com> <46544C0F-F507-4DF3-8182-427D6A54687C@gmail.com> <1372680387.14691.62.camel@zakaz.uk.xensource.com> <1372682342.14691.65.camel@zakaz.uk.xensource.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="J2SCkAp4GZ/dPZZf" Return-path: Content-Disposition: inline In-Reply-To: <1372682342.14691.65.camel@zakaz.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: xen-arm@lists.xen.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org --J2SCkAp4GZ/dPZZf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Jul 01, 2013 at 01:39:02PM +0100, Ian Campbell wrote: > On Mon, 2013-07-01 at 20:32 +0800, Chen Baozi wrote: > > On Jul 1, 2013, at 8:06 PM, Ian Campbell wrote: > > > > > On Mon, 2013-07-01 at 20:00 +0800, Chen Baozi wrote: > > > > > >>> You device has 2GB RAM, what happens if you hack the DTS to say it only > > >>> has 1GB? > > >> > > >> Bingo! Compared to Arndale board, OMAP5432 uEVM's RAM is not yet 0x40000000~0xbfffffff, but 0x80000000~0xffffffff. After make the following change to DTS: > > >> > > >> memory { > > >> device_type = "memory" > > >> - reg = <0x80000000 0x80000000>; /* 2 GB */ > > >> + reg = <0x80000000 0x40000000>; /* 1 GB */ > > >> }; > > >> > > >> I can reach the output "Xen heap: 131072 pages Dom heap: 131072 pages". > > > > > > Excellent! > > > > > > So I guess if you keep the 2GB but put it at the right address it will > > > also work? > > > > I'm afraid no, :-( > > > > Here is how I load and boot the image both in 1GB case and 2G case (from u-boot): > > > > OMAP5430 EVM # fatload mmc 0 0x80000000 xen-uImage > > reading xen-uImage > > 902572 bytes read in 59 ms (14.6 MiB/s) > > OMAP5430 EVM # bootm 0x80000000 - > > ## Booting kernel from Legacy Image at 80000000 ... > > Image Name: > > Image Type: ARM Linux Kernel Image (uncompressed) > > Data Size: 902508 Bytes = 881.4 KiB > > Load Address: 80200000 > > Entry Point: 80200000 > > Verifying Checksum ... OK > > Loading Kernel Image ... OK > > OK > > > And I've also tried "fat load mmc 0 0x90000000 xen-uImage" in both > > cases. It works for 1GB but fails in 2GB case too. > > What is the base address of RAM on the A31 SoC? A31 SoC? I use OMAP5432 ES2.0 uEVM (OMAP5 Panda) board. The attachment is the dts file which the linux kernel uses on this board by default, which the memory line is: reg = <0x80000000 0x80000000>; /* 2 GB */ > I don't have a DTS for > an A31 system but all arch/arm/boot/dts/sun* (which covers A10 and A13 I > think) have it at 0x40000000. Which means that *if* your system has 2GB > then the correct memory line is: > reg = <0x40000000 0x80000000>; /* 2 GB */ > > Ian. > > --J2SCkAp4GZ/dPZZf Content-Type: audio/vnd.dts Content-Disposition: attachment; filename="omap5-panda.dts" Content-Transfer-Encoding: quoted-printable /*=0A * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.c= om/=0A *=0A * This program is free software; you can redistribute it and/or= modify=0A * it under the terms of the GNU General Public License version 2= as=0A * published by the Free Software Foundation.=0A */=0A/dts-v1/;=0A=0A= /include/ "omap5.dtsi"=0A=0A/ {=0A model =3D "TI OMAP5 EVM board";=0A compa= tible =3D "ti,omap5-panda", "ti,omap5";=0A=0A memory {=0A device_type =3D = "memory";=0A reg =3D <0x80000000 0x80000000>; /* 2 GB */=0A };=0A=0A vmmcs= d_fixed: fixedregulator-mmcsd {=0A compatible =3D "regulator-fixed";=0A r= egulator-name =3D "vmmcsd_fixed";=0A regulator-min-microvolt =3D <3000000>= ;=0A regulator-max-microvolt =3D <3000000>;=0A };=0A=0A leds {=0A compati= ble =3D "gpio-leds";=0A usr1 {=0A label =3D "usr1";=0A gpios =3D <&tca= 6424a 2 0>; /* TCA6424A P02, GRN_LED0 */=0A default-state =3D "off";=0A = };=0A usr2 {=0A label =3D "usr2";=0A gpios =3D <&tca6424a 3 0>; /* TCA= 6424A P03, GRN_LED1 */=0A default-state =3D "off";=0A };=0A usr3 {=0A = label =3D "usr3";=0A gpios =3D <&tca6424a 4 0>; /* TCA6424A P04, GRN_LED= 2 */=0A default-state =3D "off";=0A };=0A usr4 {=0A label =3D "usr4";= =0A gpios =3D <&tca6424a 5 0>; /* TCA6424A P05, GRN_LED3 */=0A default-= state =3D "off";=0A };=0A usr5 {=0A label =3D "usr5";=0A gpios =3D <&= tca6424a 6 0>; /* TCA6424A P06, GRN_LED4 */=0A default-state =3D "off";= =0A };=0A tcr {=0A label =3D "tcr";=0A gpios =3D <&tca6424a 17 0>; /*= TCA6424A P21, TC_LED_RED */=0A linux,default-trigger =3D "heartbeat";=0A= };=0A tcg {=0A label =3D "tcg";=0A gpios =3D <&tca6424a 18 0>; /* TC= A6424A P22, TC_LED_GRN */=0A default-state =3D "off";=0A };=0A tcb {=0A= label =3D "tcb";=0A gpios =3D <&tca6424a 19 0>; /* TCA6424A P23, TC_LE= D_BLUE */=0A default-state =3D "off";=0A };=0A };=0A=0A sound {=0A comp= atible =3D "ti,abe-twl6040";=0A ti,model =3D "PandaBoard5";=0A=0A ti,jack= -detection =3D <1>;=0A ti,mclk-freq =3D <19200000>;=0A=0A ti,mcpdm =3D <&= mcpdm>;=0A ti,mcbsp1 =3D <&mcbsp1>;=0A ti,mcbsp2 =3D <&mcbsp2>;=0A ti,ae= ss =3D <&aess>;=0A=0A ti,twl6040 =3D <&twl6040>;=0A=0A /* Audio routing *= /=0A ti,audio-routing =3D=0A "Headset Stereophone", "HSOL",=0A "Headse= t Stereophone", "HSOR",=0A "Line Out", "AUXL",=0A "Line Out", "AUXR",= =0A "HSMIC", "Headset Mic",=0A "Headset Mic", "Headset Mic Bias",=0A = "AFML", "Line In",=0A "AFMR", "Line In",=0A "Headset Playback", "PDM_DL= 1",=0A "PDM_UL1", "Capture",=0A "40122000.mcbsp Playback", "BT_VX_DL",= =0A "BT_VX_UL", "40122000.mcbsp Capture",=0A "40124000.mcbsp Playback",= "MM_EXT_DL",=0A "MM_EXT_UL", "40124000.mcbsp Capture";=0A };=0A=0A sound= _hdmi {=0A compatible =3D "ti,omap-hdmi-tpd12s015-audio";=0A ti,model =3D= "OMAP5HDMI";=0A=0A ti,hdmi_audio =3D <&hdmi>;=0A ti,level_shifter =3D <&= tpd12s015>;=0A };=0A=0A /* HS USB Port 2 RESET */=0A hsusb2_reset: hsusb2_r= eset_reg {=0A compatible =3D "regulator-fixed";=0A regulator-name =3D "hs= usb2_reset";=0A regulator-min-microvolt =3D <3300000>;=0A regulator-max-m= icrovolt =3D <3300000>;=0A gpio =3D <&gpio3 16 0>; /* gpio3_80 HUB_NRESET = */=0A startup-delay-us =3D <70000>;=0A enable-active-high;=0A };=0A=0A /*= HS USB Host PHY on PORT 2 */=0A hsusb2_phy: hsusb2_phy {=0A compatible = =3D "usb-nop-xceiv";=0A reset-supply =3D <&hsusb2_reset>;=0A };=0A=0A /* H= S USB Port 3 RESET */=0A hsusb3_reset: hsusb3_reset_reg {=0A compatible = =3D "regulator-fixed";=0A regulator-name =3D "hsusb3_reset";=0A regulator= -min-microvolt =3D <3300000>;=0A regulator-max-microvolt =3D <3300000>;=0A= gpio =3D <&gpio3 15 0>; /* gpio3_79 ETH_NRESET */=0A startup-delay-us = =3D <70000>;=0A enable-active-high;=0A };=0A=0A /* HS USB Host PHY on PORT= 3 */=0A hsusb3_phy: hsusb3_phy {=0A compatible =3D "usb-nop-xceiv";=0A r= eset-supply =3D <&hsusb3_reset>;=0A };=0A=0A /* hsusb2_phy is clocked by FR= EF_CLK1 i.e. auxclk1 */=0A clock_alias {=0A clock-name =3D "auxclk1_ck";= =0A clock-alias =3D "main_clk";=0A device =3D <&hsusb2_phy>;=0A clock-fr= equency =3D <19200000>; /* 19.2 MHz */=0A };=0A};=0A=0A&mmc1 {=0A vmmc-supp= ly =3D <&vmmcsd_fixed>;=0A vmmc-aux-supply =3D <&ldo9_reg>;=0A bus-width = =3D <4>;=0A};=0A=0A&mmc2 {=0A vmmc-supply =3D <&vmmcsd_fixed>;=0A vmmc-aux-= supply =3D <&ldo9_reg>;=0A bus-width =3D <8>;=0A ti,non-removable;=0A};=0A= =0A&mmc3 {=0A bus-width =3D <4>;=0A ti,non-removable;=0A};=0A=0A&mmc4 {=0A = status =3D "disabled";=0A};=0A=0A&mmc5 {=0A status =3D "disabled";=0A};=0A= =0A&i2c1 {=0A clock-frequency =3D <400000>;=0A=0A palmas: palmas@48 {=0A r= eg =3D <0x48>;=0A /* SPI =3D 0, IRQ# =3D 7, 4 =3D active high level-sensit= ive */=0A interrupts =3D <0 7 4>; /* IRQ_SYS_1N cascaded to gic */=0A int= errupt-parent =3D <&gic>;=0A };=0A=0A twl6040: twl@4b {=0A compatible =3D = "ti,twl6040";=0A=0A interrupts =3D <0 119 4>; /* IRQ_SYS_2N cascaded to gi= c */=0A interrupt-parent =3D <&gic>;=0A ti,audpwron-gpio =3D <&gpio5 13 0= >; /* gpio line 141 */=0A=0A vio-supply =3D <&smps7_reg>;=0A v2v1-supply= =3D <&smps9_reg>;=0A enable-active-high;=0A };=0A};=0A=0A=0A&i2c5 {=0A tc= a6424a: tca6424a@22 {=0A compatible =3D "ti,tca6424a";=0A reg =3D <0x22>;= =0A gpio-controller;=0A #gpio-cells =3D <2>;=0A };=0A};=0A=0A&omap5_pmx_c= ore {=0A pinctrl-names =3D "default";=0A pinctrl-0 =3D <=0A &twl6040_pins= =0A &mcpdm_pins=0A &dmic_pins=0A &mcbsp1_pins=0A &mcbsp2_pins=0A = &i2c5_pins=0A &usbhost_pins=0A &dss_hdmi_pins=0A &tpd12s015_pins=0A >= ;=0A=0A twl6040_pins: pinmux_twl6040_pins {=0A pinctrl-single,pins =3D <= =0A 0x17e 0x6 /* mcspi1_somi.gpio5_141 OUTPUT | MODE6 */=0A >;=0A };=0A= =0A mcpdm_pins: pinmux_mcpdm_pins {=0A pinctrl-single,pins =3D <=0A 0x14= 2 0x108 /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */=0A 0x15c 0x108 /* = abemcpdm_ul_data.abemcpdm_ul_data INPUT PULLDOWN | MODE0 */=0A 0x15e 0x10= 8 /* abemcpdm_dl_data.abemcpdm_dl_data INPUT PULLDOWN | MODE0 */=0A 0x160= 0x118 /* abemcpdm_frame.abemcpdm_frame INPUT PULLUP | MODE0 */=0A 0x162 = 0x108 /* abemcpdm_lb_clk.abemcpdm_lb_clk INPUT PULLDOWN | MODE0 */=0A >;= =0A };=0A=0A dmic_pins: pinmux_dmic_pins {=0A pinctrl-single,pins =3D <=0A= 0x144 0x100 /* abedmic_din1.abedmic_din1 INPUT | MODE0 */=0A 0x146 0x1= 00 /* abedmic_din2.abedmic_din2 INPUT | MODE0 */=0A 0x148 0x100 /* abedmi= c_din3.abedmic_din3 INPUT | MODE0 */=0A 0x14a 0 /* abedmic_clk1.abedmic_= clk1 OUTPUT | MODE0 */=0A >;=0A };=0A=0A mcbsp1_pins: pinmux_mcbsp1_pins {= =0A pinctrl-single,pins =3D <=0A 0x14c 0x101 /* abedmic_clk2.abemcbsp1_f= sx INPUT | MODE1 */=0A 0x14e 0x9 /* abedmic_clk3.abemcbsp1_dx OUTPUT PULL= DOWN | MODE1 */=0A 0x150 0x101 /* abeslimbus1_clock.abemcbsp1_clkx INPUT = | MODE0 */=0A 0x152 0x109 /* abeslimbus1_data.abemcbsp1_dr INPUT PULLDOWN= | MODE1 */=0A >;=0A };=0A=0A mcbsp2_pins: pinmux_mcbsp2_pins {=0A pinctr= l-single,pins =3D <=0A 0x154 0x108 /* abemcbsp2_dr.abemcbsp2_dr INPUT PUL= LDOWN | MODE0 */=0A 0x156 0x8 /* abemcbsp2_dx.abemcbsp2_dx OUTPUT PULLDOW= N | MODE0 */=0A 0x158 0x100 /* abemcbsp2_fsx.abemcbsp2_fsx INPUT | MODE0 = */=0A 0x15a 0x100 /* abemcbsp2_clkx.abemcbsp2_clkx INPUT | MODE0 */=0A >= ;=0A };=0A=0A i2c5_pins: pinmux_i2c5_pins {=0A pinctrl-single,pins =3D <= =0A 0x186 0x100 /* i2c5_scl.i2c5_scl INPUT | MODE0 */=0A 0x188 0x100 /*= i2c5_sda.i2c5_sda INPUT | MODE0 */=0A >;=0A };=0A=0A usbhost_pins: pinmux= _usbhost_pins {=0A pinctrl-single,pins =3D <=0A 0x84 0x100 /* usbb2_hsic= _strobe INPUT | MODE 0 */=0A 0x86 0x100 /* usbb2_hsic_data INPUT | MODE 0= */=0A=0A 0x19e 0x100 /* usbb3_hsic_strobe INPUT | MODE 0 */=0A 0x1a0 0= x100 /* usbb3_hsic_data INPUT | MODE 0 */=0A=0A 0x70 0x6 /* gpio3_80 OUTP= UT | MODE 6 HUB_NRESET */=0A 0x6e 0x6 /* gpio3_79 OUTPUT | MODE 6 ETH_NRE= SET */=0A >;=0A };=0A=0A dss_hdmi_pins: pinmux_dss_hdmi_pins {=0A pinctrl= -single,pins =3D <=0A 0x0fc 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MOD= E 0 */=0A 0x100 0x100 /* hdmi_scl.hdmi_scl INPUT | MODE 0 */=0A 0x102 0= x100 /* hdmi_sda.hdmi_sda INPUT | MODE 0 */=0A >;=0A };=0A=0A tpd12s015_pi= ns: pinmux_tpd12s015_pins {=0A pinctrl-single,pins =3D <=0A 0x0fe 0x116 = /* hdmi_hpd.gpio7_193 INPUT PULLDOWN | MODE6 */=0A >;=0A };=0A};=0A=0A&oma= p5_pmx_wkup {=0A pinctrl-names =3D "default";=0A pinctrl-0 =3D <=0A &usbh= ost_wkup_pins=0A >;=0A=0A usbhost_wkup_pins: pinmux_usbhost_wkup_pins {=0A = pinctrl-single,pins =3D <=0A 0x1A 0x0 /* fref_clk1_out OUTPUT | MODE 7 f= or USB hub clk */=0A >;=0A };=0A};=0A=0A&i2c5 {=0A tca6424a: tca6424a@22 {= =0A compatible =3D "ti,tca6424a";=0A gpio-controller;=0A #gpio-cells =3D= <2>;=0A reg =3D <0x22>;=0A };=0A};=0A=0A&usbhshost {=0A port2-mode =3D "e= hci-hsic";=0A port3-mode =3D "ehci-hsic";=0A};=0A=0A&usbhsehci {=0A phys = =3D <0 &hsusb2_phy &hsusb3_phy>;=0A};=0A=0A&hdmi {=0A tpd12s015: tpd12s015 = {=0A compatible =3D "ti,tpd12s015";=0A=0A gpios =3D <&tca6424a 0 0>, /* T= CA6424A P01, CT_CP_HDP */=0A <&tca6424a 1 0>, /* TCA6424A P00, LS_OE*/=0A= <&gpio7 1 0>; /* 193, HPD */=0A=0A hdmi-monitor {=0A compatible =3D = "ti,hdmi_panel";=0A };=0A=0A };=0A};=0A=0A/include/ "palmas.dtsi"=0A/inclu= de/ "twl6040.dtsi"=0A --J2SCkAp4GZ/dPZZf Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --J2SCkAp4GZ/dPZZf--