[LEDE-DEV] [PATCH] [ramips] Added NixCore X1 target V2

John Crispin john at phrozen.org
Wed Jun 8 21:50:03 PDT 2016


Hi Drew,

just sent a new version please.

	John

On 08/06/2016 20:52, John Crispin wrote:
> Hi Drew,
> 
> since CC a few things have changed. the new dts file looks good, i will
> merge it tomorrow, rebase the userland script changes and change the
> image generation code to the new style. i'll put the patch into my
> staging tree and let you know where to find it so you can test it.
> 
> Thanks,
> 	John
> 
> On 07/06/2016 21:13, Drew from NixCore wrote:
>> John,
>>
>> I took a look at the dtsi file and see how the dts is updating the
>> settings.  I have
>> a dts that builds, but I would like a sanity check before submitting the
>> patch again.
>>
>> http://pastebin.com/EunNmAf4
>>
>> If this looks good I will update the 16M DTS and then submit again.
>>
>> Thanks,
>>
>> Drew
>>
>> On 06/06/2016 11:12 PM, John Crispin wrote:
>>> Hi Drew,
>>>
>>> this patch seems to use the old devicetree layout and image building
>>> code. do you think you could rebase this and make it work ontop of
>>> latest source.git or do you need help to do that ? this patch wont apply
>>> as is.
>>>
>>> another question, did you build this yourself or is this a rebranded
>>> whitelabel product ? i think we already support this board (or one that
>>> looks almost identical, need to see if i can find it in my router zoo
>>> today)
>>>
>>>     John
>>>
>>> On 07/06/2016 02:16, Drew from NixCore wrote:
>>>> Added NixCore X1 ramips target http://nixcores.com. This builds 8M
>>>> and 16M
>>>> images
>>>>
>>>> Signed-off-by: Drew Gaylo <drew at nixcores.com>
>>>> diff --git a/target/linux/ramips/base-files/etc/board.d/02_network
>>>> b/target/linux/ramips/base-files/etc/board.d/02_network
>>>> index 4728c75..69c0125 100755
>>>> --- a/target/linux/ramips/base-files/etc/board.d/02_network
>>>> +++ b/target/linux/ramips/base-files/etc/board.d/02_network
>>>> @@ -77,6 +77,7 @@ ramips_setup_interfaces()
>>>>       mt7628|\
>>>>       mzk-750dhp|\
>>>>       mzk-w300nh2|\
>>>> +    nixcore|\
>>>>       oy-0001|\
>>>>       pbr-m1|\
>>>>       psg1208|\
>>>> diff --git a/target/linux/ramips/base-files/lib/ramips.sh
>>>> b/target/linux/ramips/base-files/lib/ramips.sh
>>>> index cbe455d..76f0e43 100755
>>>> --- a/target/linux/ramips/base-files/lib/ramips.sh
>>>> +++ b/target/linux/ramips/base-files/lib/ramips.sh
>>>> @@ -316,6 +316,9 @@ ramips_board_detect() {
>>>>       *"NCS601W")
>>>>           name="ncs601w"
>>>>           ;;
>>>> +    *"NixcoreX1")
>>>> +        name="nixcore-x1"
>>>> +        ;;
>>>>       *"NW718")
>>>>           name="nw718"
>>>>           ;;
>>>> diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh
>>>> b/target/linux/ramips/base-files/lib/upgrade/platform.sh
>>>> index 91c9997..0094568 100755
>>>> --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
>>>> +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
>>>> @@ -94,6 +94,7 @@ platform_check_image() {
>>>>       mzk-w300nh2|\
>>>>       mzk-wdpr|\
>>>>       nbg-419n|\
>>>> +    nixcore|\
>>>>       nw718|\
>>>>       oy-0001|\
>>>>       pbr-m1|\
>>>> diff --git a/target/linux/ramips/dts/NIXCOREX1-16M.dts
>>>> b/target/linux/ramips/dts/NIXCOREX1-16M.dts
>>>> new file mode 100644
>>>> index 0000000..c7ec410
>>>> --- /dev/null
>>>> +++ b/target/linux/ramips/dts/NIXCOREX1-16M.dts
>>>> @@ -0,0 +1,186 @@
>>>> +/dts-v1/;
>>>> +
>>>> +/include/ "rt5350.dtsi"
>>>> +
>>>> +/ {
>>>> +    compatible = "NixcoreX1", "ralink,rt5350-soc";
>>>> +    model = "NixcoreX1";
>>>> +
>>>> +    palmbus at 10000000 {
>>>> +        /* Re-enable the gpio1 ports */
>>>> +        gpio1: gpio at 660 {
>>>> +            status = "okay";
>>>> +        };
>>>> +
>>>> +        i2c at 900 {
>>>> +            status = "okay";
>>>> +        };
>>>> +        uart at 500 {
>>>> +            status = "okay";
>>>> +            /* Mix of uart and gpio */
>>>> +            reset-names = "gpio uartf";
>>>> +        };
>>>> +        spi at b00 {
>>>> +            status = "okay";
>>>> +
>>>> +            m25p80 at 0 {
>>>> +                #address-cells = <1>;
>>>> +                #size-cells = <1>;
>>>> +                compatible = "s25fl064k";
>>>> +                reg = <0>;
>>>> +                linux,modalias = "m25p80", "s25fl064k";
>>>> +                spi-max-frequency = <10000000>;
>>>> +
>>>> +                partition at 0 {
>>>> +                    label = "uboot";
>>>> +                    reg = <0x0 0x30000>;
>>>> +                    read-only;
>>>> +                };
>>>> +
>>>> +                partition at 30000 {
>>>> +                    label = "uboot-env";
>>>> +                    reg = <0x30000 0x10000>;
>>>> +                    read-only;
>>>> +                };
>>>> +
>>>> +                factory: partition at 40000 {
>>>> +                    label = "factory";
>>>> +                    reg = <0x40000 0x10000>;
>>>> +                    read-only;
>>>> +                };
>>>> +
>>>> +                partition at 50000 {
>>>> +                    label = "firmware";
>>>> +                    reg = <0x50000 0x7b0000>;
>>>> +                };
>>>> +            };
>>>> +
>>>> +            spidev at 1 {
>>>> +                compatible = "linux,spidev";
>>>> +                spi-max-frequency = <10000000>;
>>>> +                reg = <1>;
>>>> +            };
>>>> +        };
>>>> +    };
>>>> +
>>>> +    pinctrl {
>>>> +        state_default: pinctrl0 {
>>>> +            gpio {
>>>> +                /* Associate the tjag, uartf and led groups with
>>>> gpio */
>>>> +                ralink,group = "jtag", "led", "spi_cs1";
>>>> +                /* How do we set individual pins? */
>>>> +                ralink,function = "gpio";
>>>> +            };
>>>> +        };
>>>> +    };
>>>> +
>>>> +    ethernet at 10100000 {
>>>> +        mtd-mac-address = <&factory 0x4>;
>>>> +    };
>>>> +
>>>> +    esw at 10110000 {
>>>> +        ralink,portmap = <0x17>;
>>>> +    };
>>>> +
>>>> +    wmac at 10180000 {
>>>> +        ralink,mtd-eeprom = <&factory 0>;
>>>> +    };
>>>> +
>>>> +    ehci at 101c0000 {
>>>> +        status = "okay";
>>>> +    };
>>>> +
>>>> +    ohci at 101c1000 {
>>>> +        status = "okay";
>>>> +    };
>>>> +
>>>> +    chosen {
>>>> +        bootargs = "console=ttyS1,57600";
>>>> +    };
>>>> +    gpio-export {
>>>> +        compatible = "gpio-export";
>>>> +        #size-cells = <0>;
>>>> +
>>>> +        gpio0 {
>>>> +            gpio-export,name = "gpio0";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 0 0>;
>>>> +        };
>>>> +
>>>> +        /* GPIOs 1-6 are I2C,SPI */
>>>> +
>>>> +        /* GPIO 7-14 are uart1 */
>>>> +
>>>> +        /* GPIOs 15 & 16 are uart2 */
>>>> +
>>>> +        /* JTAG */
>>>> +        gpio17 {
>>>> +            /* JTAG_TDO */
>>>> +            gpio-export,name = "gpio17";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 17 0>;
>>>> +        };
>>>> +        gpio18 {
>>>> +            /* JTAG_TDI */
>>>> +            gpio-export,name = "gpio18";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 18 0>;
>>>> +        };
>>>> +        gpio19 {
>>>> +            /* JTAG_TMS */
>>>> +            gpio-export,name = "gpio19";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 19 0>;
>>>> +        };
>>>> +        gpio20 {
>>>> +            /* JTAG_TCLK */
>>>> +            gpio-export,name = "gpio20";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 20 0>;
>>>> +        };
>>>> +        gpio21 {
>>>> +            /* JTAG_TRST_N */
>>>> +            gpio-export,name = "gpio21";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 21 0>;
>>>> +        };
>>>> +
>>>> +        /* ETH LEDs */
>>>> +        /*
>>>> +        gpio22 {
>>>> +            gpio-export,name = "gpio22";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 0 0>;
>>>> +        };
>>>> +        gpio23 {
>>>> +            gpio-export,name = "gpio23";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 1 0>;
>>>> +        };
>>>> +        gpio24 {
>>>> +            gpio-export,name = "gpio24";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 2 0>;
>>>> +        };
>>>> +        gpio25 {
>>>> +            gpio-export,name = "gpio25";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 3 0>;
>>>> +        };
>>>> +        */
>>>> +        gpio26 {
>>>> +            /* ETH4_LED */
>>>> +            gpio-export,name = "gpio26";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 4 0>;
>>>> +        };
>>>> +
>>>> +        gpio27 {
>>>> +            /* spi_cs1 */
>>>> +            gpio-export,name = "gpio27";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 5 0>;
>>>> +        };
>>>> +    };
>>>> +
>>>> +};
>>>> diff --git a/target/linux/ramips/dts/NIXCOREX1-8M.dts
>>>> b/target/linux/ramips/dts/NIXCOREX1-8M.dts
>>>> new file mode 100644
>>>> index 0000000..c7ec410
>>>> --- /dev/null
>>>> +++ b/target/linux/ramips/dts/NIXCOREX1-8M.dts
>>>> @@ -0,0 +1,186 @@
>>>> +/dts-v1/;
>>>> +
>>>> +/include/ "rt5350.dtsi"
>>>> +
>>>> +/ {
>>>> +    compatible = "NixcoreX1", "ralink,rt5350-soc";
>>>> +    model = "NixcoreX1";
>>>> +
>>>> +    palmbus at 10000000 {
>>>> +        /* Re-enable the gpio1 ports */
>>>> +        gpio1: gpio at 660 {
>>>> +            status = "okay";
>>>> +        };
>>>> +
>>>> +        i2c at 900 {
>>>> +            status = "okay";
>>>> +        };
>>>> +        uart at 500 {
>>>> +            status = "okay";
>>>> +            /* Mix of uart and gpio */
>>>> +            reset-names = "gpio uartf";
>>>> +        };
>>>> +        spi at b00 {
>>>> +            status = "okay";
>>>> +
>>>> +            m25p80 at 0 {
>>>> +                #address-cells = <1>;
>>>> +                #size-cells = <1>;
>>>> +                compatible = "s25fl064k";
>>>> +                reg = <0>;
>>>> +                linux,modalias = "m25p80", "s25fl064k";
>>>> +                spi-max-frequency = <10000000>;
>>>> +
>>>> +                partition at 0 {
>>>> +                    label = "uboot";
>>>> +                    reg = <0x0 0x30000>;
>>>> +                    read-only;
>>>> +                };
>>>> +
>>>> +                partition at 30000 {
>>>> +                    label = "uboot-env";
>>>> +                    reg = <0x30000 0x10000>;
>>>> +                    read-only;
>>>> +                };
>>>> +
>>>> +                factory: partition at 40000 {
>>>> +                    label = "factory";
>>>> +                    reg = <0x40000 0x10000>;
>>>> +                    read-only;
>>>> +                };
>>>> +
>>>> +                partition at 50000 {
>>>> +                    label = "firmware";
>>>> +                    reg = <0x50000 0x7b0000>;
>>>> +                };
>>>> +            };
>>>> +
>>>> +            spidev at 1 {
>>>> +                compatible = "linux,spidev";
>>>> +                spi-max-frequency = <10000000>;
>>>> +                reg = <1>;
>>>> +            };
>>>> +        };
>>>> +    };
>>>> +
>>>> +    pinctrl {
>>>> +        state_default: pinctrl0 {
>>>> +            gpio {
>>>> +                /* Associate the tjag, uartf and led groups with
>>>> gpio */
>>>> +                ralink,group = "jtag", "led", "spi_cs1";
>>>> +                /* How do we set individual pins? */
>>>> +                ralink,function = "gpio";
>>>> +            };
>>>> +        };
>>>> +    };
>>>> +
>>>> +    ethernet at 10100000 {
>>>> +        mtd-mac-address = <&factory 0x4>;
>>>> +    };
>>>> +
>>>> +    esw at 10110000 {
>>>> +        ralink,portmap = <0x17>;
>>>> +    };
>>>> +
>>>> +    wmac at 10180000 {
>>>> +        ralink,mtd-eeprom = <&factory 0>;
>>>> +    };
>>>> +
>>>> +    ehci at 101c0000 {
>>>> +        status = "okay";
>>>> +    };
>>>> +
>>>> +    ohci at 101c1000 {
>>>> +        status = "okay";
>>>> +    };
>>>> +
>>>> +    chosen {
>>>> +        bootargs = "console=ttyS1,57600";
>>>> +    };
>>>> +    gpio-export {
>>>> +        compatible = "gpio-export";
>>>> +        #size-cells = <0>;
>>>> +
>>>> +        gpio0 {
>>>> +            gpio-export,name = "gpio0";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 0 0>;
>>>> +        };
>>>> +
>>>> +        /* GPIOs 1-6 are I2C,SPI */
>>>> +
>>>> +        /* GPIO 7-14 are uart1 */
>>>> +
>>>> +        /* GPIOs 15 & 16 are uart2 */
>>>> +
>>>> +        /* JTAG */
>>>> +        gpio17 {
>>>> +            /* JTAG_TDO */
>>>> +            gpio-export,name = "gpio17";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 17 0>;
>>>> +        };
>>>> +        gpio18 {
>>>> +            /* JTAG_TDI */
>>>> +            gpio-export,name = "gpio18";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 18 0>;
>>>> +        };
>>>> +        gpio19 {
>>>> +            /* JTAG_TMS */
>>>> +            gpio-export,name = "gpio19";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 19 0>;
>>>> +        };
>>>> +        gpio20 {
>>>> +            /* JTAG_TCLK */
>>>> +            gpio-export,name = "gpio20";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 20 0>;
>>>> +        };
>>>> +        gpio21 {
>>>> +            /* JTAG_TRST_N */
>>>> +            gpio-export,name = "gpio21";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio0 21 0>;
>>>> +        };
>>>> +
>>>> +        /* ETH LEDs */
>>>> +        /*
>>>> +        gpio22 {
>>>> +            gpio-export,name = "gpio22";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 0 0>;
>>>> +        };
>>>> +        gpio23 {
>>>> +            gpio-export,name = "gpio23";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 1 0>;
>>>> +        };
>>>> +        gpio24 {
>>>> +            gpio-export,name = "gpio24";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 2 0>;
>>>> +        };
>>>> +        gpio25 {
>>>> +            gpio-export,name = "gpio25";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 3 0>;
>>>> +        };
>>>> +        */
>>>> +        gpio26 {
>>>> +            /* ETH4_LED */
>>>> +            gpio-export,name = "gpio26";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 4 0>;
>>>> +        };
>>>> +
>>>> +        gpio27 {
>>>> +            /* spi_cs1 */
>>>> +            gpio-export,name = "gpio27";
>>>> +            gpio-export,direction_may_change = <1>;
>>>> +            gpios = <&gpio1 5 0>;
>>>> +        };
>>>> +    };
>>>> +
>>>> +};
>>>> diff --git a/target/linux/ramips/image/rt305x.mk
>>>> b/target/linux/ramips/image/rt305x.mk
>>>> index da7fc46..db12a8e 100644
>>>> --- a/target/linux/ramips/image/rt305x.mk
>>>> +++ b/target/linux/ramips/image/rt305x.mk
>>>> @@ -100,6 +100,21 @@ define BuildFirmware/HLKRM04/initramfs
>>>>       mkhilinkfw -e -i$(call imgname,$(1),$(2))-uImage.bin -o $(call
>>>> imgname,$(1),$(2))-factory.bin;
>>>>   endef
>>>>
>>>> +# This is called to build the nixcore image.  Build both 8MB and 16MB
>>>> +nixcore_8mb_mtd_size=8060928
>>>> +nixcore_16mb_mtd_size=16449536
>>>> +define BuildFirmware/NIXCOREX1/squashfs
>>>> +# Args are XXX, nixcore-mM and NIXCOREX1-xM
>>>> +    $(call
>>>> BuildFirmware/CustomFlash/$(1),$(1),$(2)-8M,$(3)-8M,$(nixcore_8mb_mtd_size))
>>>>
>>>>
>>>> +    $(call
>>>> BuildFirmware/CustomFlash/$(1),$(1),$(2)-16M,$(3)-16M,$(nixcore_16mb_mtd_size))
>>>>
>>>>
>>>> +    # Can do somethings here after the build?
>>>> +endef
>>>> +define BuildFirmware/NIXCOREX1/initramfs
>>>> +# Args are XXXX, nixcore-mM and NIXCOREX1-xM
>>>> +    $(call BuildFirmware/OF/initramfs,$(1),$(2)-8M,$(3)-8M)
>>>> +    $(call BuildFirmware/OF/initramfs,$(1),$(2)-16M,$(3)-16M)
>>>> +endef
>>>> +
>>>>   vocore_8mb_mtd_size=8060928
>>>>   vocore_16mb_mtd_size=16449536
>>>>   define BuildFirmware/VOCORE/squashfs
>>>> @@ -257,6 +272,7 @@ Image/Build/Profile/NBG-419N=$(call
>>>> BuildFirmware/Default4M/$(1),$(1),nbg-419n,N
>>>>   Image/Build/Profile/MZKW300NH2=$(call
>>>> BuildFirmware/Edimax/$(1),$(1),mzk-w300nh2,MZK-W300NH2,$(mzkw300nh2_mtd_size),CSYS,RN52,0x50000,0xc0000)
>>>>
>>>>
>>>>   Image/Build/Profile/MZKWDPR=$(call
>>>> BuildFirmware/Default8M/$(1),$(1),mzk-wdpr,MZK-WDPR)
>>>>   Image/Build/Profile/NCS601W=$(call
>>>> BuildFirmware/Default8M/$(1),$(1),ncs601W,NCS601W)
>>>> +Image/Build/Profile/NIXCOREX1=$(call
>>>> BuildFirmware/NIXCOREX1/$(1),$(1),nixcorex1,NIXCOREX1)
>>>>   nw718_mtd_size=3801088
>>>>   Image/Build/Profile/NW718=$(call
>>>> BuildFirmware/CustomFlashFactory/$(1),$(1),nw718m,NW718,$(nw718_mtd_size),ARA1B4NCRNW718;1,factory)
>>>>
>>>>
>>>>   Image/Build/Profile/M2M=$(call
>>>> BuildFirmware/Default8M/$(1),$(1),m2m,M2M,Linux Kernel Image)
>>>> @@ -353,6 +369,7 @@ define Image/Build/Profile/Default
>>>>       $(call Image/Build/Profile/MZKWDPR,$(1))
>>>>       $(call Image/Build/Profile/NBG-419N,$(1))
>>>>       $(call Image/Build/Profile/NCS601W,$(1))
>>>> +    $(call Image/Build/Profile/NIXCOREX1,$(1))
>>>>       $(call Image/Build/Profile/NW718,$(1))
>>>>       $(call Image/Build/Profile/MINIEMBWIFI,$(1))
>>>>       $(call Image/Build/Profile/MINIEMBPLUG,$(1))
>>>> diff --git a/target/linux/ramips/rt305x/profiles/nixcore.mk
>>>> b/target/linux/ramips/rt305x/profiles/nixcore.mk
>>>> new file mode 100644
>>>> index 0000000..22dee9b
>>>> --- /dev/null
>>>> +++ b/target/linux/ramips/rt305x/profiles/nixcore.mk
>>>> @@ -0,0 +1,20 @@
>>>> +#
>>>> +# Copyright (C) 2014 OpenWrt.org
>>>> +#
>>>> +# This is free software, licensed under the GNU General Public
>>>> License v2.
>>>> +# See /LICENSE for more information.
>>>> +#
>>>> +
>>>> +define Profile/NIXCOREX1
>>>> +    NAME:=NixcoreX1
>>>> +    PACKAGES:=\
>>>> +        kmod-usb-core kmod-usb-ohci kmod-usb2 \
>>>> +        kmod-i2c-core kmod-i2c-ralink \
>>>> +        kmod-spi-dev
>>>> +endef
>>>> +
>>>> +define Profile/NIXCOREX1/Description
>>>> +    Package set for Nixcore X1 board
>>>> +endef
>>>> +
>>>> +$(eval $(call Profile,NIXCOREX1))
>>>>
>>>>
>>>> _______________________________________________
>>>> Lede-dev mailing list
>>>> Lede-dev at lists.infradead.org
>>>> http://lists.infradead.org/mailman/listinfo/lede-dev
>>
> 
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
> 



More information about the Lede-dev mailing list